单片机控制一个4位的共阴数码管通电的状态下显示时间的程序
#include{jishu = 0; tmod = 0x01 ; tr0 = 1 ; ET0 = 1 ; EA = 1 ; th0 = 0x3 c; tl0 = 0xb0;} voiddelay(x)//延迟函数。
{uinti,j;对于(i = x; i> 0; i-)for(j = 1 2 0; j> 0; j-);} voidxian()//将小时,分钟和秒发送到数字管以显示。
{uinti; Miaog = Miao%1 0; miaoos = miao / 1 0;冯= fen%1 0; fens = fen / 1 0; shig = shi%1 0; shis = shi / 1 0; for(i = 0; i <8 ; i ++){switch(i){case0:p3 = b [7 ]; p2 = a [miaog];休息;案例1 :p3 = b [6 ]; p2 = a [miaoos];休息; case2 :p3 = b [5 ]; p2 = 0x4 0;休息; k; cas3 :p3 = b [4 ]; p2 = a [feng];休息; cas4 :p3 = b [3 ]; p2 = a [fens];休息; cas5 :p3 = b [2 ]; p2 = 0x4 0;休息;案例E6 :p3 = b [1 ]; p2 = a [shig];休息; case7 :p3 = b [0]; p2 = a [shis];断开;}延迟(1 );};} voidJiance()//检测如果按键按下不同的键以获得不同的处理。
{if(pers1 == 0){delay(2 ); if(压力1 == 0){while(!压力); ji ++; if(ji> = 4 )ji = 0;}} if(ji == 1 ){if(近2 == 0){delay(1 ); while(!supper2 ); miao ++; if(miao> = 6 0){miao = 0; fen ++;}} if(struce3 == 0){delay(1 ); while(!supper3 ); Miao-; if(miao <0){miao = 5 9 ;}}} if(ji == 2 ){if(strape2 == 0){delay(1 ); while(!pre ss2 ); fen ++; if(fen> = 6 0){fen = 0; shi ++;}} i f(近3 == 0){delay(1 );而(!pre s3 );芬 - ; if(fen <0){fen = 5 9 ;}}} if(ji == 3 ){if(近2 == 0){delay(1 ); while(!supper2 ); shi ++; if(shi> = 2 4 ){shi = 0;}} if(supplioned3 == 0){d elay(1 ); while(!pre ss3 );什 - ; if(shi <0){shi = 2 3 ;}}} if(ji == 0)ea = 1 ; eLSEEA = 0;} voidmain(){init();而(1 ){xian(); jitance();}} voidduan()intrupt1 //定时模式1 函数。
{th0 = 0x3 c; TL0 = 0xB0; jishu ++; if(jishu == 2 0){jishu = 0; miao ++; if(miao == 6 0){miao = 0; fen ++; if(fen == 6 0){fen = 0; shi ++;如果(shi == 2 4 )shi = 0;}}}}
在51单片机中1位位数码管显示的编程怎么写啊,
可以通过编写特定程序来实现5 1 微控制器中的1 位数字管显示。在这些程序中可以看到显示4 x4 矩阵开发人员和导管数字管,可以显示从0到F的所有数字。
首先,定义一个数组以替换显示代码数字管:unsignedCharCodedig [] = unsignedCharCodeDig {0xc0,0,0xf9 ,0xFa4 ,0x0,0,0,0,0x9 2 ,0,0,0x8 8 3 ,0x8 8 3 ,0xc6 0,0x,0.0x8 3 .0 x8 3 ,0xc6 0,0x, 0,0x8 3 .0x8 3 .0x8 08 .0x.0x.0x8 6 .08 3 ,0xc6 ,0x6 ,0xa1 ,0x8 6 ,08 e};然后,设置一个全局变量k以保存键盘是键,然后,写开发人员延迟角色:vitriy,因为(t = 0;} {unsignedChara){if(p2 = 0xf0(p2 _delay(); if(p2 = 0x f0) key_delay(); a = p2 ,switch(a){砖,k = xxfd; = case0x7 ; = 0xfd; = 0xfd; = =:= = switchx =; ed:k = x;休息; case0xbd,k = 6 ; Dandy0xDB; k = 0xfbb; la =; k;休息; case0x7 b,k = 1 ;休息;默认值:p2 = 0xf7 ; a =};},k =;}},k =;关键值以相应的数字管显示:voumain(vacui){带(1 ){keyscan(); switch(k){case0:p0 = dig [0];休息[i];休息[2 ]:休息; case3 ; p0 = [3 ];休息; case4 :p0 = [4 = [5 ];休息; case7 :p0 = [7 ];休息; case8 :p0 = [8 ];休息; case9 :p0 = [9 ];休息; case1 0:p0 = [1 0];休息;案例1 1 :p0 = [1 1 ];休息; case1 2 :p0 = [1 3 ];休息; case1 4 :p0 = [1 4 = [1 5 = [1 5 ;休息;默认:break;}}}
数码管显示代码是什么
数字管屏幕代码通常是指用于控制数字管道或字符的显示号码的代码。数字管是一个电子屏幕,显示数字和一些简单的字符。
在编程中,控制数字管道显示的代码将根据所使用的编程语言和硬件平台而有所不同。
这是使用Arduino平台和C ++语言编写的代码的一个简单示例,以控制常规的7 段数字管,以显示数字0至9 :`````cpp //定义数字管Intsegments的销钉[] = {2 .3 ,5 ,6 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 州员,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 州员voidEtup(){for(inti = 0; i <7 ; i ++){pinmode(segments [i],out tput);}}} //数字管道显示数字的功能voiddisplaydigit(intdigit){for(for for(inti = 0; in <7 ;(in <7 ;(digit)case0;(digit){case 0://高) 高的); ``{{display display(display(display(display)(display(i)管道),然后将这些引脚设置为“设置”函数中的输出模式。
功能循环`loop`以显示数字0到9 这只是一个基本示例。
在实际应用程序中,可能需要根据数字管道的特定模型和连接方法进行调整。
51单片机的 矩阵按键程序,case 语句与数组的结合,哪里错了??????
这是您的语法错误。switch(p2 ){for(; i
用数码管显示路灯亮的时间,用C语言写单片机程序
数字管显示了路灯明亮的时间,可以通过微控制器执行。这是一个简单的C语言程序的示例,可以控制数字管显示路灯的时间。
````c#includebitd1 = p2 ^0; //确定SBITD2 数字管电池= P2 ^1 ; sbitd3 = p2 ^2 ; {unsigninti,j;对于(i = t; i> 0; i-)for(j = 1 1 0; j> 0; j-);数字[1 ] =(时间%1 000)/1 00; //数百位[2 ] =(时间%1 00)/1 0; //十位数[3 ] =时间%1 0; //(i = 0; i <4 ; i ++)的数字{switch(i)case1 :d1 = 0; d2 = 1 ; D3 = 0; d4 = 0;休息; //显示数百个案例2 :d1 = 0; d2 = 0; d3 = 1 ; d4 = 0;休息;摇动数字管(1 ); //后期1 MSP0 = 0x00; //关闭数字管}} voidMain(){unsignInttime = 0;使用8 05 1 微控制器,即通过控制P0端口的输出来控制数字管的屏幕控件。
程序中的延迟函数用于显示数字管值的延迟和显示功能。
主函数中的循环继续更新时间并在数字管上显示。
该程序的原理是更新1 秒钟后的时间,并在相应的数字管的四个数字数字上显示四个数值的时间。
其中,数以千计的钻头显示在D1 销上,D2 引脚显示了数百个位,1 0位显示在D3 引脚上,并且单个位显示在D4 PIN上。
通过控制这四个引脚的高和低水平和P0端口的输出,可以制作数字管的屏幕。
应该注意的是,以上程序只是一个简单的示例,在实际应用中,基于特定的数字管道模型和微控制器模型可能需要进行适当的修改。
同时,需要根据实际需求添加其他功能,例如通过节点,照明时间等通过增加时间或减少时间的控制。