📄 串口测温.lst
字号:
C51 COMPILER V7.06 __口测温 11/24/2008 15:54:58 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE __口测温
OBJECT MODULE PLACED IN 串口测温.OBJ
COMPILER INVOKED BY: d:\Keil2\C51\BIN\C51.EXE 串口测温.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2 /*打开串口调试程序,将波特率设置为9600,无奇偶校验
3 晶振11.0592MHz,发送和接收使用的格式相同,如都使用
4 字符型格式,在发送框输入 hello,I Love MCU ,在接
5 收框中同样可以看到相同字符,说明设置和通信正确
6 www。doflye。cn 上海浩豚电子科技
7 */
8 #include <REG52.H>
9 #include <stdio.h>
10
11 sbit KEY = P3^3;
12
13 unsigned char Flag;
14 unsigned char Temp[5]="25.32";
15 /*主程序*/
16 void Delay(unsigned char i)
17 {
18 1 while(--i);
19 1 }
20 void main (void)
21 {
22 1 unsigned char i; //定义临时变量
23 1 unsigned int j;
24 1 SCON = 0x50; /* SCON: 模式 1, 8-bit UART, 使能接收 */
25 1 TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
26 1 TH1 = 0xFD; /* TH1: reload value for 9600 baud @ 11.0592MHz */
27 1 TR1 = 1; /* TR1: timer 1 run */
28 1 EA = 1; /*打开总中断*/
29 1 ES = 1; /*打开串口中断*/
30 1 TI = 1;
31 1 while (1) /*主循环不做任何动作*/
32 1 {
33 2 if(Flag == 's')
34 2 {
35 3 Flag=0;
36 3 for(i=0;i<5;i++){
37 4 while(!TI);
38 4 TI=0;
39 4 SBUF = Temp[i];
40 4 }
41 3 }
42 2 Delay(250);
43 2 j++;
44 2 //sprintf(Temp,"5%s",j);
45 2
46 2 }
47 1 }
48
49 void UART_SER (void) interrupt 4 //串行中断服务程序
50 {
51 1
52 1
53 1 if(RI) //判断是接收中断产生
54 1 {
55 2 RI=0; //标志位清零
C51 COMPILER V7.06 __口测温 11/24/2008 15:54:58 PAGE 2
56 2 Flag=SBUF; //读入缓冲区的值
57 2 P1=Flag; //把值输出到P1口,用于观察
58 2 }
59 1
60 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 72 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 2
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 + -