📄 adc.lst
字号:
C51 COMPILER V8.05a ADC 06/28/2008 09:03:13 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE ADC
OBJECT MODULE PLACED IN adc.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE adc.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #ifndef __STC12C5410AD_H__
3 #define __STC12C5410AD_H__
4 #include <STC12C5410AD.h>
5
6
7
8 bdata unsigned char flag;
9 sbit led_fleg =flag^0; //3秒切换显示标志
10
11 sbit J1 =P2^2;
12 sbit J2 =P2^3;
13 sbit KEY_1 =P3^4;
14 sbit KEY_2 =P3^5;
15 sbit SPEAKER =P2^4;
16 sbit LED_A =P1^5;
17 sbit LED_B =P1^6;
18 sbit LED_C =P2^0;
19 sbit LED_D =P1^1;
20 sbit LED_E =P1^2;
21 sbit LED_F =P1^4;
22 sbit LED_G =P1^7;
23 sbit LED_H =P1^3;
24 sbit LED_S0 =P2^6; //流水灯
25 sbit LED_S2 =P2^7; //左2,十位
26 sbit LED_S1 =P3^7; //左3,个位
27 sbit LED_S3 =P2^1; //左1,百位
28 sbit LED_S4 =P2^5; //左4,符号位
29 sbit INT_0 =P3^2;
30 sbit INT_1 =P3^3;
31 void warter();
32 char warter_led;
33
34 char l_bai;
35 char l_shi;
36 char l_ge;
37 char t_bai;
38 char t_shi;
39 char t_ge;
40 unsigned int disptimer;
41 char gPulseCount;
42 char scan;
43 char TimeSub;
44 unsigned int TimeAdd;
45 unsigned char temperaturn; //温度单元
46 unsigned char buff =0;
47 unsigned char code table[]=
48 {
49 0x3f,0x06,0x5b,0x4f,
50 0x66,0x6d,0x7d,0x07,
51 0x7f,0x6f,0x38,0xb9, //38=L,b9=度
52 0x39,0x5e,0x79,0x71
53 };
54
55 /*
C51 COMPILER V8.05a ADC 06/28/2008 09:03:13 PAGE 2
56 unsigned char code T_table[]={
57 //0 1 2 3 4 5 6 7 8 9
58 367,362,358,353,348,344,339,335,330,326,
59 322,317,313,309,305,300,296,292,288,283,
60 279,275,271,267,262,258,254,250,246,241,
61 237,233,229,225,221,216,212,208,204,200,
62 196,192,188,184,180,176,173,169,166,163,
63 159,156,153,150,147,144,141,139,136,133,
64 130,127,125,122,119,117,114,112,109,107,
65 104,102,100, 98, 96, 94, 92, 90, 88, 86,
66 84, 82, 80, 79, 77, 75, 73, 71, 70, 68,
67 66, 64, 63, 61, 59, 58, 56, 54, 53, 51, //99
68 50,//100
69 0 //短路
70 }
71 */
72 void Initialization()
73 {
74 1 // AUXR =0x10; //f=fosc/12
75 1 TMOD =0x21; //定时器0设为方式1定时器1设为方式2自动重装
76 1 TH1=TL1 =0xE8; //11.0592MHz时1200波特率
77 1 TH0 =(65536-1000)/256;
78 1 TL0 =(65536-1000)%256; //定时器0定时1ms
79 1 TR1 =1; //启动定时器1
80 1 TR0 =1; //启动定时器0
81 1 ET0 =1; //开定时器0中断
82 1 EA =1; //开总中断
83 1 // IE =0x07; //外部中断
84 1 // IP =0x05;
85 1 IT1 =1; //external interrupt falling edge take effect
86 1 IT0 =1; //下沿触发
87 1 ADC_CONTR =0xE0; //ADC intialization,只加上了ADC的电源,P1.0为AD口
88 1 }
89 /*************显示数送端口**************/
90 void send_port()
91 {
92 1 LED_A =!(buff>>0 & 0x01); //send data to IO port
93 1 LED_B =!(buff>>1 & 0x01);
94 1 LED_C =!(buff>>2 & 0x01);
95 1 LED_D =!(buff>>3 & 0x01);
96 1 LED_E =!(buff>>4 & 0x01);
97 1 LED_F =!(buff>>5 & 0x01);
98 1 LED_G =!(buff>>6 & 0x01);
99 1 LED_H =!(buff>>7 & 0x01);
100 1 }
101 /*********************流水灯********************************/
102 void warter()
103 {
104 1 switch (warter_led)
105 1 {
106 2 case 0:
107 2 LED_F = 1; //流水灯高低次序
108 2 LED_C = 0;
109 2 LED_E = 0;
110 2 LED_D = 0;
111 2 LED_B = 1;
112 2 LED_A = 0;
113 2 LED_H = 0;
114 2 LED_G = 0;
115 2 break;
116 2 case 1:
117 2 LED_F = 0; //流水灯高低次序
C51 COMPILER V8.05a ADC 06/28/2008 09:03:13 PAGE 3
118 2 LED_C = 0;
119 2 LED_E = 0;
120 2 LED_D = 1;
121 2 LED_B = 0;
122 2 LED_A = 0;
123 2 LED_H = 0;
124 2 LED_G = 1;
125 2 break;
126 2 case 2:
127 2 LED_F = 0; //流水灯高低次序
128 2 LED_C = 0;
129 2 LED_E = 1;
130 2 LED_D = 0;
131 2 LED_B = 0;
132 2 LED_A = 0;
133 2 LED_H = 1;
134 2 LED_G = 0;
135 2 break;
136 2 case 3:
137 2 LED_F = 0; //流水灯高低次序
138 2 LED_C = 1;
139 2 LED_E = 0;
140 2 LED_D = 0;
141 2 LED_B = 0;
142 2 LED_A = 1;
143 2 LED_H = 0;
144 2 LED_G = 0;
145 2 }
146 1 }
147 //*********************三秒显示切换************************************
148 void Disp()
149 {
150 1
151 1 char bai =0;
152 1 char shi =0;
153 1 char ge =0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -