发布网友 发布时间:2022-04-19 19:42
共5个回答
热心网友 时间:2023-06-27 16:59
把 数码管的 1-9 的 对应的码算出来就好了
例如:#include <AT89X51.H>
//数字0-9的字形码
unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
unsigned char dispcount;
void delay02s(void);
void main(void)
{
P1_0=0;//选通第一位数码管
while(1)
{
for(dispcount=0;dispcount<10;dispcount++)
{
P0=table[dispcount];
delay02s();
}
}
}
void delay02s(void)
{
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=30;j>0;j--)
for(k=248;k>0;k--);
}
补充:单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的*处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机
热心网友 时间:2023-06-27 17:00
把数码管的1-9 的对应的码算出来就好了。
例如:#include <AT89X51.H>
//数字0-9的字形码
unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void main(void)
P1_0=0;//选通第一位数码管
while(1)
P0=table[dispcount];
delay02s();
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=30;j>0;j--)
for(k=248;k>0;k--);
}
结构
led数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。
位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
以上内容参考:百度百科-数码管
热心网友 时间:2023-06-27 17:00
把 数码管的 1-9 的 对应的码算出来就好了 循环显示 每次显示完一个数字 等一会 再显示第二个还有你的数码管是共阳极的还是阴极的 试一下就知道了热心网友 时间:2023-06-27 17:01
给你发个程序...以前做的从1到8...照着改下数字就行,添加一个while函数...#include<reg52.h>热心网友 时间:2023-06-27 17:02
这个真没有,人家怎么又没数据手册