📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 10/25/2006 16:06:08 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显示PC键盘的按键值
3 硬件接法:PC键盘共有2根信号线:CLK和DAT。CLK接/INT1,DAT接P1.5。
4 运行效果:请按字母或数字键,LCD上显示键入的字符。Enter换行,ESC可清屏。
5 *******************************************************************************/
6
7
8 #include "LCD.h"
9 #include "KeyBoard.h"
10
11
12 /*******************************************************************************
13 函数:Delay()
14 功能:延时0.01s~2.56s
15 参数:t>0时,延时(t*0.01)s
16 t=0时,延时2.56s
17 说明:定时10ms的定时器初值=65536-0.01/(1/(f/12)),其中f为晶振频率
18 *******************************************************************************/
19 void Delay(unsigned char t)
20 {
21 1 do
22 1 {
23 2 TH0 = 0xDC; //设置定时器初值(定时10ms)
24 2 TL0 = 0x00;
25 2 TR0 = 1; //启动定时器
26 2 while ( !TF0 ); //等待定时器溢出
27 2 TR0 = 0; //停止定时器
28 2 TF0 = 0; //清除溢出标志
29 2 } while ( --t != 0 ); //循环t次
30 1 }
31
32
33 //系统初始化
34 void SysInit()
35 {
36 1 TMOD = 0x01;
37 1 Delay(30);
38 1 LcdInit();
39 1 KB_Init();
40 1 }
41
42
43 void main()
44 {
45 1 unsigned char n = 0;
46 1 unsigned char k;
47 1 SysInit();
48 1 LcdClear();
49 1 for (;;)
50 1 {
51 2 k = GetKey();
52 2 switch (k)
53 2 {
54 3 case '\n': //Enter
55 3 LcdPutchar('\r');
C51 COMPILER V7.06 MAIN 10/25/2006 16:06:08 PAGE 2
56 3 LcdPutchar('\n');
57 3 break;
58 3 case 0x27: //ESC
59 3 LcdClear();
60 3 break;
61 3 default:
62 3 LcdPutchar(k);
63 3 break;
64 3 }
65 2 }
66 1 }
67
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 639 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 3
IDATA SIZE = ---- ----
BIT SIZE = 3 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -