📄 wk.lst
字号:
C51 COMPILER V8.02 WK 11/06/2008 16:30:01 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE WK
OBJECT MODULE PLACED IN Wk.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Wk.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*
2 系统接线(适用于台式系统):
3 1、试验箱(台)上的CS244接CS0,244的输入IN0--IN7接平推开关KK1--KK8的输入K1--K8
4 2、试验箱(台)上的CS0809接CS2,模块上的TEMP_OUT接0809的输入ADIN0,
5 3、CPU板上的P15接模块上的HEATER.
6 实验说明:
7 全速运行程序后,通过与244输入端相连的8个平推开关kk1---kk8设置设定温度,
8 并在数码管的左两位显示(10进制),此数值的设定范围为0--79。同时在数码管的右两位显示实际温度,
9 认真观察数码管的右两位数值的变化,可以了解温度的控制过程。
10 */
11 #include <reg51.h>
12 #include <absacc.h>
13 #define input XBYTE[0xcfa0]
14 #define ad XBYTE[0xcfb0]
15 #define Led_dat XBYTE[0xcfe8]
16 #define Led_ctl XBYTE[0xcfe9]
17
18 void Display_byte(unsigned char loc,unsigned char dat)
19 {
20 1 unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
21 1 loc &=0xf;
22 1 Led_ctl = loc|0x80;
23 1 if(dat==0xaa) Led_dat = table[10];
24 1 else Led_dat = table[dat/10]; /*显示10位*/
25 1 loc++;
26 1 Led_ctl = loc|0x80;
27 1 if(dat==0xaa) Led_dat = table[10];
28 1 else Led_dat = table[dat%10]; /*显示个位*/
29 1 }
30 void delay(unsigned int time)
31 {
32 1 for(;time>0;time--);
33 1 }
34 void drv(unsigned char dat)
35 {
36 1 unsigned char tmp;
37 1 for(tmp=0;tmp!=0xff;tmp++)
38 1 {
39 2 if(tmp<dat) P1|=0x20;
40 2 else P1&=0xdf;
41 2 delay(100);
42 2 }
43 1 }
44 void main(void)
45 {
46 1 unsigned char dat,C_temp,driver=0x80;
47 1 Led_ctl = 0xd1;
48 1 while((Led_ctl&0x80)==0x80);
49 1 Led_ctl = 0x31;
50 1 Display_byte(2,0xaa);
51 1 while(1)
52 1 {
53 2 dat = input;
54 2 if(dat>79) dat = 79;
55 2 Display_byte(0,dat);
C51 COMPILER V8.02 WK 11/06/2008 16:30:01 PAGE 2
56 2 ad = dat;
57 2 delay(4);
58 2 C_temp = (unsigned char)(((float)(0xe0-ad)/16)*10);
59 2 Display_byte(4,C_temp);
60 2 if(dat>C_temp)
61 2 {
62 3 if(dat>(C_temp+5)) driver = 0;
63 3 else driver=0xf0-(dat-C_temp)*50;
64 3 }
65 2 else driver = 0xff;
66 2 drv(driver);
67 2 }
68 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 318 ----
CONSTANT SIZE = 11 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 16
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 + -