六位LED数字钟的设计与制作。求单片机程序。
求AT89C51单片机LED6位数码管显示数字钟的原理图 程序!
求51单片机数字时钟设计,要求用8位数码管,能显示年月日时分秒,带调时,双独时钟功能,4个按键 求51单片机数字时钟设计,要求用8位数码管,能显示年月日时分秒,带调时,。
单片机数字时钟设计程序!要求:用6个LED数码管作为显示器,以AT89S52单片机作为主控器,以D 单片机数字时钟设计程序!要求:用6个LED数码管作为显示器,以AT89S52单片机。
求程序用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/;时为的十位。
用51单片机设计数字钟,六位数码管显示时分秒,四个发光二极管做为秒点一秒钟闪烁一次。用protues软件仿真 汇编是我心中永远的痛啊!可以给一个C的,不过这只是大概的框架,细节问题在没有在实际中用是很难发现的!includedefine uchar unsigned chardefine uint unsigned intsbit p10=P1^0;定义端口,p10控制四个LED闪烁uchar secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0;uint num=0,sec=0,min=0,hour=0;uint time=5000;unsigned char code LEDBUF[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};定义数码管显示的0-9的代码void delay(unsigned int z){/延时程序unsigned int x,y;for(x=z;x>;0;x-)for(y=110;y>;0;y-);如果是12MHz晶振,就是110us对应z=1}void display();void main(){TMOD=0x02;T0定时器,模式2定时,8位定时TH0=55;定时1S的数据设置,定时200个机器周期后中断一次,0.2msTL0=55;EA=1;ET0=1;TR0=1;开启总中断,允许T0中断,开启T0中断while(1){display();显示时间 }}void time0()interrupt 1{num+;T0中断服务程序,定时中断一次后num加一time-;If(time){ P10=0;}else{ p10=1;}If。time){time=5000;sec+;if(sec=60){sec=0;min+;到60s,min加一,sec清零if(min=60){min=0;hour+;到60分,hour加一,分清零if。
基于单片机的数字时钟的设计:要求:6个八段数码管,显示:时、分、秒。能够调节时间,还能设定闹钟! 液晶显示的行不?也差不多的,我懒得改了,你自己改改就行,还有是基于DS1302的单片机可调时钟吧
用51单片机设计数字钟,六位数码管显示时分秒,四个发光二极管做为秒点一秒钟闪烁一次。用protues软件仿真 我来帮你速度搞定
单片机数字时钟设计 ORG 0X00LJMP STARTORG 0X3030H;设置堆栈MOV P1,#0XFE;设置在数码管的第0位显示MOV A,#0X01;A置初值为0000 0001LOOP:MOV P0,A;在数码管上显示寄存器A中的二进制数MOV R3,#0X5C;延时1SACALL EXTDELAY;延时观察和记录对应的显示结果RL A;将A寄存器的值循环左移一位SJMP LOOP;循环显示DELAY:MOV R1,#0XC8;延时20MSDL2:MOV R2,#0X18DL1:NOPNOPDJNZ R2,DL1DJNZ R1,DL2RETEXTDELAY:ACALL DELAYDJNZ R3,EXTDELAYRETENDORG 0X00SJMP STARTORG 0X30START:MOV SP,#30H;设置堆栈MOV P1,#0XFE;位选信号,选中第0个数码管MOV P0,#0X6F;在数码管上显示\"9LOOP:SJMP LOOP;循环执行程序ENDORG 0X00LJMP STARTORG 0X30START:MOV SP,#30H;设置堆栈MOV P1,#0XFE;设置在数码管的第0位显示MOV DPTR,#TABLE;送TABLE地址到DPTR指针MOV R7,#0X00;标志变量,限制指针在TABLE区LOOP:CLR AMOVC A,@A+DPTR;取TABLE区的字形码MOV P0,A;在数码管上显示寄存器A中的二进制数INC R7;指针控制加一MOV R3,#0X5C;延时ACALL EXTDELAY;延时观察和记录对应的显示结果CJNE R7,#0X10,NEXT;如果TABLE中数未取到最后一个,继续取下一个MOV R7,#0X00;如果已经取过所有。