电路原理图如下:
单片机控制8只数码管分别滚动显示单个数字仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include<reg51.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar code dis_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88};//共阳数码管段码表
-
- void delay(uint y) //延时子函数
- {
- uchar i;
- while(y--) for(i=0;i<110;i++);
- }
- void main()
- {
- uchar i,j=0x80;
- while(1)
- {
- for(i=0;i<8;i++)
- {
- P2=0xff; //关闭显示
- j=_crol_(j,1); //_crol_(j,1)——将j循环左移1位
- //_cror_(j,1)——将j循环右移1位
- P0=dis_code[i]; //P0口输出段码
- P2=j; //P2口输出位控码
- delay(500);
- }
- }
- }
复制代码
所有资料51hei提供下载:
控制8只数码管分别滚动显示单个数字.zip
(125.17 KB, 下载次数: 75)
|