简单的单片机控制数码管显示问题??
答案:2 悬赏:30 手机版
解决时间 2021-05-11 18:58
- 提问者网友:杀生予夺
- 2021-05-11 10:42
我有六位数码管,我现在只能一次一位显示,我要一次六个数码管都显示,比如说我要显示123456,怎么编程,c语言程序,,,在线等答案!!!
最佳答案
- 五星知识达人网友:独行浪子会拥风
- 2021-05-11 11:54
参照这个网页: http://www.51c51.com/TEST/XL1000/xl100065.htm
#include<reg51.h> //头文件
#define uchar unsigned char //宏定义,为方便编程
#define uint unsigned int
#define DIGI P0 //宏定义,将P1口定义为数码管
#define SELECT P2 //宏定义,将P2定义为数码管选择口
uchar digivalue[]={0x28,0x7e,0x0a2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60};
//显示的数字数组,依次为0,1,..,9
uchar select[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //选择数码管数组,依次选择1,2,..,8
void delay() //延迟函数,决定数码管跳变的间隔时间
{
uchar ii=200; //若发现数码管闪烁,调节这里即可
while(ii--);
}
main() //主函数
{
uchar i=0;
while(1)
{
for(i=0;i<8;i++) //8个数码管轮流显示
{
SELECT=select[i]; //选择第i个数码管
DIGI=digivalue[i]; //显示i
delay();
}
}
}
全部回答
- 1楼网友:山有枢
- 2021-05-11 13:00
现在的单片机采用的数码管都是共阳或者共阴的,都不是独立的。
一般是P0口控制显示字,P2口控制显示在哪一位。
做不到同时显示几个,一次只能显示一个,但是可以通过提高刷新率,来达到看上去同时显示的效果。和同时显示效果一样。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯