如何用C语言编程控制数码管动态显示字符串?
通过仿真实现6 位结合了通用数字管,P端口输出段代码和P2 端口输出位代码。仿真图如下:该程序如下: # {Reg5 1 .h> # {0x3 f, 0x06 ,0x5 4 , 0x4 f, 0x6 6 ,0x6 d, 0x4 f 0x7 F, 0x6 F, 0x7 c, 0x7 c, 0x3 9 , 0x7 9 , 0x5 e, 0x7 9 , 0x7 9 , 0x7 9 , 0x7 9 , 0x7 9 , 0x7 9 , 0x7 9 , 0x7 9 ,0x7 9 ,0x7 9 ,0x7 9 )ucharbuf 0x,0x0d,0x0e,0x0f}; // WAST LIFFED VOIDDELE()// DUSTH支持{uintj; jinj; jinj; jinj; JChari,Uchari,Light subroutine {uChari,Light subroutine {uchari; = 0xfe; (i = 0; i + = litbit; //输出segt code p0; // / utpul_(litbol_);()}}}}}}}}}}
四位一体共阳级数码管动态显示c语言编程
//如果您满意的话,请采用它//这是四个数字数字管的动态语言程序,每秒添加一个数字管,直到将其添加到9 9 9 9 //使用时应在使用#nclude <时使用闩锁reg5 2 .h> #inclde“ stwio.h” char代码unsigned char led [] = {0xc0 0xf9 ,0xa4 ,0xb0,0x9 9 ,0x9 2 ,0x8 2 ,0xf8 ,0x8 0,0x9 0}; = {0xff,0xff,0xff,0xff}; //选择数字管sbit_bit_1 = p0^1 的位置的选择; sepit sex_bit_2 = p0^2 ; sbit seg_bit_3 = p0^3 ; 吐痰seg_4 = p0^4 ; int cnt = 0; Unded Int sec = 0; 未签名int mini = 0; 未签名int ho ur = 0; CHA未签名i = 0;/*void delay(in z){unsigned i x,y; y - );}*/void interruptTimer0()抵制1 /*设置抵制函数*/{th0 = 0xfc; CNT ++; BIT_3 = 1 ; p1 = ledbuff [1 ]; i ++; [3 ]; i = 0; 破裂; 虚拟:休息; ************************************* 禁止在4 0)th1 = 0xf3 接收串行端口; **************** SEC ++; mini = 0; ++手表; LEDBUFF [0] = LED [SEC%1 0]; //*设置数字管宽度的位置*/bsp; LEDBUF [3 ] = LED [mini/1 0%1 0]; // ti = 1 ; //使用printf函数前须先将发送标志位ti置1 // printf(“%4 D%x,%x%x \ n”,sec,ledbuf [0],ledbuf [1 ],ledbuff [2 ]) ; // ti = 0; }}}}51单片机显示八位数码管的C语言程序
1 一开始我们打开楔子。2 接下来,我们必须定义库功能。
3 接下来,我们添加循环指令。
4 最后,我们编写了先前定义的延迟指令。
5 最后,单击此处进行编译并生成十六进制文件。
6 如果这里没有错误警告,这意味着我们的程序编写正确,我们可以阐明动态数字管。
C语言单片机代码 数码管动态显示
在1 00个微控制器编程中,1 6 个元素代表十六进制数量0到9 的段代码,以及字母A,B,1 00、5 00,E F.物种,该管子的这一段定义了管。例如,与表[1 ]相对应的元素是0x6 ,它是一个十六进制数字,在二进制数字和0001 0B中。
该二进制数分别对应数字管中的DP,G,F,E,5 00、1 00,B和销钉。
因此,在常见的负数字管中,将两个片段B和1 00介绍给显示数I。
其他片段代码的相同原因可以通过类似的转换方法确定段对应于数字管。
例如,对应于表[2 ]的元素是0x9 ,在二进制数中转换后,即000001 b,对应于DP,g,f,f,5 00,1 00,1 00,1 00,1 00,b,b ,5 00,1 00,B,G,F,5 00,1 00,B,G,F,5 00,1 00,B,G,F,5 00,5 00,1 00,B,G,F,5 00,5 00,1 00, b,g,f,5 00,1 00,b,g,f,5 00,1 00,b,g,f,5 00,1 00,b,g,f,5 00,5 00,1 00,b pins,5 00,1 00,b; ,f,5 00,1 00,b,g,f,5 00,1 00,b,g,f,5 00,1 00,b,g,f,5 00,5 00,1 00,b,g,f,f,5 00,1 00,b; ,F,5 00,1 00,B,G,F,5 00, 1 00,b,g,f,5 00、1 00,b和钉5 00,如果在这些细分中轻,则可以显示数字2 这样,可以使用不同的段来显示不同的数字或字母。
这种编程方法在微控制器项目中很常见。
段代码,带有数组中的数字或字母,易于动态显示数字管。
例如,与表[3 ]相对应的元素为0x0d,转换为二进制数,为00001 1 01 B,对应于DP,F,E,E,D,C,B,A引脚。
如果这些段打开,则可以显示数字3 类比,可以再次确定其他数字和字母的片段,以了解动态显示数字管。
应当指出,段代码定义为通用的负数数字管。
对于常见的积极数字管,段代码的定义将有所不同。
在常见的阳性数字管中,重音段对应于低水平,而未关闭段则对应于sublimus。
因此,实际编程必须根据所使用的数字管的类型调整片段代码的定义。
总而言之,可以合理地定义数组中的段代码,可以理解数字管中的动态显示。
这不仅是提高程序维护性的可读性,而且还简化了数字管的逻辑,从而使编程更加有效和方便。