用6个七段LED数码管作为显示设备,设计时钟功能。
设定几个按键,可以用于复位和分别设定小时、分钟和秒。
最好使用微控制器实现它。
关键设置可以将您的首选项放置,最多,取决于定时的功能,就好像您只是设置了一个按下按钮将二极管用七个段数字管中的二极管。
51单片机6位数码管显示时间
C5 1 微控制器六位数的数字管子时钟除以管子的数字点。
包括 typedefunsigntutint; typedefunsignsignedcharuchar;#dendepekep2 #denterkekekaks0x07 sbitle1 = p2 ^6 ; //定义位控制端口sbitle2 = p2 ^7 ; ucharkerylease = 0x00; timer.cucharcarcodenum [] = {0xc0.0xf9 .0xa4 .0xb0.0x9 9 .0x8 2 .0xf8 .0x8 0.0x9 0}; voiddelay(uintt)//延迟t时钟{hh ++; 其他{hh = 0;}} voidm_increase(无效)//每分钟增加1 {if(mm <5 9 )mm ++; 其他{mm = 0; h_增加();}} voids_incree(无效)// //在秒内增加1 个{if(ss <5 9 )ss ++; 其他{ss = 0; m_increase();}} voidisplay(ucharsg,uchardigi)//显示一个数字管,seg = 0-9 数字,digi = bit 0-6 {{{{; le2 = 0; p0 = 0x00; le1 = 1 ; p0 = num [seg]; if(digi == 1 || digi == 3 )p0&= 0x7 f; //表示分离器的延迟(5 0); p0 = 0xff; le1 = 0;} voidmain(无效){p0 = 0xff; le1 = 0; le2 = 0; t0_init(); 而(1 ){if(mode!= 1 || if(mode!= 2 || t_cycle){屏幕(mm/1 0.2 ); // //指示每分钟十字屏幕(mm%1 0,3 ); //显示单分钟} screen(ss/1 0.4 ); 秒} voidkey_process键; (); TR0 = 1 = 0x8 2 ;} voidt0_intsrv(无效)Interruption1 {// TIMER TH0 = 0xD8 ; loop} if(u_1 0ms> 9 9 )// 1 000ms = 1 秒{u_1 0ms = 0; s_increase();} key_process();
4*4矩阵键盘控制6位数码管电路图及程序
#include #define uint unsigned int #define uchar uchar unchart charbit dulla = p2 ^6 ; sbit wela = p2 ^7 ; sbit key1 = p3 ^4 ; uchar code tabell, 0x6 {0x6 , 0x0x, 0x0x, 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x6 , 0x7 7 ,0x7 c, 0x3 9 .0 x5 e,0x7 9 .0x7 1 .0}; UCHAN NUM,TEMP,NUM1 ; 无效延迟(UINT Z){UINT X,Y; a = 1 ; C0延迟(5 ); UM = 3 ; !! = 0xf0){delay(5 ); 案例0xBD:num = 7 ; XF0; = temp&0xf0; 议员! = 0xf0){temp = p3 ; ;
如果要将6位数码管显示器:时,分,秒电路调整时间,只有4个K键如何来设置?
这是完全可能的。
如果使用4 ,则编程非常简单,您可以输入,确定输出,然后将光标调整为时间,分钟和秒,然后将时间累积到一个方向上。
无论如何,该功能应安排。
设计单片机控制6位数码管动态显示电路,并编程实现让数码管同时显示
#包括#depineucharunsignedChar {0xc0,0xf9 ,0xa4 ,0xB0,0x9 9 2 ,0xf8 ,0xf8 ,0x0,0x9 0 ,0xc6 ,0xc6 ,0xc6 ,0xc6 ,0xc6 ,0xc6 6 ,0x8 e,0xff}; voiddelayms(uintx){uchart; 而(x-)for(t = 1 2 0; t> 0; t-);} voidmain(){uchari = 0; p0 = 0x00;