?? text1.lst
字號:
C51 COMPILER V8.08 TEXT1 04/22/2009 18:45:22 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #include <I2C.h>
*** ERROR C231 IN LINE 13 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'P0': redefinition
*** ERROR C231 IN LINE 14 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'P1': redefinition
*** ERROR C231 IN LINE 15 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'P2': redefinition
*** ERROR C231 IN LINE 16 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'P3': redefinition
*** ERROR C231 IN LINE 17 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PSW': redefinition
*** ERROR C231 IN LINE 18 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'ACC': redefinition
*** ERROR C231 IN LINE 19 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'B': redefinition
*** ERROR C231 IN LINE 20 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'SP': redefinition
*** ERROR C231 IN LINE 21 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'DPL': redefinition
*** ERROR C231 IN LINE 22 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'DPH': redefinition
*** ERROR C231 IN LINE 23 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PCON': redefinition
*** ERROR C231 IN LINE 24 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TCON': redefinition
*** ERROR C231 IN LINE 25 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TMOD': redefinition
*** ERROR C231 IN LINE 26 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TL0': redefinition
*** ERROR C231 IN LINE 27 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TL1': redefinition
*** ERROR C231 IN LINE 28 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TH0': redefinition
*** ERROR C231 IN LINE 29 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TH1': redefinition
*** ERROR C231 IN LINE 30 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'IE': redefinition
*** ERROR C231 IN LINE 31 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'IP': redefinition
*** ERROR C231 IN LINE 32 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'SCON': redefinition
*** ERROR C231 IN LINE 33 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'SBUF': redefinition
*** ERROR C231 IN LINE 45 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'CY': redefinition
*** ERROR C231 IN LINE 46 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'AC': redefinition
*** ERROR C231 IN LINE 47 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'F0': redefinition
*** ERROR C231 IN LINE 48 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'RS1': redefinition
*** ERROR C231 IN LINE 49 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'RS0': redefinition
*** ERROR C231 IN LINE 50 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'OV': redefinition
*** ERROR C231 IN LINE 51 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'P': redefinition
*** ERROR C231 IN LINE 54 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TF1': redefinition
*** ERROR C231 IN LINE 55 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TR1': redefinition
*** ERROR C231 IN LINE 56 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TF0': redefinition
*** ERROR C231 IN LINE 57 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TR0': redefinition
*** ERROR C231 IN LINE 58 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'IE1': redefinition
*** ERROR C231 IN LINE 59 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'IT1': redefinition
*** ERROR C231 IN LINE 60 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'IE0': redefinition
*** ERROR C231 IN LINE 61 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'IT0': redefinition
*** ERROR C231 IN LINE 64 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'EA': redefinition
*** ERROR C231 IN LINE 66 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'ES': redefinition
*** ERROR C231 IN LINE 67 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'ET1': redefinition
*** ERROR C231 IN LINE 68 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'EX1': redefinition
*** ERROR C231 IN LINE 69 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'ET0': redefinition
*** ERROR C231 IN LINE 70 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'EX0': redefinition
*** ERROR C231 IN LINE 74 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PS': redefinition
*** ERROR C231 IN LINE 75 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PT1': redefinition
*** ERROR C231 IN LINE 76 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PX1': redefinition
*** ERROR C231 IN LINE 77 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PT0': redefinition
*** ERROR C231 IN LINE 78 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'PX0': redefinition
*** ERROR C231 IN LINE 81 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'RD': redefinition
*** ERROR C231 IN LINE 82 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'WR': redefinition
*** ERROR C231 IN LINE 83 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'T1': redefinition
*** ERROR C231 IN LINE 84 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'T0': redefinition
*** ERROR C231 IN LINE 85 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'INT1': redefinition
*** ERROR C231 IN LINE 86 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'INT0': redefinition
C51 COMPILER V8.08 TEXT1 04/22/2009 18:45:22 PAGE 2
*** ERROR C231 IN LINE 87 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TXD': redefinition
*** ERROR C231 IN LINE 88 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'RXD': redefinition
*** ERROR C231 IN LINE 91 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'SM0': redefinition
*** ERROR C231 IN LINE 92 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'SM1': redefinition
*** ERROR C231 IN LINE 93 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'SM2': redefinition
*** ERROR C231 IN LINE 94 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'REN': redefinition
*** ERROR C231 IN LINE 95 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TB8': redefinition
*** ERROR C231 IN LINE 96 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'RB8': redefinition
*** ERROR C231 IN LINE 97 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'TI': redefinition
*** ERROR C231 IN LINE 98 OF D:\PROGRAM FILES\KEIL\C51\INC\REG52.H: 'RI': redefinition
3 #include <ZLG7290.h>
4
5 #define uchar unsigned char
6 #define uint unsigned int
7
8 uchar z1;
9 uint Num;
10 uchar ge,shi,bai,qian;
11
12 //定義鍵盤中斷標志,FlagINT=1表示有鍵按下
13 volatile bit FlagINT = 0;
14
15 /*
16 函數:INT0_SVC()
17 功能:ZLG7290鍵盤中斷服務程序
18 說明:中斷觸發方式選擇負邊沿觸發,因此不必等待中斷請求信號恢復為高電平
19 */
20 void INT0_SVC() interrupt 0
21 { IE0=0;
22 1
23 1 FlagINT = 1;
24 1 }
25
26 void Delay(uint x) //延時函數
27 {
28 1 uint i,j;
29 1 for(i=0;i<x;i++)
30 1 for(j=0;j<120;j++);
31 1 }
32
33 /*
34 函數:SystemInit()
35 功能:系統初始化
36 */
37 void SystemInit()
38 {
39 1 I2C_Init();
40 1 Delay(500); //等待ZLG7290復位完畢
41 1 }
42
43 /*
44 函數:ClearAll()
45 功能:清除所有顯示
46 */
47 void ClearAll()
48 {
49 1 unsigned char x;
50 1 for ( x=0; x<8; x++ )
51 1 {
52 2 ZLG7290_Download(x,0,0,31);
53 2 }
54 1 }
C51 COMPILER V8.08 TEXT1 04/22/2009 18:45:22 PAGE 3
55
56 sbit CS=P1^5; //片選
57 sbit SCLK=P1^6; //時鐘
58 sbit DIN=P1^7; //數據入口
59
60
61 sbit Tlc549_Clk = P1^4;
62 sbit Tlc549_Data = P1^3;
63 sbit Tlc549_Cs = P1^2;
64
65
66
67
68 //--------------------------------------------------
69 // 函數名稱: DA_Conver
70 // 函數功能: DA轉換
71 // 入口參數: 要轉換的數字量,最多輸出參考電壓的
72 // 2倍,如可采用MC1403等參考電源
73 // 出口參數: 無
74 //--------------------------------------------------
75 void DA_Conver(unsigned int DAValue)
76 {
77 1
78 1 unsigned char i;
79 1
80 1 DAValue <<= 6;
81 1
82 1 CS=0; //片選DA芯片
83 1 SCLK= 0; //在以下12個時鐘周期內,每當在上升沿的
84 1 //數據被鎖存,形成DA輸出。在前10個時鐘
85 1 for(i = 0; i < 12; i++) //內輸入的是10位DA數據,后兩個時鐘周期
86 1 { //為填充字節。
87 2 DIN= (bit)(DAValue & 0x8000);
88 2 SCLK= 1;
89 2 DAValue <<= 1;
90 2 SCLK= 0;
91 2 }
92 1
93 1 CS= 1; //CS的上升沿和下降沿只有在clk為低的時候
94 1 SCLK= 0; //才有效
95 1
96 1 }
97
98 int Read_Key()
99 {
100 1 unsigned char KeyValue;
101 1 ClearAll();
102 1 EA = 0;
103 1 IT0 = 1; //負邊沿觸發中斷
104 1 EX0 = 1; //允許外部中斷
105 1 EA = 1;
106 1 if(FlagINT) //如果有鍵按下
107 1 {
108 2 FlagINT = 0; //清除中斷標志
109 2 ZLG7290_ReadReg(ZLG7290_Key,&KeyValue); //讀取鍵值
110 2 return(KeyValue);
111 2 }
112 1 PCON|= 0x01; //使CPU進入空閑狀態,任一中斷可喚醒
113 1 }
114
115 void Display(uchar qian,uchar bai,uchar shi,uchar ge)
116 {
C51 COMPILER V8.08 TEXT1 04/22/2009 18:45:22 PAGE 4
117 1 bit dp;
118 1 bit flash;
119 1 dp = 0;
120 1 flash = 0;
121 1 ZLG7290_Download(4,dp,flash,ge);
122 1 ZLG7290_Download(5,dp,flash,shi);
123 1 ZLG7290_Download(6,dp,flash,bai);
124 1 ZLG7290_Download(7,dp,flash,qian);
125 1 }
126
127 uchar Tlc549()
128 {
129 1 uchar i,T1=0;
130 1 Tlc549_Cs =0; //使能549
131 1 for(i=0;i<8;i++)
132 1 {
133 2 Tlc549_Clk =1; //準備好數據
134 2 T1=T1<<1; //左移1位
135 2 if(Tlc549_Data==1)
136 2 T1=T1+1; //保存本次移出的位
137 2 Tlc549_Clk =0; //打出下一位數據
138 2 }
139 1
140 1 Tlc549_Cs =1; //釋放對TLC945的控制
141 1 return T1;
142 1 }
143
144 void main()
145 {
146 1 int DA_Value;
147 1 SystemInit(); //系統初始化
148 1 Delay(500);
149 1 while(1)
150 1 {
151 2 DA_Value=Read_Key();
152 2 if(DA_Value<10)
153 2 ZLG7290_Download(0,0,0,DA_Value);
154 2 else if(DA_Value>=10&&DA_Value<100)
155 2 {
156 3 ZLG7290_Download(0,0,0,DA_Value%10);
157 3 ZLG7290_Download(1,0,0,DA_Value/10);
158 3 }
159 2 else if(DA_Value>=100&&DA_Value<1000)
160 2 {
161 3 ZLG7290_Download(0,0,0,DA_Value%10);
162 3 ZLG7290_Download(1,0,0,(DA_Value/10)%10);
163 3 ZLG7290_Download(2,0,0,DA_Value/100);
164 3 }
165 2 else if(DA_Value>=1000&&DA_Value<10000)
166 2 {
167 3 ZLG7290_Download(0,0,0,DA_Value%10);
168 3 ZLG7290_Download(1,0,0,(DA_Value%100)/10);
169 3 ZLG7290_Download(2,0,0,(DA_Value/100)%10);
170 3 ZLG7290_Download(3,0,0,DA_Value/1000);
171 3 }
172 2 DA_Conver(DA_Value);
173 2 Delay(500);
174 2 z1=Tlc549();
175 2 Num =z1*5000/255;
176 2 qian=Num/1000; //轉成BCD碼
177 2 bai =Num%1000/100; //轉成BCD碼
178 2 shi =Num%100/10; //轉成BCD碼
C51 COMPILER V8.08 TEXT1 04/22/2009 18:45:22 PAGE 5
179 2 ge =z1%10; //轉成BCD碼
180 2 Display(qian,bai,shi,ge);
181 2 Delay(3000);
182 2 }
183 1 }
184
185
C51 COMPILATION COMPLETE. 0 WARNING(S), 63 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -