📄 main.lst
字号:
C51 COMPILER V8.08 MAIN 06/25/2010 17:25:01 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*********************************************************************************************************
-******************************
2 说明: 串口0转USB接口,需要安装PL2303驱动程序,驱动程序在同一目录中(PL2303USB.zip),安装完成后请查看该虚拟串口
-对应于哪个串口号COMx
3 在使用串口调试助手时选择该串口号(如COM3等).串口调试工具(serial V2.2.exe)位于UART1活页夹中
4 本程序的功能为:从串口接收一个数据,将此数据再发送回去
5
6 要求:打开拨码开关J10,使串口转USB接口有效
7 **********************************************************************************************************
-******************************/
8 #include <sh88f516.h>
9
10 unsigned char RCV_NUM;
11 bit flag1;
12 void init();
13 void SendChar(unsigned char value);
14 void delay100ms(unsigned int delayvalue);
15
16 main()
17 {
18 1
19 1 init();
20 1
21 1 while(1)
22 1 {
23 2 if(flag1)
24 2 {
25 3 flag1 = 0;
26 3 SendChar(RCV_NUM);
27 3 delay100ms(10);
28 3 }
29 2
30 2 }
31 1
32 1 }
33
34
35 void delay100ms(unsigned int delayvalue)
36 {
37 1
38 1
39 1 unsigned int i;
40 1 if (delayvalue)
41 1 {
42 2 delayvalue--;
43 2 for (i=0;i<100;i++)
44 2 {
45 3 ;
46 3 }
47 2
48 2 }
49 1 }
50
51 void init()
52 {
C51 COMPILER V8.08 MAIN 06/25/2010 17:25:01 PAGE 2
53 1
54 1 CLKCON = 0x00; //时钟设置
55 1
56 1 RCAP2H=0xFF; //9600
57 1 RCAP2L=0xCC;
58 1 TH2=0xFF;
59 1 TL2=0xCC;
60 1 T2CON=0x34; //定时器2产生接收和发送波特率,开启定时器,工作在定时器方式,自动重装载
61 1 SCON=0x50; //SM0 SM1 SM2 REN TB8 RB8 TI RI
62 1 //工作在方式1(8位异步方式,可变波特率),允许接收,清0发送接收标志位
63 1 ES0 = 1; //打开串口中断 有时为 ES=1;
64 1 EA = 1; //开启总中断
65 1
66 1 }
67
68
69 void UART0_RCV_INT() interrupt 4 using 3 //串口0接收中断的中断号为4.
70 {
71 1
72 1 ES0 = 0;
73 1 RCV_NUM = SBUF;
74 1 flag1 = 1;
75 1
76 1 RI = 0;
77 1 ES0 = 1;
78 1
79 1
80 1
81 1 }
82
83 void SendChar(unsigned char value)
84 {
85 1 ES0 = 0; //ES0=0;
86 1 delay100ms(10);
87 1 SBUF=value; //发送一个字节
88 1 while(TI==0); //等待TI置1
89 1 TI=0; //清除TI
90 1 ES0 = 1; //ES0=1;
91 1 }
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 101 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
C51 COMPILER V8.08 MAIN 06/25/2010 17:25:01 PAGE 3
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -