-
发送一个程序供您参考,包括52个单芯片头文件,一般不做改动,它包含特殊功能寄存器的定义。
定义 uchar unsigned char 将 unsigned char 定义为 uchar,简化了输入和写入。 提高编程速度。
define uint unsigned int 将 unsigned char 定义为 uint,简化了 char 的输入。 提高编程速度。
uchar code duma=;数字''0-f' '-' '扑灭'
延时子例程*
void delay(uint time)
while(--time);如果 time 的值不是 0,则运行空语句。 当 time 为 0 时,显示 while 语句。
主程序 void main()。
uchar i;定义无符号字符变量。
while(1) 进行无限循环,使程序始终以 while 下面的大括号运行。
for(i=0;i<19;i++) 表示语句。
p2=duma[i];如果表达式为 false,则执行括号中的语句。 如果为 true,则执行下一句。
delay(50000);延迟子例程调用。
-
查看您的特定电路,然后编写一个程序来匹配电路图。
-
#include
define uchar unsigned char define uint unsigned int 共阴极数码管的 7 段代码。
uchar code table=;
uchar code table2=;这是学号的最后4位数字,请自行修改。
void display() 4 位显示子程序 void delay1ms(uint i) 1ms delay program}}void main(void ) main}
-
wei4=0;中间括号丢失。
-
start:mov r5,#00h ;数数单元R5,以下程序应该了解,它们都是教科书式的。
main: mov a,r5
mov dptr,#tab
mov a,@a+dptr
lcall display
cjne,r5,#10,start ;当次数到来时,重新开始。
ljmp main
display: ;数码管显示子程序。
lcall dly10ms
dly10ms:..数码管显示时间延迟。
tab: db ..数码管七段电脑表。
-
这已经是老办法了,最好选择MAX7219芯片,编程控制MAX7219,SPI通讯,3线,方便!
电路图:
-
当您要传输数据时,您应该将 OE 引脚向下拉
-
如果使用 hello 编码创建表并依次显示,请使用变量查找表中的第一个值,即“h”,并将其发送到数字。
选取并显示管道截面,并与体积一起使用。
如果显示在第一个数码管上,则该变量为0,然后在500ms后,将前表中使用的变量加到1,第二个数码管上显示第二个数码管,依此类推。
-
假设是共阴极数码管,驱动输入端接MCU的P1端口,共阴极接P2端口。 我的程序如下,目前显示数字 123
#include
typedef unsigned char uint8;
typedef unsigned int uint16;
typedef long int uint32;
code uint8 number=;
void delay ms(uint16 x) 1ms 延迟时间}void xianshi(uint16 x)delay ms(10);}
main()
-
动态扫描,显示??
-
没有原理图,所以白只好编一个,假设选P0作为zhi段,P2选为位DAO,用373作为锁存器来控制静态数码管的显示,因为是静态显示,所以不需要扫描和延时。
#include
#define uchar unsigned char;
uchar distab=;
main()
-
#include
unsigned char code table[6]=; //1~6
void delay(unsigned int i)void main(void)}}
上面的程序有一个错误(i=0; i>5;i++)是不宽容的。
-
还是动态扫描?
静态可以输出这么多代码点。 除非使用电阻器来构建每个管的段。