?? leddisp.lst
字號:
C51 COMPILER V7.09 LEDDISP 04/21/2007 22:01:40 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE LEDDISP
OBJECT MODULE PLACED IN LEDDISP.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LEDDISP.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*********************************************************************/
2 //
3 // 采用8*8LED動態顯示文字演示程序
4 // LRM 2004.10.9
5 /*********************************************************************/
6 //使用AT89C52單片機,12MHZ晶振,P0口輸出一行數據,P2口作行掃描,用共陽LED管
7 //P1口接三個按鍵,用于逐字顯示、向上滾動顯示文字、暫停備用。
8 #include "reg51.h"
9 #define char unsigned char
10 #define int unsigned int
11 //
12 char key,keytmp;
13 char code distab[]=
14 {
15 /********電子設計8*8字模********************/
16
17 //0x93,0x35,0x00,0xb5,0x95,0x33,0xa2,0x2c, //我
18 //0xff,0xff,0x00,0xff,0x00,0xff,0x00,0xff
19 0x00,0xdb,0x00,0x81,0x81,0x81,0xdb,0x18,//黃
20 //0xEF,0x83,0xAB,0x83,0xAB,0x83,0xEE,0xE0,
21 0xFF,0xC7,0xEF,0x83,0xEF,0xEF,0xCF,0xEF,
22 0xB1,0xB5,0x04,0xBF,0xB1,0xB5,0x9B,0xA4,
23 0xBB,0xBB,0x1B,0xA0,0xBB,0xBB,0x9B,0xBB,
24 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
25 };
26 //
27 char code scan_con[8]=
28 {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; // 列掃描控制字
29 //
30 //
31 //
32 //**********按鍵掃描函數***********//
33 void keyscan()
34 {
35 1 key=(~P1)&0x0f; //讀入鍵值
36 1 if(key!=0) //
37 1 {
38 2 while(((~P1)&0x0f)!=0); //等待按鍵釋放
39 2 keytmp=key; // 鍵值存放
40 2 }
41 1 }
42 //
43 //
44 //********1毫秒延時程序************//
45 delay1ms(int t)
46 {
47 1 int i,j;
48 1 for(i=0;i<t;i++)
49 1 for(j=0;j<120;j++)
50 1 keyscan();
51 1 }
52 //
53 //
54 /***********功能程序**********/
55 /***********逐字顯示**********/
C51 COMPILER V7.09 LEDDISP 04/21/2007 22:01:40 PAGE 2
56 fun0()
57 {
58 1 int m,n,h;
59 1 for(h=0;h<32;h=h+8)
60 1 {
61 2 for(n=0;n<100;n++)
62 2 {
63 3 for(m=0;m<8;m++)
64 3 {P0=distab[m+h];delay1ms(1);P2=scan_con[m];}
65 3 }
66 2 }
67 1 }
68 /***********向上滾動顯示**********/
69 fun1()
70 {
71 1 int m,n,h;
72 1 for(h=0;h<32;h++) //控制顯示字數(32/8=4個)
73 1 {
74 2 for(n=0;n<10;n++) //控制幀移動速度
75 2 {
76 3 for(m=0;m<8;m++) //顯示1幀掃描(分8行,每行亮1毫秒)
77 3 {P0=distab[m+h];delay1ms(1);P2=scan_con[m];}
78 3 }
79 2 }
80 1 }
81 //
82 //
83 //*********主程序**********//
84 main()
85 {
86 1 keytmp=1; //上電自動演示功能0)
87 1 while(1)
88 1 {
89 2 keyscan();
90 2 switch(keytmp)
91 2 {
92 3 case 1:{fun0();break;}
93 3 case 2:{fun1();break;}
94 3 case 4:{keyscan();P0=0xff;break;} //備用(暫停黑屏)
95 3 default:{break;}
96 3 }
97 2 }
98 1 }
99 //
100 //
101 //*********************結束***********************//
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 274 ----
CONSTANT SIZE = 48 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 12
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -