📄 _main.lst
字号:
C51 COMPILER V7.06 _MAIN 08/24/2007 00:43:39 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
stmt level source
1 //CH451
2 //AT89C51 C语言程序
3 //Web: http//winchiphead.com
4 //Author: yhw 2003.7
5
6 //功能 开机后在最低位置1,其余清零;按下键后,左移两位,在低两位显示
7 //十进制键值,如果按住键不放,最低位小数点点亮,释放后小数点熄灭。
8
9 #include "ADuC845.h"
10 //如果使用键盘中断请定义
11 #define USE_KEY 1
12 unsigned char ch451_key; // 存放键盘中断中读取的键值
13 #include "ch451.h"
14 //须主程序定义的参数
15
16
17
18
19
20 //*************************************************
21 //延时程序
22 void delay(){ //在12P下延时十毫秒
23 1 unsigned char i,j,k;
24 1 for(i=0;i<10;i++)
25 1 for(j=0;j<40;j++)
26 1 for(k=0;k<120;k++);
27 1 }
28
29 //************************************************
30 void main(){
31 1 unsigned char a;
32 1 ch451_write(CH451_RESET);
33 1 ch451_init(); //调用初始化
34 1
35 1 ch451_write(0x403);
36 1
37 1 ch451_write(0x580); //测试送入命令
38 1 ch451_write(CH451_DIG0|0X01); //最低位显示1
39 1 EA=1;
40 1 ch451_key=0x0ff;
41 1 while(1){
42 2 while(ch451_key==0xff); //等待中断
43 2 a=ch451_key;
44 2 //d=a;
45 2 ch451_key=0x0ff;
46 2 ch451_write(CH451_RIGHTMOV); //左移两位
47 2 //ch451_write(0x300);
48 2 //a&=0x3f; //显示十进制数据
49 2 //b=a;
50 2 //a/=10;
51 2 switch(a)
52 2 {
53 3 case 0x5c: ch451_write(CH451_DIG7|0x00); break;
54 3 case 0x54: ch451_write(CH451_DIG7|0x01); break;
55 3 case 0x4c: ch451_write(CH451_DIG7|0x02); break;
C51 COMPILER V7.06 _MAIN 08/24/2007 00:43:39 PAGE 2
56 3 case 0x44: ch451_write(CH451_DIG7|0x03); break;
57 3
58 3 case 0x5d: ch451_write(CH451_DIG7|0x04); break;
59 3 case 0x55: ch451_write(CH451_DIG7|0x05); break;
60 3 case 0x4d: ch451_write(CH451_DIG7|0x06); break;
61 3 case 0x45: ch451_write(CH451_DIG7|0x07); break;
62 3
63 3 case 0x5e: ch451_write(CH451_DIG7|0x08); break;
64 3 case 0x56: ch451_write(CH451_DIG7|0x09); break;
65 3
66 3
67 3 default: ch451_write(CH451_DIG7|0x80); break;
68 3
69 3 }
70 2 //ch451_write(CH451_DIG1|a);
71 2 //b%=10;
72 2 //ch451_write(CH451_DIG0|b);
73 2 //delay();
74 2 //c=ch451_read();
75 2 //while(c==d) //测试按键是否释放
76 2 //{
77 2 // ch451_write(CH451_DIG0|b|0x80);
78 2 //delay();
79 2 // c=ch451_read();
80 2 // }
81 2 //ch451_write(CH451_DIG0|b);
82 2 }
83 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 322 ----
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 + -