📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 10/18/2006 11:00:11 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <AT89X51.H>
2 unsigned char dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容
3 sbit gewei=P1^3; //个位选通定义
4 sbit shiwei=P1^2; //十位选通定义
5 unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,
6 0x6d,0x7d,0x07, 0x7f,0x6f,};
7 void Delay(unsigned int tc) //延时程序
8 {
9 1 while( tc != 0 )
10 1 {unsigned int i;
11 2 for(i=0; i<100; i++);
12 2 tc--;}
13 1 }
14 void LED() //LED显示接收到的数据(十进制)
15 {
16 1 shiwei=0;
17 1 P0=table[dat/10];
18 1 Delay(8);
19 1 shiwei=1;
20 1 gewei=0;
21 1 P0=table[dat%10];
22 1 Delay(5);
23 1 gewei=1;
24 1 }
25 ///////功能:串口初始化,波特率9600,方式1/////////
26 void Init_Com(void)
27 {
28 1 TMOD = 0x20;
29 1 PCON = 0x00;
30 1 SCON = 0x50;
31 1 TH1 = 0xFd;
32 1 TL1 = 0xFd;
33 1 TR1 = 1;
34 1 }
35 /////主程序功能:实现接收数据并把接收到的数据原样发送回去///////
36 void main()
37 {
38 1 Init_Com();//串口初始化
39 1 while(1)
40 1 {
41 2 if ( RI ) //扫描判断是否接收到数据,
42 2 {
43 3 dat = SBUF; //接收数据SBUF赋与dat
44 3 RI=0; //RI清零。
45 3 SBUF = dat; //在原样把数据发送回去
46 3 }
47 2 LED(); //显示接收到的数据
48 2 }
49 1 }
50 ///这一个例子是以扫描的方式编写的,还可以以中断的方式编写,请大家思考//////
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 114 ----
CONSTANT SIZE = 10 ----
C51 COMPILER V7.06 MAIN 10/18/2006 11:00:11 PAGE 2
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 2
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 + -