求程序用AT89C51单片机。。用八位数码管实现数字时钟用定时器做 ORG 0000HAJMP MAIN/;跳转到主程序ORG 000BH/;T0中断入口AJMP PTF0/;中断处理首地址主程序MAIN:MOV SP,#05FHMOV 30H,#0/;缓冲单元设置初值12:00:00MOV 31H,#0MOV 32H,#0MOV 36H,#0FH/;设置4000次中断计数MOV 37H,#0A0HMOV TMOD,#02H/;定时器启动MOV TL0,#6MOV TH0,#6SETB TR0/启动T0计时器MOV IE,#82HMOV IP,#20H数码管动态显示LED6:LCALL DISPLAYJNB P1.0,CLEAR/;判断键盘输入JNB P1.1,SET_MINUTEJNB P1.2,SET_HOURAJMP LED6CLEAR:LCALL DISPLAYJNB P1.0,CLEARMOV 30H,#12H/;时钟显示复位 A键MOV 31H,#0MOV 32H,#0SJMP LED6SET_MINUTE:LCALL DISPLAYJNB P1.1,SET_MINUTEMOV A,31H/;调节分加1 B键CJNE A,#59H,MINMOV 31H,#0SJMP LED6SET_HOUR:LCALL DISPLAYJNB P1.2,SET_HOURMOV R1,#30H/;调节时加1 C键MOV A,@R1CJNE A,#23H,HOUR/比较立即数和A,不相等则转移MOV 30H,#0MIN:ADD A,#1/将1加到累加器DA A/累加器十进制调整MOV 31H,ALCALL DELAY1AJMP LED6HOUR:ADD A,#1DA AMOV 30H,ALCALL DELAY1AJMP LED6DISPLAY:MOV DPTR,#TAB/;表的首地址给16位数据指针寄存器DPTRMOV A,30H/;时为的十位。求程序用AT89C51单片机。。用六位数码管实现数字时钟,显示时分秒,用两个按键可分别调整时、分。 #includedefine uint unsigned intdefine uchar unsigned charuchar temp,aa,miao,fen,shi;sbit m=P3^0;sbit n=P3^1;uchar code table[]={/数码管编码表0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void display(uchar miao,uchar fen,uchar shi);void delay(uint z);void init();void main(){init();初始化子程序miao=0;shi=0;fen=0;while(1){display(miao,fen,shi);}}void delay(uint z){uint x,y;for(x=z;x>;0;x-)for(y=110;y>;0;y-);}void display(uchar miao,uchar fen,uchar shi)/显示子函数{P0=0x00;P0=table[miao%10];P2=0x7f;delay(1);P0=0x00;P0=table[miao/10];P2=0xbf;delay(1);P0=0x00;P0=table[fen%10];P2=0xdf;delay(1);P0=0x00;P0=table[fen/10];P2=0xef;delay(1);P0=0x00;P0=table[shi%10];P2=0xf7;delay(1);P0=0x00;P0=table[shi/10];P2=0xfb;delay(1);}void init()/初始化子函数{temp=0;TMOD=0x01;TH0=(65536-45872)/256;TL0=(65536-45872)%256;定时器初值,定时50ms(12M晶振),由于考虑MCU指令处理时间,此处赋初值位45872EA=1;ET0=1;TR0=1;}void timer0()interrupt 1/定时计数器中断{TH0=(65536-45872)/256;TL0=。如何在8位数码管上显示数字时钟? 用proteus 画仿真图时,用8位一体数码管时,可以不考虑驱动问题,可以直接与P0,P2口连接,你这用8个三极管,又用总线,又加网络标号,仿真图很复杂很麻烦,但却不能正常仿真。参照下图改一下,这样画,仿真图非常简单,清晰。8个数码管显示时钟 file name:demo003.c chip type:ATMEGA8515L clock frequenoy:11.0592MHZ creator:ccdzdpj date created:2005-12-05 include include include include 。自己焊接数字时钟,显示分钟两个数码管亮度正常能显示数字,显示小时 有3种可能,一是焊接的问题,不亮的那个数码管有虚焊的,主要查一下公共端的焊接情况。二是数码管的位驱动电路是什么?控制不亮那个数码管的一端有虚焊的。三是程序有问题,查一下程序。如何在8位数码管上显示数字时钟? 最低0.27元开通文库会员,查看完整内容>;原发布者:zhanhaichuang本人依据AT89C51和8位数码管为素材,以最少的见实现最多的功能!本程序开机流动显示学号可实现时钟,日历,定时闹钟,秒表等功能!C程序:#includeunsignedcharled[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00};用一维数组定义-9、横杠、全灭unsignedcharnum[12]={2,0,0,9,3,5,0,7,0,1,2,0};unsignedchara[8];unsignedcharsecond=0,minute=0,hour=0,year=0,mon=1,day=1,day1,hsec,sec_m,min_m,N,temp1;unsignedcharminute1=0,hour1=0;unsignedcharb[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};扫描unsignedchark=0;unsignedinttemp;记录毫秒为秒的变量unsignedcharM,S_flag;M是模式,更新时间的种模式加上正常模式S_flag闪烁标志sbitK0=P3^7a686964616fe58685e5aeb9313334336237637;K0是闹钟起停标志位sbitK1=P3^0;sbitK2=P3^1;sbitK3=P3^2;sbitBEEP=P3^3;voiddelay(unsignedn)/0.2毫秒{intx,y;for(x=0;x;x+)for(y=0;y;y+);}voidinit1(){S_flag=0;闪烁标志位TMOD=0x10;定时器以方式定时TH1=0xfc;TL1=0x18;EA=1;打开总中断ET1=1;允许定时器中断TR1=1;开启定时器(开始定时计数)}。
随机阅读
- 婆梅氏比重计怎么用 婆梅氏比重计测量水灰比对照表
- 上海捷创科技有限公司怎么样,待遇好吗。 捷创腾科技
- 北京四海一家餐饮有限公司怎么样?
- 气压撑杆安装方法 气压杆尺寸
- 彩光脱毛效果好吗 彩光脱毛效果好不好
- 永川金科公园王府怎么样?好不好?值不值得买? 金科王府 业主论坛
- 女生跳舞 魔法星空的色彩 有部日本动漫,女主角是长头发的,是粉红色的,不知道名字了
- 邹城最繁华的街道是哪里?商业圈在哪里?女人逛街的地方? 邹城购物街
- 我父母在成都电视台都市生活频道看到一个电视购物广告,并按照广告中的电话购买了一个A机器人我该怎么办? 成都电视台购物频道
- 高压试验线 电缆高压怎么试验
- 聚丙烯酰胺和聚氧化乙烯有什么不同 聚氧化乙烯的结构
- 长沙到汉寿县毛家滩乡史家桥村怎么走 汉寿毛家滩在哪坐车
- 湛江市霞山区哪里有母婴港货店 请问在湛江霞山有哪个超市比较好
- 商南县试马镇八龙村水泥路 蒲城县为什么将四个乡镇划分给铜川市?
- 东莞市万江街道港口大道官桥 东莞市万江的邮政编码是多少
- 佳莱频谱频谱负电位床垫 最痛的手术是哪种?
- 阜南成城中学校长马新 阜南十小给成成中学、相离有多远
- 星级文明机关创建情况汇报 创建文明社区,文艺汇演主讲报告
- LOL中除了幽梦之灵是妖梦的剑,拉克丝原型是魔理沙,还有别的与东方的关系吗 战斗学院拉克丝原型
- 要112个字的诗词 天仗里常瞻凤辇