📄 com_1.lst
字号:
C51 COMPILER V6.12 COM_1 01/06/2002 05:12:13 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE COM_1
OBJECT MODULE PLACED IN .\com_1.OBJ
COMPILER INVOKED BY: G:\单片机学习\单片机软件\keil\C51\BIN\C51.EXE .\com_1.c DEBUG OBJECTEXTEND
stmt level source
1 #include "reg51.h"
2 #include "string.h"
3 char receive_data[]="0123456789";
4 char flag;
5 unsigned char code table[]={
6 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
7 //串口初始化 晶振为11.0592M 方式1 波特率300-57600
8 void InitCom(unsigned char BaudRate)
9 {
10 1 unsigned char THTL;
11 1 switch (BaudRate)
12 1 {
13 2 case 1: THTL = 64; break; //波特率300
14 2 case 2: THTL = 160; break; //600
15 2 case 3: THTL = 208; break; //1200
16 2 case 4: THTL = 232; break; //2400
17 2 case 5: THTL = 244; break; //4800
18 2 case 6: THTL = 250; break; //9600
19 2 case 7: THTL = 253; break; //19200
20 2 case 8: THTL = 255; break; //57600
21 2 default: THTL = 208;
22 2 }
23 1 SCON = 0x50; //串口方式1,允许接收
24 1 TMOD = 0x20; //定时器1定时方式2
25 1 TCON = 0x40; //设定时器1开始计数
26 1 TH1 = THTL;
27 1 TL1 = THTL;
28 1 PCON = 0x80; //波特率加倍控制,SMOD位
29 1 RI = 0; //清收发标志
30 1 TI = 0;
31 1 TR1 = 1; //启动定时器
32 1 }
33
34 //从串口接收一个定长字符串(非中断方式,只用于字符需有一个的idata字符串数组)
35 //如unsigned char *Str;
36 //unsigned char i[]="abcd";
37 //InHandStr = &i;
38 void ComInStr(unsigned char *Str)
39 {
40 1 while(*Str != 0x00) //判断是否到了字符串的尾部
41 1 {
42 2 while(!RI); //空语句判断字符是否收完
43 2 *Str = SBUF; //保存字符
44 2 RI = 0; //清RI
45 2 Str++; //字符串指针加一
46 2 }
47 1 }
48
49 void delay1s(void)
50
51 {
52 1
53 1 unsigned char i,j,k;
54 1
55 1 for(k=40;k>0;k--)
C51 COMPILER V6.12 COM_1 01/06/2002 05:12:13 PAGE 2
56 1
57 1 for(i=20;i>0;i--)
58 1
59 1 for(j=248;j>0;j--);
60 1
61 1 }
62 void main()
63 {
64 1 InitCom(6);
65 1 EA=1;
66 1 ES=1;
67 1 ET1=0;
68 1 ComInStr(receive_data);
69 1 while(1)
70 1 { char i;
71 2
72 2
73 2 for(i=0;i<10;i++)
74 2 { //P2=table[1];
75 3 P2=table[receive_data[i]-48];
76 3 delay1s();
77 3 }
78 2 flag=0;
79 2
80 2 }
81 1
82 1
83 1 }
84
85 //串口接收中断函数
86 //void serial () interrupt 4 using 3
87 //{
88 //ComInStr(receive_data);
89 //flag=1;
90 //}
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 222 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 4
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 + -