📄 chengxu.lst
字号:
C51 COMPILER V8.05a CHENGXU 10/21/2010 16:35:58 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE CHENGXU
OBJECT MODULE PLACED IN chengxu.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE chengxu.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************
2 汇诚科技
3
4 实现功能:串口控制继电器程序
5 使用芯片:AT89S52
6 晶振:11.0592MHZ
7 波特率:9600
8 编译环境:Keil
9 作者:zhangxinchunleo
10 网站:www.ourhc.cn
11 淘宝店:汇诚科技 http://shop36330473.taobao.com
12 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!
13
14 *********************************************************************/
15 /********************************************************************
16 单片机与PC机采用9针串口,MAX232通讯,波特率默认为9600.
17
18 单片机接收PC机发送的十六进制码表如下:
19
20 01、全开:PC发送'I';
21 02、全关:PC发送'i';
22
23 03、第一路开:PC发送'A';
24 04、第二路开:PC发送'B';
25 05、第三路开:PC发送'C';
26 06、第四路开:PC发送'D';
27 07、第五路开:PC发送'E';
28 08、第六路开:PC发送'F';
29 09、第七路开:PC发送'G';
30 10、第八路开:PC发送'H';
31
32 11、第一路关:PC发送'a';
33 12、第二路关:PC发送'b';
34 13、第三路关:PC发送'c';
35 14、第四路关:PC发送'd';
36 15、第五路关:PC发送'e';
37 16、第六路关:PC发送'f';
38 17、第七路关:PC发送'g';
39 18、第八路关:PC发送'h';
40
41 *********************************************************************/
42 #include<reg52.h> //库文件
43 #define uchar unsigned char//宏定义无符号字符型
44 #define uint unsigned int //宏定义无符号整型
45 /********************************************************************
46 初始定义
47 *********************************************************************/
48
49 unsigned char dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容
50 /*定义八位出为单片机P2口*/
51 sbit K1=P2^0;
52 sbit K2=P2^1;
53 sbit K3=P2^2;
54 sbit K4=P2^3;
55 sbit K5=P2^4;
C51 COMPILER V8.05a CHENGXU 10/21/2010 16:35:58 PAGE 2
56 sbit K6=P2^5;
57 sbit K7=P2^6;
58 sbit K8=P2^7;
59
60 /*定义八位入为单片机P1口*/
61 sbit SB1=P1^0;
62 sbit SB2=P1^1;
63 sbit SB3=P1^2;
64 sbit SB4=P1^3;
65 sbit SB5=P1^4;
66 sbit SB6=P1^5;
67 sbit SB7=P1^6;
68 sbit SB8=P1^7;
69
70 /********************************************************************
71 延时函数
72 *********************************************************************/
73 void delay(uchar t)
74 {
75 1 uchar i,j;
76 1 for(i=0;i<t;i++)
77 1 {
78 2 for(j=13;j>0;j--);
79 2 { ;
80 3 }
81 2 }
82 1 }
83
84 /********************************************************************
85 功能:串口初始化,波特率9600,方式1
86 *********************************************************************/
87 void Init_Com(void)
88 {
89 1 TMOD = 0x20;
90 1 PCON = 0x00;
91 1 SCON = 0x50;
92 1 TH1 = 0xFd;
93 1 TL1 = 0xFd;
94 1 TR1 = 1;
95 1 }
96
97 /********************************************************************
98 主函数
99 *********************************************************************/
100 void main()
101 {
102 1 Init_Com();//串口初始化
103 1 while(1)
104 1 {
105 2
106 2 if ( RI ) //扫描判断是否接收到数据,
107 2 {
108 3 dat = SBUF; //接收数据SBUF赋与dat
109 3 RI=0; //RI 清零。
110 3 //SBUF = dat; //在原样把数据发送回去
111 3 }
112 2 /********************************************************************
113 2 接收数据判断函数
114 2 *********************************************************************/
115 2 switch(dat) //接收数据判断
116 2 {
117 3 uchar k;
C51 COMPILER V8.05a CHENGXU 10/21/2010 16:35:58 PAGE 3
118 3 k=10;
119 3 case 'I': P2=0X00;delay(k);break; // 全开
120 3 case 'i': P2=0XFF;delay(k);break; // 全关
121 3
122 3 case 'A': K1=0;delay(k);break; // 第一路开
123 3 case 'B': K2=0;delay(k);break; // 第二路开
124 3 case 'C': K3=0;delay(k);break; // 第三路开
125 3 case 'D': K4=0;delay(k);break; // 第四路开
126 3 case 'E': K5=0;delay(k);break; // 第五路开
127 3 case 'F': K6=0;delay(k);break; // 第六路开
128 3 case 'G': K7=0;delay(k);break; // 第七路开
129 3 case 'H': K8=0;delay(k);break; // 第八路开
130 3
131 3 case 'a': K1=1;delay(k);break; // 第一路关
132 3 case 'b': K2=1;delay(k);break; // 第二路关
133 3 case 'c': K3=1;delay(k);break; // 第三路关
134 3 case 'd': K4=1;delay(k);break; // 第四路关
135 3 case 'e': K5=1;delay(k);break; // 第五路关
136 3 case 'f': K6=1;delay(k);break; // 第六路关
137 3 case 'g': K7=1;delay(k);break; // 第七路关
138 3 case 'h': K8=1;delay(k);break; // 第八路关
139 3
140 3 default:break; // 跳出
141 3 }
142 2
143 2 }
144 1 }
145
146 /********************************************************************
147 结束
148 *********************************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 193 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 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 + -