ZKX's LAB

单片机 用c语言实现数字时钟 图已经给出 单片机数字时钟设计c语言

2020-07-22知识10

求一个C语言设计的单片机数字钟 用什么显示啊求助单片机c语言数字时钟设计程序连接图!!!! 我有汇编语言的,你可以参考下:ORG 0000HLJMP MAIN;上电,转主程序ORG 0003H;外部中断0入口地址LJMP KEY1;跳转至校时程序ORG 001BH;定时器1中断入口地址LJMP TIME;跳转至时间服务程序ORG 0013H;外部中断1入口地址LJMP KEY2;跳转至校分程序ORG 0200HMAIN:MOV TMOD,#10H;设置T1为工作模式1MOV TH1,#3CHMOV TL1,#0F0H;赋初值,定时50msMOV R7,#20;设置中断次数MOV A,#00HMOV 30H,A;秒个位单元清零MOV 31H,A;秒十位单元清零MOV 32H,A;分个位单元清零MOV 33H,A;分十位单元清零MOV 34H,A;时个位单元清零MOV 35H,A;时十位单元清零SETB EA;CPU开中断SETB ET1;允许T1中断SETB EX0;允许外部中断0中断SETB IT0;选择边沿触发方式SETB EX1;允许外部中断1中断SETB IT1;选择边沿触发方式SETB TR1;启动T1定时LCALL DISPLAYSJMP$;等待TIME:MOV TH1,#3CHMOV TL1,#0F0H;重新赋初值SECOND:DJNZ R7,RETURN;判断是否达到1sMOV R7,#20INC 30H;秒个位单元加1MOV A,30HCJNE A,#10,RETURN;如果秒个位等于10,则清零MOV 30H,#00HINC 31H;秒十位单元加1MOV A,31HCJNE A,#6,RETURN;如果秒十位等于6,则清零MOV 31H,#00HINC 32H;分个位单元加1MINENT:MOV A,32H。用C语言编写AT89C51单片机程序,设计一个智能数字钟。 基本要求:1.C语言程序要求是模块化设计。2.该闹钟基于AT89C51单片机及相关外围电路进行设计。3.该闹钟有6个数码管(共阳极),可分别显示时间(时、分、秒)、及定时时间(分、秒)。4.该闹钟有4个按钮,S1是切换显示按键,该键按下时可分别实现切换正常走时显示、设定走时显示、设置定时时间,启动定时,回到正常状态等功能。S2是设定键,即该键按下,将分别选中需要设定的选项。S3键是加键,即按下去表示相应选项加1。S4键是减键,即按下去表示相应的选项减1。5.该闹钟可以定时时间到,LED将发出提示闪光,且持续30s。发挥要求:1.定时时间可被打断,即打断后恢复时继续计时。2.设置闹钟报警功能;3.能切换显示年月日等信息。

#单片机#at89c51#char#unsigned#num

随机阅读

qrcode
访问手机版