📄 demo451.lst
字号:
C51 COMPILER V8.02 DEMO451 11/30/2006 16:41:31 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE DEMO451
OBJECT MODULE PLACED IN DEMO451.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DEMO451.C BROWSE DEBUG OBJECTEXTEND
line level source
1 //CH451
2 //AT89C51 C语言程序
3 //Web: http//winchiphead.com
4 //Author: yhw 2003.7
5
6 //功能 开机后在最低位置1,其余清零;按下键后,左移两位,在低两位显示
7 //十进制键值,如果按住键不放,最低位小数点点亮,释放后小数点熄灭。
8
9 #include <reg51.h>
10 #include "LCD1602.h"
11
12 //如果使用键盘中断请定义
13 #define USE_KEY 1
14
15
16 //须主程序定义的参数
17 sbit ch451_dclk=P1^0; //串行数据时钟上升延激活
18 sbit ch451_din =P1^1; //串行数据输出,接CH451的数据输入
19 sbit ch451_load=P1^3; //串行命令加载,上升延激活
20 sbit ch451_dout=P3^3; //INT1,键盘中断和键值数据输入,接CH451的数据输出
21
22 unsigned char ch451_key; // 存放键盘中断中读取的键值
23
24 #include <CH451.C>
25
26 //*************************************************
27 //延时程序
28 void delay(){ //在12P下延时十毫秒
29 1 unsigned char i,j,k;
30 1 for(i=0;i<10;i++)
31 1 for(j=0;j<40;j++)
32 1 for(k=0;k<120;k++);
33 1 }
34
35 //************************************************
36 void main()
37 {
38 1 unsigned char a,b,c,d;
39 1
40 1 lcdinit();
41 1 d=0;
42 1 ch451_init(); //调用初始化
43 1 ch451_write(0x402); //开键盘
44 1 EA=1;
45 1 ch451_key=0x0ff;
46 1 while(1)
47 1 {
48 2 while(ch451_key==0xff); //等待中断
49 2 a=ch451_key;
50 2 d=a;
51 2 ch451_key=0x0ff;
52 2 a&=0x3f; //显示十进制数据
53 2 b=a;
54 2 a/=10;
55 2 b%=10;
C51 COMPILER V8.02 DEMO451 11/30/2006 16:41:31 PAGE 2
56 2
57 2 delay();
58 2 c=ch451_read();
59 2 while(c==d) //测试按键是否释放
60 2 {
61 3 delay();
62 3 c=ch451_read();
63 3 }
64 2 DisplayOneChar(0, 1, a+0x30);
65 2 DisplayOneChar(1, 1, b+0x30);
66 2 }
67 1 }
*** WARNING C316 IN LINE 67 OF DEMO451.C: unterminated conditionals
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 273 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 3
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -