喜欢的可以下载
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include <reg52.h>
- #include <intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar code Table_OF_Digits[]=
- {
- 0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00,
- 0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,
- 0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00,
- 0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00,
- 0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,
- 0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00,
- 0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00,
- 0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00,
- 0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00,
- 0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00,
- };
- uchar i=0,t=0,Num_Index = 0;
- void main()
- {
- P3 = 0x80;
- Num_Index = 0;
- TMOD = 0x00;
- TH0 = (8192-2000)/32;
- TL0 = (8192-2000)%32;
- TR0 = 1;
- IE = 0x82;
- while(1);
- }
- void LED_Screen_Display() interrupt 1
- {
- TH0 = (8192-2000)/32;
- TL0 = (8192-2000)%32;
- P3 = _crol_(P3,1);
- P0 = ~Table_OF_Digits[Num_Index * 8 +i];
- if(++i == 8) i = 0;
- if(++t == 250)
- {
- t = 0x00;
- if(++Num_Index == 10) Num_Index = 0;
- }
- }
复制代码
51hei附件下载:
Keil2代码与Proteus7.5仿真下载(注意版本一定要是Keil2和Proteus7.5):
36 8×8LED点阵屏显示数字.zip
(31.15 KB, 下载次数: 39)
|