📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 10/24/2006 12:59:48 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 /*******************************************************************************
2 程序名称:红外接收(从红外接收模块输入数据,并在LCD上显示)
3 硬件接法:红外接收模块的输出通过跳线JP7接到RXD管脚
4 运行效果:收到数据后立即显示出来,按RST键清除显示
5 *******************************************************************************/
6
7
8 #include "LCD.h"
9 #include "stdio.h"
10
11
12 #define MCLK 11059200L
13 #define BAUD_RATE 1200L
14
15
16 void UartInit()
17 {
18 1 //串行口设置:8位UART,允许接收,TI置位
19 1 SCON = 0x52;
20 1 //波特率加倍
21 1 PCON |= 0x80;
22 1 //设置定时器T1为8位自动重装模式
23 1 TMOD &= 0x0F;
24 1 TMOD |= 0x20;
25 1 //设置定时器T1的初值
26 1 TH1 = 256 - ( MCLK / 12 ) / (16 * BAUD_RATE );
27 1 TL1 = TH1;
28 1 //启动定时器T1
29 1 TR1 = 1;
30 1 }
31
32
33 /*******************************************************************************
34 函数:Delay()
35 功能:延时0.01s~2.56s
36 参数:t>0时,延时(t*0.01)s
37 t=0时,延时2.56s
38 说明:定时10ms的定时器初值=65536-0.01/(1/(f/12)),其中f为晶振频率
39 *******************************************************************************/
40 void Delay(unsigned char t)
41 {
42 1 do
43 1 {
44 2 TH0 = 0xDC; //设置定时器初值(定时10ms)
45 2 TL0 = 0x00;
46 2 TR0 = 1; //启动定时器
47 2 while ( !TF0 ); //等待定时器溢出
48 2 TR0 = 0; //停止定时器
49 2 TF0 = 0; //清除溢出标志
50 2 } while ( --t != 0 ); //循环t次
51 1 }
52
53
54 //系统初始化
55 void SysInit()
C51 COMPILER V7.06 MAIN 10/24/2006 12:59:48 PAGE 2
56 {
57 1 UartInit();
58 1 TMOD &= 0xF0; //T0设置在方式1,16位定时器,且不影响T1的设置
59 1 TMOD |= 0x01;
60 1 Delay(30);
61 1 LcdInit();
62 1 }
63
64
65 void main()
66 {
67 1 unsigned char c;
68 1 SysInit();
69 1 for (;;) //接收数据并显示,按RST键可清除显示
70 1 {
71 2 c = _getkey(); //_getkey()为库函数,能够以查询方式接收1个字符
72 2 if ( c < 128 ) LcdPutchar(c);
73 2 }
74 1 }
75
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 76 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
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 + -