微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 请单片机高手帮忙一下

请单片机高手帮忙一下

时间:10-02 整理:3721RD 点击:
我有一道题请帮忙一下
怎么让每一个数码管显示不同的数字呢,,是六个数码管哦
谢谢帮忙一下

依次输出高低电平就行了,

动态扫描就可以了,原理是轮流让每一个数码管显示某一数字,当速度很快时,由于人眼的视觉延迟,就能清楚地看到不同的数字了。

动态扫描啊...

用数码管慢速动态扫描显示数字"1234"
#include<reg51.h>        //  包含51单片机寄存器定义的头文件
void delay(void)        //延时函数,延时一段时间
{
unsigned char i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++)
;
}
void main(void)
{
while(1)    //无限循环
{
P2=0xfe;   //P2.0引脚输出低电平,DS0点亮
P0=0xf9;  //数字1的段码
delay();
P2=0xfd ;  //P2.1引脚输出低电平,DS1点亮
P0=0xa4;  //数字2的段码
delay();     
P2=0xfb;   //P2.2引脚输出低电平,DS2点亮
P0=0xb0;  //数字3的段码
delay();
P2=0xf7;   //P2.3引脚输出低电平,DS3点亮
P0=0x99;  //数字4的段码
delay();
P2=0xff;        
}
}
还有,你要清楚你的数码管是共阴极还是共阳极的。
我这个是共阴极的数码管显示。

动态扫描就可以

动态扫描

动态扫描

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top