📄 jie.lst
字号:
C51 COMPILER V7.05 JIE 03/03/2007 10:53:44 PAGE 1
C51 COMPILER V7.05, COMPILATION OF MODULE JIE
OBJECT MODULE PLACED IN jie.OBJ
COMPILER INVOKED BY: D:\keilc an\C51\BIN\C51.EXE jie.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg922.h>
2 #include <intrins.h>
3 #define uchar unsigned char
4 sbit BB=P1^2; //测试灯
5 sbit KEY=P0^0; //键盘中断
6 sbit OUT=P0^1; //动作键
7 sbit LED=P0^2;
8 sbit RXD=P1^1;
9 bit sing;
10 const uchar data BRGR1_DATA=0x00; //波特率设为1200bit/s
11 const uchar data BRGR0_DATA=0x0e;
12
13 void delay(uchar i);
14 void UART_Ini();
15 void INT_Ini();
16 void KEY_Ini();
17 void LedFlash(uchar i);
18 void BBFlash(uchar i);
19
20
21 void main()
22 {
23 1
24 1 INT_Ini(); //端口初始化:P0,P1口均设为准双向口
25 1
26 1 DIVM=100; //分频
27 1 BBFlash(200);
28 1 delay(1);
29 1 BBFlash(200);
30 1 delay(1);
31 1 BBFlash(200);
32 1 UART_Ini(); //串口初始化:
33 1 OUT=1; ////////////////////////
34 1 KEY_Ini(); //键盘中断设置
35 1 EA=1; //开总中断
36 1 sing=1;
37 1 while(1)
38 1 {
39 2 WDCON=0xe0; //关闭看门狗WDRUN,完全掉电PCON=0x23;没有关WDT
40 2 _nop_();
41 2 _nop_();
42 2 _nop_();
43 2 _nop_();
44 2 AUXR1|=0x80; //置位CLKLP以降低功耗
45 2 PCONA=0xff;
46 2 if(sing==1)
47 2 {
48 3 // INT_Ini();
49 3 sing=0;
50 3 PCON|=0x03;
51 3 }
52 2 }
53 1 }
54
55 void key_int() interrupt 7
C51 COMPILER V7.05 JIE 03/03/2007 10:53:44 PAGE 2
56 {
57 1 EA=0;
58 1 EKBI=0;
59 1 PCONA=0xfd;
60 1 while(!RI);
61 1 RI=0;
62 1 if(SBUF==0x55)
63 1 {
64 2 OUT=0;
65 2 BBFlash(200);
66 2 delay(3);
67 2 }
68 1
69 1 if(SBUF==0xAA)
70 1 {
71 2 OUT=1;
72 2 BBFlash(200);
73 2 delay(1);
74 2 BBFlash(200);
75 2 delay(3);
76 2 }
77 1 // KBCON=0x02; //相同电平产生中断
78 1 KBCON=0x00;
79 1 EKBI=1;
80 1 EA=1;
81 1 sing=1;
82 1 }
83
84 void delay(uchar i)
85 {
86 1 uchar k;
87 1 for(;i;i--)
88 1 {
89 2 for(k=0;k<250;k++) //延时1毫秒
90 2 {
91 3 _nop_();
92 3 _nop_();
93 3 _nop_();
94 3 _nop_();
95 3 _nop_();
96 3 _nop_();
97 3 _nop_();
98 3 _nop_();
99 3
100 3 }
101 2
102 2 }
103 1 }
104
105
106 /**************************************
107 * 名称: UART_Ini()
108 * 功能: UART初始化,波特率1200bps
109 **************************************/
110
111 void UART_Ini()
112 {
113 1 SCON=0x40; //串口模式1
114 1 SSTAT=0x00;
115 1 REN=1;
116 1 BRGCON=0;
117 1 BRGR1=BRGR1_DATA;
C51 COMPILER V7.05 JIE 03/03/2007 10:53:44 PAGE 3
118 1 BRGR0=BRGR0_DATA;
119 1 BRGCON=3; //启动UART的波特率发生器
120 1 }
121
122
123 void INT_Ini() //端口初始化
124 {
125 1 P0M1=0x00;
126 1 P0M2=0x00;
127 1 P1M1=0x00;
128 1 P1M2=0x00;
129 1 // P0 = 0xfe;
130 1 // P1 = 0xfd;
131 1 }
132
133 void KEY_Ini()
134 {
135 1 KBPATN=0x00; //设置匹配条件
136 1 KBCON=0x00; //设置为相等中断
137 1 KBMASK=0x01;
138 1 EKBI=1; //使能键盘中断位
139 1
140 1 //相同电平产生中断
141 1 /*
142 1 KBPATN=0x01; //设置匹配条件
143 1 KBCON=0x02; //设置为相等中断
144 1 KBMASK=0x01;
145 1 EKBI=1;
146 1 */
147 1 }
148 void BBFlash(uchar i)
149 {
150 1 uchar k;
151 1 for(k=0;k<i;k++)
152 1 {
153 2 BB=~BB; //蜂鸣器响一下
154 2 BB=~BB;
155 2 BB=~BB;
156 2 }
157 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 266 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
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 + -