📄 rs232.lst
字号:
C51 COMPILER V7.50 RS232 11/02/2007 20:31:33 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE RS232
OBJECT MODULE PLACED IN RS232.OBJ
COMPILER INVOKED BY: D:\常用软件\80C51\KeilC51v750a_Full\anzhuang\C51\BIN\C51.EXE RS232.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /******************************************
2 程序功能:通过PC端的串口调试工具,从PC端发出一个十六进制的数,
3 通过串口传输到单片机,并有单片机通过
4 LED数码管显示其ASII码,而且单片机又将
5 这个数发回PC端,并在PC端显示出来,从而
6 实现单片机与PC机的通讯
7 *****************************************/
8 #include <reg52.h>
9 unsigned char date;
10 code unsigned char seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
11 0x82,0xf8,0x80,0x90,0xff}; //共阳数码管段码
12
13
14 //***********************************************************
15
16 // 延时子程序
17
18 //************************************************************
19 void delay1ms()
20 {
21 1 unsigned char i;
22 1 for(i=124;i>0;i--); //延时124*8+10=1002us
23 1 }
24
25 //**********************************************************//
26
27 //************显示函数,显示四位的date数据******************//
28
29 //*************P2口接段码,P1.0-P1.3接位选******************//
30
31 //**********************************************************//
32
33 void LED_display(int date) //显示4位数
34 {
35 1 P1=0xfd; //P1.1=0,选通第二位,百
36 1 P2=seg7code[date%1000/100];
37 1 delay1ms();
38 1 P2=0xff; //消隐
39 1
40 1 P1=0xfb; //P1.3=0,选通第三位,十
41 1 P2=seg7code[date%100/10];
42 1 delay1ms();
43 1 P2=0xff; //消隐
44 1
45 1 P1=0xf7; //P1.3=0,选通第四位,个
46 1 P2=seg7code[date%10];
47 1 delay1ms();
48 1 P2=0xff; //消隐
49 1 }
50
51 //************************************************************//
52
53 //******************串口初始化函数****************************//
54
55 //************************************************************//
C51 COMPILER V7.50 RS232 11/02/2007 20:31:33 PAGE 2
56 Initial_com()
57 {
58 1 EA=1; //开总中断
59 1 ES=1; //允许串口中断
60 1 ET1=1; //允许定时器T1的中断
61 1 TMOD=0x20; //定时器T1,在方式3中断产生波特率
62 1 PCON=0x00; //SMOD=0
63 1 SCON=0x50;
64 1 TH1=0xfd; //波特率设置为9600
65 1 TL1=0xfd;
66 1 TR1=1; //开定时器T1运行控制位
67 1 }
68 //************************************************************//
69 //************************主函数******************************//
70 //************************************************************//
71 main()
72 {
73 1 Initial_com();
74 1 while(1)
75 1 {
76 2 if(RI)
77 2 {
78 3 date=SBUF;
79 3 SBUF=date;
80 3 RI=0;
81 3 }
82 2 LED_display(date);
83 2 }
84 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 154 ----
CONSTANT SIZE = 11 ----
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 + -