单片机课程设计参考程序.doc_第1页
单片机课程设计参考程序.doc_第2页
单片机课程设计参考程序.doc_第3页
单片机课程设计参考程序.doc_第4页
单片机课程设计参考程序.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

设计思路:1、255计数:255可用8位二进制数表示,故本设计可直接采用可以重装载的计数器T1模式二进行计数。然后对TL1的内容进行相应的二进制-十进制转换:首先TL1的内容除以64H,所的商就是十进制的百位,然后用余数除以0AH,所得的商就是十进制数的十位,余数即相应的十进制的个位。接着将相应的十进制数进行译码,并在LED数码管上显示出来。每来一个脉冲其显示的结果加一,直加至255然后T1重新开始计数。开始初始化堆栈,定时器初始化清零相关RAM地址单元TF1=1?调用显示子程序脉冲数加1即20H加120H=100?21H加120清零计算出脉冲数的个,十,百位分别存放于30H,31H,32H(20H=54)&(21H=2?)脉冲数计到255后重新计数即20H,21H清零说明:1. 20H存放脉冲的个位和十位数值,21H存放脉冲的百位和千位数值。 2.计算脉冲数的个位和十位数值:(20H)/10的商即十位数值存放于31H,余数即个位数值存放于30H。 3. 计算脉冲数的百位数值:(20H)/10的余数即百位数值存放于32H。例如:脉冲数212(十进制),(20H)=12,(21H)=2。脉冲的个位数值(30H)=2, 脉冲的十位数值(31H)=1, 脉冲的百位数值(32H)=2. 图3 255计数程序流程图课程设计参考程序,希望大家好好研读,尽量完全融会贯通。一、255计数ORG 0000H LJMP STARTORG 0030HSTART: MOV TMOD,#50HSETB TR1SETB TR0MOV A,TL1LCALL BCDLCALL DISPLAY LJMP STARTBCD: MOV B,#64HDIV ABMOV 72H,AXCH A,BMOV B,#0AHDIV ABMOV 71H,AMOV 70H,BRETDISPLAY: MOV R1,#70h ;指向显示缓冲区的首地址 MOV R5,#00h ;数码管显示从最低位开始play: MOV A,R5MOV p2,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTRMOV p0,ALCALL dl5ms MOV p0,#0ffh ;消隐INC R1INC R5CJNE R5,#03h,playRET;1ms 延时程序,LED显示用dl5ms: push 06hpush 07hmov r6,#32hdl1: mov r7,#10hdl2: djnz r7,dl2djnz r6,dl1nopnopnoppop 07hpop 06hRETEND TAB: DB 0C0h,0F9h,0A4h,0B0h,099h,092h,082h,0F8h,080h,90h ;0 1 2 3 4 5 6 7 8 9 不亮二、0-999999循环计数 ORG 0000H LJMP START ORG 0030H START: MOV 70H,#00H MOV 71H,#00H MOV 72H,#00H MOV 73H,#00H MOV 74H,#00H MOV 75H,#00H MOV TL1,#0FFH START1: MOV TMOD,#50H SETB TR1 LCALL DISPLAY MOV R4,TL1 CJNE R4,#00H,START1 LCALL BCD LJMP START1 BCD: MOV TL1,#0FFH INC 70H MOV A,70H CJNE A,#0AH,RETURN MOV 70H,#00H INC 71H MOV A,71H CJNE A,#0AH,RETURN MOV 71H,#00H INC 72H MOV A,72H CJNE A,#0AH,RETURN MOV 72H,#00H INC 73H MOV A,73H CJNE A,#0AH,RETURN MOV 73H,#00H INC 74H MOV A,74H CJNE A,#0AH,RETURN MOV 74H,#00H INC 75H MOV A,75H CJNE A,#0AH,RETURN MOV 75H,#00H RETURN: RETDISPLAY: MOV R1,#70h ;指向显示缓冲区的首地址 MOV R5,#00h ;数码管显示从最低位开始play: MOV A,R5 MOV p2,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV p0,A LCALL dl5ms INC R1 INC R5 CJNE R5,#06h,play RET;1ms 延时程序,LED显示用dl5ms: PUSH 06h PUSH 07h MOV R6,#32hdl1: MOV R7,#10hdl2: DJNZ R7,dl2 DJNZ R6,dl1 NOP NOP NOP POP 07h POP 06h RET TAB: DB 0C0h,0F9h,0A4h,0B0h,099h,092h,082h,0F8h,080h,90h ;0 1 2 3 4 5 6 7 8 9 不亮三、出租车计费汇编程序: ORG 0000H LJMP START ORG 0030HSTART: MOV 70H,#05H MOV 71H,#00H MOV 72H,#00H MOV 73H,#00H MOV 74H,#05H MOV 75H,#00H MOV R3,#50H MOV TL1,#0FFH START1: MOV TMOD,#50H SETB TR1 LCALL DISPLAY MOV R4,TL1 CJNE R4,#00H,START1 MOV TL1,#0FFH INC 69H MOV A,69H CLR C SUBB A,#05H JC START1 LCALL BCD LJMP START1 BCD: LCALL T4 MOV TL1,#0FFH INC 70H MOV A,70H CJNE A,#0AH,RETURN MOV 70H,#00H INC 71H MOV A,71H CJNE A,#0AH,RETURN MOV 71H,#00H INC 72H MOV A,72H CJNE A,#0AH,RETURN MOV 72H,#00H RETURN: RET T4: MOV A, R3 ADD A, #08H DA A JNC T5 INC 75H T5: MOV R3,A MOV A,R3 ANL A,#0FH MOV 73H,A MOV A,R3 ANL A,#0F0H SWAP A MOV 74H,A RET DISPLAY: mov A,#00H mov p2,A mov A,70H mov DPTR,#TAB movc A,A+DPTR mov p0,A lcall dl5ms mov A,#01H mov p2,A mov A,71H mov DPTR,#TAB movc A,A+DPTR mov p0,A lcall dl5ms mov A,#02H mov p2,A mov A,72H mov DPTR,#TAB movc A,A+DPTR mov p0,A lcall dl5ms mov A,#03H mov p2,A mov A,73H mov DPTR,#TAB movc A,A+DPTR mov p0,A lcall dl5ms mov A,#04H mov p2,A mov A,74H mov DPTR,#TAB movc A,A+DPTR ANL A,#7FH mov p0,A lcall dl5ms mov A,#05H mov p2,A mov A,75H mov DPTR,#TAB movc A,A+DPTR mov p0,A lcall dl5ms ;mov p0,#0ffh ;消隐 RET;1ms 延时程序,LED显示用dl5ms: PUSH 06h PUSH 07h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论