#include <reg51.h>
unsigned char code smgduan[18]={0x00, 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char code smgwei[8] = {0x00, 0x04,0x08, 0x0c, 0x10, 0x14, 0x18, 0x1c};
unsigned char data_code[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
void disp(unsigned char FirBit, unsigned char Num);
void DelayUs2x(unsigned int n)//t = 2*n + 6 us
{
while(--n);
}
void DelayMs(unsigned int n)//t = n ms
{
while(n--)
{
DelayUs2x(245);
DelayUs2x(245);
}
}
void main()
{
unsigned char i;
unsigned char j;
unsigned char n = 10000;
unsigned int num[] = {2,0,8,1,6,0,6,0,9};
while(1)
{
for(j = 0; j < 9; j++)
{
for(i = 0; i < 7; i++)
{
data_code[7 - i] = data_code[6 - i];
}
data_code[0] = smgduan[num[j] + 1];
while(n--)
{
disp(1, 8);
}
n = 10000;
}
for(j = 0; j < 9; j++)
{
for(i = 0; i < 7; i++)
{
data_code[7 - i] = data_code[6 - i];
}
51单片机数码管滚动显示
最新推荐文章于 2025-03-30 15:41:51 发布