?? show.lst
字號:
C51 COMPILER V7.06 SHOW 12/12/2007 14:41:19 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE SHOW
OBJECT MODULE PLACED IN E:\制作和~1\總線開發\試驗程序\BASIC_~1\SHOW\SHOW.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE E:\制作和~1\總線開發\試驗程序\BASIC_~1\SHOW\SHOW.C DB SB OE
stmt level source
1
2 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
3 //功能描述:
4 // 本程序為顯示程序,上電后顯示255 &
5 // 主要目的:熟悉硬件,以及不影響其它位的顯示編程 &
6
7 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
8 //【聲明】 此程序僅用于學習與參考,引用請注明版權和作者信息! &
9 //【聲明】 作者: PIAE小組
10 /*
11
12 */
13
14 #include <reg52.h>
15 #include <intrins.h>
16 #include <show_def.h>
17
18
19
20 void main(void)
21 {
22 1 _nop_();
23 1 while(1)
24 1 {
25 2 NOPS;
26 2 ///////////////////////數碼管顯示程序/////////////////////////////////
27 2 led_seg7(1,Show_Data);
28 2 LED_RED = !LED_RED;
29 2 LED_GRE = !LED_GRE;
30 2
31 2 ///////////////////////數碼管顯示程序/////////////////////////////////
32 2 }//while 結束
33 1 }//main結束
34
35
36 void Delay(uchar delay_time)
37 {//延時程序
38 1 while(delay_time--)
39 1 {}
40 1 }
41
42
43
44 void led_seg7(uchar from,uchar number) //from(1_4):數碼管顯示起始位置(從右到左),number:顯示的數
45 {
46 1 uchar digit,temp_l;
47 1 uchar temp_h=0x7f;
48 1 temp_h = _cror_(temp_h,from-1); //確定從哪一位開始顯示,即確定高四位
49 1 temp_h = temp_h & 0xf0; //取高四位
50 1 temp_l = P2 & 0x0f; //取P2的低四位
51 1 P2 = temp_h | temp_l; //設定P2口
52 1
53 1 if(number==0)
54 1 {
55 2 P0 = led[0];
C51 COMPILER V7.06 SHOW 12/12/2007 14:41:19 PAGE 2
56 2 Delay(10);
57 2 P0 = 0xff;
58 2 }
59 1 else
60 1 {
61 2 while(number)
62 2 {
63 3 digit = number%10 ;
64 3 number /= 10;
65 3 P0 = led[digit] ;
66 3 Delay(10);
67 3 temp_h = P2 & 0xf0; //取P2的高四位
68 3 temp_h = temp_h | 0x0f; //拼裝 temp_h,進行位選
69 3 temp_h = _cror_(temp_h,1);
70 3 temp_h = temp_h & 0xf0; //取高四位
71 3 temp_l = P2 & 0x0f; //取P2的低四位
72 3 P0 = 0xff;
73 3 P2 = temp_h | temp_l; //設定P2口
74 3 }
75 2 }
76 1 }
C51 COMPILER V7.06 SHOW 12/12/2007 14:41:19 PAGE 3
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
Show_Data. . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
LED_RED. . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A1H 1
LED_GRE. . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A2H 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
led. . . . . . . . . . . . . . . . . . PUBLIC CODE ARRAY 0000H 11
_Delay . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0008H -----
delay_time . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
_led_seg7. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
from . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
number . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
digit. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0004H 1
temp_l . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
temp_h . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 125 ----
CONSTANT SIZE = 11 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
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 + -