📄 text1.lst
字号:
C51 COMPILER V8.02 TEXT1 06/10/2008 21:23:11 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg52.h>
2 #include <intrins.h>
3 #include <math.h>
4 #include <stdio.h>
5
6 sbit s4 = P1^0;
7 sbit s3 = P1^2;
8 sbit s2 = P1^1;
9 sbit s1 = P1^3;
10 sbit Bell = P2^7; //蜂鸣器
11 sbit key1 = P1^4;
12 sbit key2 = P1^5;
13 sbit key3 = P3^6;
14 sbit key4 = P3^7;
15 sbit Clock = P2^2; //时钟口线
16 sbit DataOut = P2^1; //数据输出口线
17 sbit ChipSelect = P2^0; //片选口线
18 #define Wait1us {_nop_();}
19 #define Wait2us {Wait1us;Wait1us;}
20 #define Wait4us {Wait2us;Wait2us;}
21 #define Wait8us {Wait4us;Wait4us;}
22 #define Wait30us {Wait8us;Wait8us;Wait8us;Wait4us;Wait2us;}
23 // 蜂鸣器鸣叫时间(5毫秒为单位)
24 unsigned char BellCount;
25 //
26 unsigned char BellType;
27 #define BT_OFF 0 // 关闭声音
28 #define BT_BUTTON 1 // 按键声
29 #define BT_WARN 2 // 提示声
30 #define BT_ALARM 3 // 闹铃(报警)声
31 #define temp 10
32 #define dayu 11
33 #define xiaoyu 12
34 #define xuanzhe 13
35
36
37 code unsigned char table[10] ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
38 unsigned char led[4];
39 unsigned char wendu_up=40;//**************** wen du shang xian definde zhi 40;
40 unsigned char wendu_low=10;//***************** wen du xia xian definde zhi 10;
41 unsigned char i=0;
42 unsigned char timesyb;//******
43 unsigned char show[4];
44 unsigned char gewei=0,shiwei=0,scend=0,minute=0;
45 unsigned char mi=0,mj=0,judgeset=0,dscount=0; //judgeset symble to start set state; dscount symble 5s to
- out set state;
46 bit key4syb=0,setsyb=0,out_out=0;
47 unsigned char ledbuf[4];
48 void set(void);
49 void checkkey4(void);
50 //---------------------片选A/D从外界读温度--------------------------
51 unsigned char adc_conv()
52 {
53 1 unsigned char i;
54 1 unsigned char value;
C51 COMPILER V8.02 TEXT1 06/10/2008 21:23:11 PAGE 2
55 1 Clock=0;
56 1 ChipSelect=1;
57 1 Wait30us
58 1 ChipSelect=0;
59 1 for(i=0;i<8;i++)
60 1 {
61 2 value<<=1;
62 2 Clock=1;
63 2 if(DataOut==1)
64 2 value|=0x01;//value+=1;
65 2 Clock=0;
66 2 }
67 1 ChipSelect=1;
68 1 return(value);
69 1 }
70 //------------------------延迟约0.1s-----------------
71 void delay_ms()
72 {
73 1 unsigned int i;
74 1 for(i=0;i<100;i++);
75 1 }
76 //-----------------------------延迟约0.4秒---------
77 void key_delay()
78 {unsigned int i,j; //stop for 0.4s
79 1 for(i=0;i<400;i++)for(j=0;j<1000;i++);
80 1 }
81 //----------------------------显示---------------
82 void display()
83 {
84 1 P1|=0x0f; //lit off all led
85 1 P0=0xff;
86 1 s1=0;
87 1 P0=show[0];//table[led[0]];
88 1 delay_ms();
89 1
90 1 P1|=0x0f; //lit off all led
91 1 P0=0xff;
92 1 s2=0;
93 1 P0=show[1];//table[led[1]];
94 1 delay_ms();
95 1
96 1 P1|=0x0f; //lit off all led
97 1 P0=0xff;
98 1 s3=0;
99 1 P0=show[2];//table[led[2]];
100 1 delay_ms();
101 1
102 1 P1|=0x0f; //lit off all led
103 1 P0=0xff;
104 1 s4=0;
105 1 P0=show[3];//table[led[3]];
106 1 delay_ms();
107 1 }
108 // 蜂鸣器声音控
109 void BellCtrl(unsigned char BellType)
110 {
111 1 switch (BellType)
112 1 {
113 2 case BT_OFF: // 关闭声音
114 2
115 2 Bell = 1;
116 2 BellCount = 0;
C51 COMPILER V8.02 TEXT1 06/10/2008 21:23:11 PAGE 3
117 2 break;
118 2 case BT_BUTTON: // 按键声音
119 2 if (BellCount > 0)
120 2 {
121 3 -- BellCount;
122 3 Bell = 0;
123 3 Wait8us
124 3 Bell = 0;
125 3
126 3 }
127 2 else
128 2 {
129 3 Bell = 1;
130 3 BellType = BT_OFF;
131 3 }
132 2 break;
133 2 case BT_WARN: // 提示2声
134 2 if (BellCount > 0)
135 2 {
136 3 if (BellCount > 150)
137 3 Bell = 0;
138 3 else if (BellCount > 100)
139 3 Bell = 1;
140 3 else if (BellCount > 50)
141 3 Bell = 0;
142 3 else
143 3 Bell = 1;
144 3 -- BellCount;
145 3 }
146 2 else
147 2 {
148 3 Bell = 1;
149 3 BellType = BT_OFF;
150 3 }
151 2 break;
152 2 default:break;
153 2 }
154 1 }
155 // 蜂鸣器
156 void BellSet(unsigned char type)
157 {
158 1 switch (type)
159 1 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -