📄 wuxian_rx22.lst
字号:
C51 COMPILER V7.06 WUXIAN_RX22 07/18/2008 14:57:00 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE WUXIAN_RX22
OBJECT MODULE PLACED IN WUxian_RX22.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE WUxian_RX22.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //#include <stc12c2052AD.H>// 标准库的头文件
2 #include <reg51.h>
3 #include <intrins.h>
4 #define uchar unsigned char
5 #define uint unsigned int
6 bit read_flag=0;
7 sbit baojing=P1^4;
8 unsigned char time;
9 void init_serialcomm(void)
10 {
11 1 SCON = 0x50; //SCON: serail mode 1 8 UART enable ucvr
12 1 TMOD |= 0x20; //TMOD: timer 1 mode 2 8 reload
13 1 PCON |= 0x00;
14 1 TH1 = 0x40;
15 1 IE |= 0x90; //Enable Serial Interrupt
16 1 TR1 = 1; // timer 1 run
17 1 TI=1;
18 1
19 1 }
20
21 //向串口发送一个字符
22 void sen(unsigned char ch)
23 {
24 1 SBUF=ch;
25 1 while(TI==0);
26 1 TI=0;
27 1 }
28 void delay(uint t)
29 {
30 1 uchar i;
31 1 while(t--)
32 1 { for (i=200;i>0;i--);
33 2 {}}
34 1 }
35 uchar jingdi(void)
36
37 {
38 1 uchar i,temp;
39 1 temp=1;
40 1
41 1 for(i=3;i>0;i--)
42 1 {
43 2 baojing=0;
44 2 delay(500);
45 2 baojing=1;
46 2 delay(100);
47 2 }
48 1 return temp;
49 1 }
50
51 /*void serial () interrupt 4 using 3
52 {
53 if(RI)
54 {
55 unsigned char ch;
C51 COMPILER V7.06 WUXIAN_RX22 07/18/2008 14:57:00 PAGE 2
56 RI = 0;
57 TI=1;
58 ch=SBUF;
59 sen(ch);
60
61 read_flag=1;
62 }
63 read_flag=0;
64 }
65 */
66
67 main()
68 { unsigned char sj, j,q,k,i;
69 1 //uchar shuju[1];
70 1 init_serialcomm(); //初始化串口
71 1 baojing=0;
72 1 delay(100);
73 1 baojing=1;
74 1 while(1)
75 1 {
76 2 start:
77 2 RI = 0;
78 2 if(j==5||q==5)///if1
79 2 {j=0;
80 3 q=0;
81 3 jingdi();
82 3 goto start;
83 3 }
84 2 else{
85 3 for(k=5;k>0;k--)
86 3 delay(100);
87 3 RI = 0;
88 3 sen(0x02);
89 3 if(RI==1){ //2if
90 4 sj=SBUF;
91 4 delay(200);
92 4 sen(sj);
93 4 if ((i==0)&&(sj==0x09)) //3if
94 4 {
95 5 j=0;
96 5
97 5 q=0;
98 5 for(k=5;k>0;k--)
99 5 delay(100);
100 5 sen(sj);
101 5 goto start;
102 5 }
103 4 else{
104 5 j++;
105 5
106 5 q=0;
107 5 goto start;
108 5 } //3if //判断是否接收到数据如果是66继续报接收信号!如果接受不到开始记数超过一定时间报警
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -