单片机应用系统设计实例.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 单片机应用系统设计实例 11.1 单片机电子时钟的设计 五.汇编语言源程序清单 六.C语言源程序清单 //1ms延时函数 delay1ms(int t) { int i,j; for (i=0;i<t;i++) for (j=0;j<120;j++) ; } //按键处理函数 keyscan( ) //按1下调分,按2下调时 { EA=0; if (key0==0) //按下K0 { delay1ms(10); //K0去抖 while (key0==0) con++;TR0=0;ET0=0; if (con>=3) {con=0;TR0=1;ET0=1;} } } if (con!=0) { if (key1==0) {delay1ms(10); //K1去抖 //数码管显示函数 scan( ) { char k; dis[0]=timedata[0]%10;dis[1]=timedata[0]/10; //秒 dis[3]=timedata[1]%10;dis[4]=timedata[1]/10; //分 dis[6]=timedata[2]%10;dis[7]=timedata[2]/10; //时 for (k=0;k<8;k++) { P0=dis_7[dis[k]];P2=scan_con[k];delay1ms(1);P2=0xff; } } //主函数 main( ) { TH0=0x3c;TL0=0xb0; //T0定时50ms TMOD=0x01;ET0=1;TR0=1;EA=1; while (1) { scan( ); keyscan( ); } } 11.2 多路数字电压表的设计 四.汇编语言源程序清单 五.C语言源程序清单 ;LED扫描显示子程序 DISP: MOV R1,#78H ;个位显示 MOV R5,#0FEH ;位选初值(显示个位) PLAY: MOV P1,#0FFH MOV A,R5 ANL P3,A MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR;远程查表 MOV P1,A ;输出字段口 JB P3.2,PLAY1 ;为1跳(整数位不亮) CLR P1.7 ;点亮小数点 PLAY1: LCALL DL1MS INC R1 ;十位显示 MOV A,P3 JNB ACC.3,ENDOUT ;通道号位为0跳 RL A MOV R5,A MOV P3,#0FFH ENDOUT: MOV P3,#0FFH MOV P1,#0FFH RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H, 82H,F8H,80H,90H,0FFH ;共阳极七段字段码表 ;延时子程序 DL10MS: MOV R6,#0D0H ;1μs DL1: MOV R7,#10H ;12μs DL2: DJNZ R7,DL2 ;16次×2μs=32μs DJNZ R6,DL1 ;2μs RET ;2μs DL1MS: MOV R4,#0FFH ;1μs DL3: DJNZ R4,DL3 ;255次×2μs=510μs

文档评论(0)

kaku + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8124126005000000

1亿VIP精品文档

相关文档