📄 sy_003_2.lst
字号:
C51 COMPILER V7.06 SY_003_2 08/31/2008 19:11:22 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE SY_003_2
OBJECT MODULE PLACED IN ..\..\..\..\新建文件夹\SY_003_2.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE SY_003_2.C BROWSE DEBUG OBJECTEXTEND OBJECT(..\..\..\..\新建文件夹\SY_003_2
-.obj)
stmt level source
1 /*******************************************************************************
2 *
3 * File : SY_003_2.c
4 * Date : 2007-10-14
5 * Version : 1.0
6 * Powerd by : shenyae86 QQ:184676957
7 * 中北大学信息与通信工程学院 沈阳
8 ********************************************************************************
9 * Descriptoon:
10 * PC - MCU 串行通迅程序
11 * 单片机接收主机的数据,然后将数据传送到P0口, 并传回给主机;
12 * 当按下AN1时, 单片机发送字串
13 * "wellcome\n\rQQ:184676957\n\re_mail:shenyae86@163.com \n\r"
14 * 给主机.
15 * 适用于CC100A CC100B CC100C
16 * 产品网站 http://www.CCNUC.CN 传诚科技
17 *
18 *******************************************************************************/
19 #include <reg51.h>
20 #include <intrins.h>
21 unsigned char tmp;
22 char code str[] = "HELLO\n\rQQ:184676957\n\re_mail:shenyae86@163.com \n\r";
23 void send_str();
24 void DelayMs(unsigned char ms);
25 void send_char(unsigned char txd);
26 sbit AN1 = P3^2;
27 main()
28 {
29 1 TMOD = 0x20; // 定时器1工作于8位自动重载模式, 用于产生波特率
30 1 TH1 = 0xFD; // 波特率9600
31 1 TL1 = 0xFD;
32 1 SCON = 0x50; // 设定串行口工作方式
33 1 PCON &= 0xef; // 波特率不倍增
34 1
35 1 TR1 = 1; // 启动定时器1
36 1 IE = 0x0; // 禁止任何中断
37 1
38 1 while(1)
39 1 {
40 2 if(AN1==0) // 当按键被按下时
41 2 {
42 3 DelayMs(255); // 延时去抖动
43 3 if(AN1==1) // 再次扫描 当按键松开时
44 3 {
45 4 send_str(); // 传送字串"welcome!...
46 4 }
47 3 }
48 2 if(RI) // 是否有数据到来
49 2 {
50 3 RI = 0;
51 3 tmp = SBUF; // 暂存接收到的数据
52 3 P2 = 0x84; // 选通LED灯
53 3 P0 = tmp; // 数据传送到P0口
54 3 send_char(tmp); // 回传接收到的数据
C51 COMPILER V7.06 SY_003_2 08/31/2008 19:11:22 PAGE 2
55 3 }
56 2 }
57 1 }
58
59 void send_char(unsigned char txd)
60 // 传送一个字符
61 {
62 1 SBUF = txd;
63 1 while(!TI); // 等特数据传送
64 1 TI = 0; // 清除数据传送标志
65 1 }
66
67 void send_str()
68 // 传送字串
69 {
70 1 unsigned char i = 0;
71 1 while(str[i] != '\0')
72 1 {
73 2 SBUF = str[i];
74 2 while(!TI); // 等特数据传送
75 2 TI = 0; // 清除数据传送标志
76 2 i++; // 下一个字符
77 2 }
78 1 }
79
80 void DelayMs(unsigned char ms)
81 // 延时子程序
82 {
83 1 unsigned char i;
84 1 while(ms--)
85 1 {
86 2 for(i = 0; i < 120; i++);
87 2 }
88 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 101 ----
CONSTANT SIZE = 49 ----
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 + -