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