📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 12/30/2010 18:33:59 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "reg52.h"
2 #include "ds18b20.h"
3 #include "max7219.h"
4 #include "delay.h"
5 #include "keyboard.h"
6
7 extern unsigned char key;
8 sbit RL=P2^2;
9 sbit BU=P2^0;
10 sbit D1=P0^5;
11 sbit D2=P0^6;
12 sbit D3=P0^7;
13
14 main()
15 {
16 1 unsigned char htem=30,ltem=20,tem; //设定的高温,低温,当前温度
17 1 unsigned char x,g,s; //小数,个位,十位
18 1 unsigned char key_fleg=0; //1为高温设定,2为低温设定
19 1 unsigned int key_count=0; //进入设定模式的次数
20 1 unsigned int bel_time=0;
21 1 ini_7219();
22 1 delay_ms(1);
23 1 ini_7219();
24 1 delay_ms(5);
25 1 ini_7219();
26 1 ini_7219();
27 1 ini_18b20();
28 1 ini_key();
29 1 while(1)
30 1 {
31 2
32 2 if((key==0||key==3||key==4)&&(!key_fleg)) //温度测量,显示,控制部分
33 2 {
34 3 tem=read_tempuature();
35 3 if(tem&1)x=5;
36 3 else x=0;
37 3 tem=tem>>1;
38 3 s=tem%100/10;
39 3 g=tem%10;
40 3 write_7219_data(1,12,0);
41 3 write_7219_data(2,s,0);
42 3 write_7219_data(3,g,1);
43 3 write_7219_data(4,x,0);
44 3 if(tem>=htem) //如果高温,就不加热
45 3 {
46 4 RL=1;
47 4 if(bel_time<30)BU=0;
48 4 else BU=1;
49 4 D1=1;
50 4 D2=0;
51 4 D3=1;
52 4 bel_time++;
53 4 }
54 3 if(tem<ltem) //如果低温,就加热
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -