Proteus—40个单片机初学程序-20.数字钟.docVIP

  • 3
  • 0
  • 约6.64千字
  • 约 8页
  • 2018-05-30 发布于广东
  • 举报

Proteus—40个单片机初学程序-20.数字钟.doc

第四章 实验及实践课题(20) 数字钟﹝﹞ (1.?????? 开机时,显示12:00:00的时间开始计时; (2.?????? P0.0/AD0控制“秒”的调整,每按一次加1秒; (3.?????? P0.1/AD1控制“分”的调整,每按一次加1分; (4.?????? P0.2/AD2控制“时”的调整,每按一次加1个小时; 2. 电路原理图 P0_0~P0_3要加上拉电阻。 图4.20.1 3. 系统板上硬件连线 (1.?????? 把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上; (2.?????? 把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上; (3.?????? 把“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上; 4. 相关基本知识 (1.?????? 动态数码显示的方法 (2.?????? 独立式按键识别过程 (3.?????? “时”,“分”,“秒”数据送出显示处理方法 5. 程序框图   SECOND EQU 30H MINITE EQU 31H HOUR EQU 32H HOURK BIT P0.2 MINITEK? BIT P0.1 SECONDK? BIT P0.0 DISPBUF? EQU 40H DISPBIT? EQU 48H T2SCNTA? EQU 49H T2SCNTB? EQU 4AH TEMP EQU 4BH ? ORG 00H LJMP START ORG 0BH LJMP INT_T0 START: MOV SECOND,#00H MOV MINITE,#00H MOV HOUR,#12 MOV DISPBIT,#00H MOV T2SCNTA,#00H MOV T2SCNTB,#00H MOV TEMP,#0FEH LCALL DISP ;2KB范围内长调用 MOV TMOD,#01H MOV TH0,#(65536-2000) / 256 ;2ms MOV TL0,#(65536-2000) MOD 256 SETB TR0 SETB ET0 SETB EA WT: JB SECONDK,NK1 ;SECONDK是1转NK1,即按键SP1按下时转. LCALL DELY10MS JB SECONDK,NK1 INC SECOND MOV A,SECOND CJNE A,#60,NS60 MOV SECOND,#00H NS60: LCALL DISP JNB SECONDK,$ NK1: JB MINITEK,NK2 LCALL DELY10MS JB MINITEK,NK2 INC MINITE MOV A,MINITE CJNE A,#60,NM60 MOV MINITE,#00H NM60: LCALL DISP JNB MINITEK,$ NK2: JB HOURK,NK3 LCALL DELY10MS JB HOURK,NK3 INC HOUR MOV A,HOUR CJNE A,#24,NH24 MOV HOUR,#00H NH24: LCALL DISP JNB HOURK,$ NK3: LJMP WT DELY10MS: MOV R6,#10 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET DISP: ;将得出的时间存入40H (DISPBUF

文档评论(0)

1亿VIP精品文档

相关文档