本文目录一览
例如,给出了4 位数字管的数字时钟,将前两个数字设置为一个小时,并在一分钟内将最后两个数字设置。
首先,生成1 Hz的方波的平方信号,导致小数点在其扳机上闪烁。
基于此1 Hz,可以获得一个6 0 Hz中的信号(信号1 Hz信号,输出每3 0个帐户将倒置,并接收6 0个Hz信号)。
所需的时钟。
在这个小时的扳机上,将最小数字管添加到中间数字管中,直到6 0变为0,然后重新开始计算。
清洁时,您应该生成并添加转移并每小时添加。
每小时的数字在另一个时间保持不变。
由于最初的时间和分钟为0,unsedIntmin = 0; 在患者期望在1 分钟内预期之后,将会发生变化。
数字管显示的4 位程序编写不正确。
Модифицированная программа: #include unsignedChartable [] = {0xc0,0xf9 ,0xa4 ,0xb0,0x9 9 ,0x9 2 ,0x8 2 ,0xf8 ,0x8 0,0x9 0}; //正面段的代码的完整表= p3 ^1 ; = p3 ^2 ; unsignedChari = 0; //只需使用char unsignedchars = 0; unsignedcharmin = 2 ; 记录了UnsignedCharHou = 1 ; {s = 0; min ++;} if(min == 6 0){min = 0; hou ++;} if(hou == 2 4 ){hou = 0;}} voidSeet_time(){downer(1 ); = 0){if(cho == 0){min ++; 查看 (); 延迟(1 );}}延迟(1 ); ){tmod = 0x01 ; th0 =(6 5 5 3 6 -5 0000)/2 5 6 ; TL0 =(6 5 5 3 6 -5 0000)%2 5 6 ; EA = 1 ; ET0 = 1 ; tr0 = 1 ; 抱怨(1 ){p2 = 0x01 ; //总数字管,位控制 - 1 个有效p0 =表[hou/1 0]; 延迟(1 ); p2 = 0x02 ; p0 =表[HOU%1 0]; 延迟(1 ); p2 = 0x04 ; p0 =表[min/1 0]; 延迟(1 ); p2 = 0x08 ; p0 =表[Min%1 0]; 延迟(1 );}} voidTimer0_int(void)enterrupt1 {i ++; if (ent == 0) {set_time ();} if (i == 1 0) {s ++; ceck () ; i = 0;}}}
#feilu8 sussignedchar#feisu1 6 unsignedint sbitmr = p1 ^6 ; //删除选项卡0避免数据时钟voidwrit_5 9 5 (u8 dat){u8 i; r = 1 ; 移动输入时钟,增加边缘输入dat
; sbitk3 = p1 ^ 2 ; sbitk4 = p1 ^ 3 ; sbitk5 = p1 ^ 4 ; sbitk6 = p1 ^ 5 ; sbitpoit = p0 ^ 7 ; uintyear = 2 01 1 ,年= 0; ucharmon = 6 ,mon0 = 0,day = 2 6 ,day0 = 0,时间= 2 3 ,hour0 = 0,min = 1 5 ,min0 = 0,dry = 0,dry0 = 1 0,temp0 = 0; UCHARR; ucharcod1 [] = {0xc0.0xf9 .0xa4 .0xb0.0x9 9 .0x9 2 .0x8 2 .0xf8 .0x8 0.0x9 0}; uChartemp [] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x。
,0x00.0x00.0x 00}; voiddelay(uintz){uintx,y; 对于(x = 0; xz; x ++)for(y = 0; y1 00; y ++);} voidexter_init(){it0 = 1 ; ex0 = 1 ;} voidTime_init(){tmod = 0x01 ; th0 = timh; tl0 = timml; ET0 = 1 ; EA = 1 ; tr0 = 1 ;} vo dre_time(uchara){uchari,j; for(j = 0; ja; j ++){for(i = 0; i1 4 ; i ++){p0 = cod1 [temp [i]]; if(i == 3 || i == 5 )){sec0 = dry; 温度[1 2 ] = Dry0/1 0; temp [1 3 ] = dry0%1 0;} if(年!= an0){年=年; 临时[0] =年 / 1 000; 临时[1 4 ] = an0%1 000; temp [1 ] = temp [1 4 ] / 1 00; 温度[1 4 ] = temp [1 4 ]%1 00; te mp [2 ] = temp [1 4 ] / 1 0; temp [3 ] = temp [1 4 ]%1 0;} if(my!= mon0){mon0 = mon; 温度[4 ] = mon0 / 1 0; temp [5 ] = mon0%1 0;} if(day!= day0){day0 = day; 临时[6 ] = Day0 / 1 0; temp [7 ] = day0%1 0;} if(hou r!= hour0){hour0 = hour; 临时[8 ] =小时0/1 0; temp [9 ] = hour0%1 0;}如果(min!= min0){min0 = min; 温度[1 0] = min0 / 1 0; temp [1 1 ] = min0%1 0;}} main(){exter_init(); time_i 收养我最好的,哈哈。
- 数字钟原理
- 时钟小程序经过测试数码管一直显示0(89c52)怎么改?
- 求用一片74hc595加单片机驱动一个4位数码管的动态扫描程序!!!
- 用c语言编写程序,用于c51单片机四位共阴数码管显示,显示分秒的计时器。
数字钟原理
数字时钟的主要功能是显示可以通过苛刻的级联来实现的时间。例如,给出了4 位数字管的数字时钟,将前两个数字设置为一个小时,并在一分钟内将最后两个数字设置。
首先,生成1 Hz的方波的平方信号,导致小数点在其扳机上闪烁。
基于此1 Hz,可以获得一个6 0 Hz中的信号(信号1 Hz信号,输出每3 0个帐户将倒置,并接收6 0个Hz信号)。
所需的时钟。
在这个小时的扳机上,将最小数字管添加到中间数字管中,直到6 0变为0,然后重新开始计算。
清洁时,您应该生成并添加转移并每小时添加。
每小时的数字在另一个时间保持不变。
时钟小程序经过测试数码管一直显示0(89c52)怎么改?
您的数字管为4 位,只能显示小时和分钟。由于最初的时间和分钟为0,unsedIntmin = 0; 在患者期望在1 分钟内预期之后,将会发生变化。
数字管显示的4 位程序编写不正确。
Модифицированная программа: #include
求用一片74hc595加单片机驱动一个4位数码管的动态扫描程序!!!
以下是您可以使用的5 9 5 程序。#feilu8 sussignedchar#feisu1 6 unsignedint sbitmr = p1 ^6 ; //删除选项卡0避免数据时钟voidwrit_5 9 5 (u8 dat){u8 i; r = 1 ; 移动输入时钟,增加边缘输入dat
用c语言编写程序,用于c51单片机四位共阴数码管显示,显示分秒的计时器。
用Proteus制作的时钟可以显示一年,月份,一天,时间,分钟和第二个。; sbitk3 = p1 ^ 2 ; sbitk4 = p1 ^ 3 ; sbitk5 = p1 ^ 4 ; sbitk6 = p1 ^ 5 ; sbitpoit = p0 ^ 7 ; uintyear = 2 01 1 ,年= 0; ucharmon = 6 ,mon0 = 0,day = 2 6 ,day0 = 0,时间= 2 3 ,hour0 = 0,min = 1 5 ,min0 = 0,dry = 0,dry0 = 1 0,temp0 = 0; UCHARR; ucharcod1 [] = {0xc0.0xf9 .0xa4 .0xb0.0x9 9 .0x9 2 .0x8 2 .0xf8 .0x8 0.0x9 0}; uChartemp [] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x。
,0x00.0x00.0x 00}; voiddelay(uintz){uintx,y; 对于(x = 0; xz; x ++)for(y = 0; y1 00; y ++);} voidexter_init(){it0 = 1 ; ex0 = 1 ;} voidTime_init(){tmod = 0x01 ; th0 = timh; tl0 = timml; ET0 = 1 ; EA = 1 ; tr0 = 1 ;} vo dre_time(uchara){uchari,j; for(j = 0; ja; j ++){for(i = 0; i1 4 ; i ++){p0 = cod1 [temp [i]]; if(i == 3 || i == 5 )){sec0 = dry; 温度[1 2 ] = Dry0/1 0; temp [1 3 ] = dry0%1 0;} if(年!= an0){年=年; 临时[0] =年 / 1 000; 临时[1 4 ] = an0%1 000; temp [1 ] = temp [1 4 ] / 1 00; 温度[1 4 ] = temp [1 4 ]%1 00; te mp [2 ] = temp [1 4 ] / 1 0; temp [3 ] = temp [1 4 ]%1 0;} if(my!= mon0){mon0 = mon; 温度[4 ] = mon0 / 1 0; temp [5 ] = mon0%1 0;} if(day!= day0){day0 = day; 临时[6 ] = Day0 / 1 0; temp [7 ] = day0%1 0;} if(hou r!= hour0){hour0 = hour; 临时[8 ] =小时0/1 0; temp [9 ] = hour0%1 0;}如果(min!= min0){min0 = min; 温度[1 0] = min0 / 1 0; temp [1 1 ] = min0%1 0;}} main(){exter_init(); time_i 收养我最好的,哈哈。