微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机学习——LED显示程序之一

单片机学习——LED显示程序之一

时间:11-23 来源:互联网 点击:
题目:在八位LED显示器上滚动显示0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f,

且循环下去。

解决方案:(C语言编程)
#include
#include
#define uint unsigned int
#define uchar unsigned char

uchar sled_bit_table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

uchar sled_disp_buff[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,

0x83,0xc6,0xa1,0x86,0x8e,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};

#define sled_dm_port P0
#define sled_wm_port P2

sbit speaker_en_port = P3^7;
void delay_1ms(uchar x)
{
uchar j;
while(x--){
for(j=0;j<125;j++)
{;}
}
}
void main()
{
uchar i;
uchar j;
uint count=0;

speaker_en_port = 0;
while(1){
for(j=0;j<100;j++){
for(i=0;i<8;i++){
sled_wm_port = 0xff;

sled_dm_port = sled_disp_buff[i+count];
sled_wm_port = sled_bit_table[i];

delay_1ms(1);
}
}
count++;
if(count>=24) count=0;

}
}

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

网站地图

Top