📄 main.lst
字号:
C51 COMPILER V6.23a MAIN 02/21/2005 21:27:33 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c
stmt level source
1 /*
2 目标: 显示缓冲区DisBuf中的数 "Good"
3 2005年2月20日, 成都信息工程学院通信工程系, 郑郁正
4
5 程序功能描述: 多彩的世界,变化无穷
6
7 实现方法: 控制单片机左右两排发光二极管
8 注意事项:运行本程序时,拨码开关 SW1. SW2 全部拨到'OFF'位置(即左边).
9 如果LED6、LED7和LED8不工作,按一下S2和S3即可
10 工作方式控制:按键K1、K2、K3和K4可做出不同的显示。
11 */
12
13 #include <reg52.h> //该头文档描述单片机所有特殊功能寄存器的称名,程序中可直接使用,比喻'P1'
14 #include "LedDriver.h"
15
16 char kbhit( void );
17 char getKey( void );
18 void BuzzerOpen( void );
19 void BuzzerClose( void );
20
21 // 1 2 3 4 5 6 7 1
22 //100, 112, 126, 133, 150, 168, 189, 200
23 void main( void ) //一个工程项目必须有一个main函数,并且只能有一个main函数
24 {
25 1 char keyVal=0;
26 1 unsigned char pn[]={100, 112, 126, 133, 150, 168, 189, 200};
27 1
28 1 while( 1 )
29 1 {
30 2 for( keyVal=0; keyVal<8; ++keyVal)
31 2 {
32 3 unsigned int lp;
33 3 for( lp=0; lp<400; lp++ )
34 3 {
35 4 unsigned char nlp;
36 4 BuzzerOpen();
37 4 for(nlp=pn[keyVal]; nlp>0; --nlp );
38 4 for(nlp=pn[keyVal]; nlp>0; --nlp );
39 4 for(nlp=pn[keyVal]; nlp>0; --nlp );
40 4 for(nlp=pn[keyVal]; nlp>0; --nlp );
41 4 BuzzerClose();
42 4 for(nlp=pn[keyVal]; nlp>0; --nlp );
43 4 for(nlp=pn[keyVal]; nlp>0; --nlp );
44 4 for(nlp=pn[keyVal]; nlp>0; --nlp );
45 4 for(nlp=pn[keyVal]; nlp>0; --nlp );
46 4 }
47 3 }
48 2 }
49 1
50 1 LedPrint(0, Char_6);
51 1 LedPrint(1, Char_o);
52 1 LedPrint(2, Char_o);
53 1 LedPrint(3, Char_d);
54 1
55 1 while( 1 ) //永远为真, 也就是重复运行下面括号中的所有语句,直到永远永远
C51 COMPILER V6.23a MAIN 02/21/2005 21:27:33 PAGE 2
56 1 {
57 2 LedWork();
58 2 if( kbhit() ) //如果有键按下返回非0值
59 2 {
60 3 keyVal=getKey(); //K1---K16返回的键值分别为0---15
61 3 LedSetInterval( (keyVal+1)*10 );
62 3 }
63 2 } //回到执行前面的while语句
64 1 }
65
66 /*
67 1. 参考任一个显不方式的模块,增加一种显示方式对应键K4,左右两排发光二极管交替亮灭
68 2. 每个按键Ki(i=1...16)对应一个发光二极管LEDi,按相应的键Ki,则对应的灯LEDi亮,
69 再按,则灭,交替工作。
70 3. 你现在可以做一下十字路的交通灯管制系统了,做产品就这么容量 ^=^
71 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 252 ----
CONSTANT SIZE = 8 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 12
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 + -