📄 com.lst
字号:
C51 COMPILER V6.12 COM 06/15/2006 10:09:35 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE COM
OBJECT MODULE PLACED IN .\com.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\com.c DEBUG OBJECTEXTEND
stmt level source
1 #include "reg51.h"
2 #include <absacc.h>
3 unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
4 unsigned char dat;
5
6 void Init_Com(void)
7 {
8 1 TMOD = 0x20; //定时器工作方式2,初值自动装入
9 1 PCON = 0x00; //波特率不增倍
10 1 SCON = 0x50; //串行工作方式设定
11 1 TH1 = 0xFd; //定时器初值高位
12 1 TL1 = 0xFd; //定时器初值低位
13 1 TR1 = 1; //启动定时器
14 1 }
15 /*函数功能:LED数码管延时程序*/
16 void delay(void)
17 {
18 1 int k;
19 1 for(k=0;k<600;k++);
20 1 }
21 /*函数功能:LED数码管显示程序*/
22 void display(int k)
23 {
24 1 P2=0xfe; //位选
25 1 P0=tab[k/1000]; //显示千位数字
26 1 delay(); //延时
27 1 P2=0xfd; //位选
28 1 P0=tab[k%1000/100]; //显示百位数字
29 1 delay(); //延时
30 1 P2=0xfb; //位选
31 1 P0=tab[k%100/10]; //显示十位数字
32 1 delay(); //延时
33 1 P2=0xf7; //位选
34 1 P0=tab[k%10]; //显示个位数字
35 1 delay(); //延时
36 1 P2=0xff; //位选
37 1 }
38 /*函数功能:主程序*/
39 void main()
40 {
41 1 P2=0xff; //端口初始化,关LED显示
42 1 P0=0xff;
43 1 Init_Com(); //调用串口初始化程序
44 1 while(1) //主循环
45 1 {
46 2 if ( RI ) //判断是否收到数据
47 2 {
48 3 dat = SBUF; //接收数据
49 3 RI = 0; //软件清除标志位
50 3 }
51 2 display(dat-48); //显示收到的数据
52 2 }
53 1 }
54
C51 COMPILER V6.12 COM 06/15/2006 10:09:35 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 176 ----
CONSTANT SIZE = 10 ----
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 + -