亮灯原理:共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
/**********
*实验名:LED显示器动态显示
*实验效果:在4位一体LED显示器左数第4位显示4,过1s,
*在左数第3位显示3,过1s,在左数第2位显示2,过1s,
*在左数第1位显示1,过1s,上述过程不断循环
**********/
#include<reg52.h>
#define duan P0
#define uchar unsigned char
sbit wei1 = P2^4;//定义第1位LED显示器
sbit wei2 = P2^5;//定义第2位LED显示器
sbit wei3 = P2^6;//定义第3位LED显示器
sbit wei4 = P2^7;//定义第4位LED显示器
uchar code sz[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};
void delay(unsigned int xms)
{
unsigned int i,j;
for (i=xms;i>0;i--) //i=xms即延时xms
for(j=112;j>0;j--);
}
void main ()
{
while(1)
{
duan = sz[9];
wei1 = 0;
wei2 = 0;
wei3 = 0;
wei4 = 1;
delay(5);
duan = sz[2];
wei1 = 0;
wei2 = 0;
wei3 = 1;
wei4 = 0;
delay(5);
duan = sz[4];
wei1 = 0;
wei2 = 1;
wei3 = 0;
wei4 = 0;
delay(5);
duan = sz[7];
wei1 = 1;
wei2 = 0;
wei3 = 0;
wei4 = 0;
delay(5);
}
}
以下是CHATGPT给出的代码,以上是修改后使用的代码以及单片机运行出的结果。
1.什么是数码管?
按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示)。
按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。
6 . 静态方式
Pl口与74LS245的输入端相连,其输出端直接与数码管的各段相连。其中,74LS245的19脚称为使能控制端,当该脚处于低电平时,74LS245才传输数据,所以19脚与地线相接。1脚是传输方向控制端,当该脚为高电平时,2~9脚为输人端,18~11脚为对应的输出端;当1脚为低电平时,18~11脚为输入端,2~9脚为对应的输出端。本例电路的1脚接低电平,输入与输出采用的是后者。数码管的共阴端与地线相连,这种接法称为静态方式。
数码管的位选和段选有一定的差异,位选总的来说又是选中它的位置,确定这个位置是否联通,而段选就是选择这个位置,是否点亮因为他是关系到最终显示结果的。顿选是显示它应该显示什么样的数字。位选,总的来说就是选择联通哪个数码管儿,联通了之后才能去进行段选的相应工作。
更多回帖