第一范文网 - 专业文章范例文档资料分享平台

单片机原理与应用-基于汇编、C51及混合编程1-11章习题解答

来源:用户分享 时间:2025/5/22 2:34:08 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

LOOP:MOV A,P1 CJNE A,#0FFH,LOOP1 SJMP LOOP

LOOP1:LCALL DELAY_15ms ;延时去抖动 MOV A,P1 CJNE A,#0FFH,LOOP2 SJMP LOOP

LOOP2: ;确实有按键按下 JNB ACC.0,KEY1 JNB ACC.1,KEY2

JNB ACC.2,KEY3 JNB ACC.3,KEY4

JNB ACC.4,KEY5 JNB ACC.5,KEY6 JNB ACC.6,KEY7 JNB ACC.7,KEY8 LJMP LOOP KEY1: MOV P3,#0F9H LJMP LOOP KEY2: MOV P3,#0A4H LJMP LOOP KEY3: MOV P3,#0B0H LJMP LOOP KEY4: MOV P3,#99H LJMP LOOP KEY5: MOV P3,#92H LJMP LOOP KEY6: MOV P3,#82H AJMP LOOP KEY7: MOV P3,#0F8H LJMP LOOP KEY8: MOV P3,#80H LJMP LOOP

DELAY_15ms:MOV R6,#177 DL0: MOV R5,#0 DJNZ R5,$ DJNZ R6,DL0 RET END

C51程序:

#include

unsigned char temp,temp1; void delay_15ms();

49

void KEY1(); ……

void KEY8(); void main() {

P1=0xFF; while(1) {

temp=P1;

if(temp!=0xFF) {

delay_15ms(); temp=P1;

if(temp!=0xFF) {

switch(temp) {

case 0xFE:KEY1();break; case 0xFD:KEY2();break; case 0xFB:KEY3();break; case 0XF7:KEY4();break; case 0xEF:KEY5();break; case 0xDF:KEY6();break; case 0xBF:KEY7();break; case 0x7F:KEY8();break; } } } } }

void delay_15ms() {

unsigned char a,b,c; for(c=3;c>0;c--)

for(b=212;b>0;b--) for(a=140;a>0;a--); }

void KEY1() {

P3=0xF9; }

void KEY2() {

P3=0xA4;

50

单片机原理与应用-基于汇编、C51及混合编程1-11章习题解答.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c403cs4dp2p77xpo57x11_13.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top