📄 模拟中断fa.lst
字号:
C51 COMPILER V8.05a 模拟中断FA 04/05/2009 16:15:32 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE 模拟中断FA
OBJECT MODULE PLACED IN 模拟中断fa.OBJ
COMPILER INVOKED BY: D:\Program Files\keil c51 v8.05\C51\BIN\C51.EXE 模拟中断fa.c COMPACT BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<STC12C5410AD.H>
2 sbit clk=P1^2; //时钟线
3 sbit BT_SND=P1^0;//发送线
4 int b,z,d;
5 unsigned char a,c;
6 #define F_TM F0
7 sbit ACC0= ACC^0;
8 sbit ACC1= ACC^1;
9 sbit ACC2= ACC^2;
10 sbit ACC3= ACC^3;
11 sbit ACC4= ACC^4;
12 sbit ACC5= ACC^5;
13 sbit ACC6= ACC^6;
14 sbit ACC7= ACC^7;
15
16
17 /******************进入定时器0********************/
18 void IntTimer0() interrupt 1
19 {
20 1
21 1 clk=0;
22 1 F_TM=1;
23 1
24 1 }
25
26
27 /***************定时器0初始化***************/
28 void init()
29 {
30 1 //TMOD=0x02;
31 1 TH0=(256-10);
32 1 TL0=TH0;
33 1 EA=1;
34 1 ET0=1;
35 1 }
36
37
38
39
40
41 /***********串口通讯设置**************/
42 void cksz()
43 {
44 1 //PCON=0x80;//设置波特率为19200 若想变成9600删除此行即可
45 1 AUXR=0x20;
46 1 TMOD=0x22; //波特率设置
47 1 TH1=0xfd;
48 1 TL1=0xfd;
49 1 TR1=1;
50 1
51 1 REN=1;//工作方式设置
52 1 SM0=0;
53 1 SM1=1;
54 1 EA=1; //开启中断
55 1 ES=1;
C51 COMPILER V8.05a 模拟中断FA 04/05/2009 16:15:32 PAGE 2
56 1 }
57
58 /**************发送**********************/
59 void sed(unsigned char inch)
60 {
61 1 ACC=inch;
62 1 clk=1;
63 1 F_TM=0;
64 1 BT_SND=0; //start bit
65 1 TR0=1; //启动
66 1 while(!F_TM);
67 1
68 1 BT_SND=ACC0; //先送出低位
69 1 clk=1;
70 1 F_TM=0;
71 1 while(!F_TM);
72 1
73 1 BT_SND=ACC1;
74 1 clk=1;
75 1 F_TM=0;
76 1 while(!F_TM);
77 1
78 1 BT_SND=ACC2;
79 1 clk=1;
80 1 F_TM=0;
81 1 while(!F_TM);
82 1
83 1 BT_SND=ACC3;
84 1 clk=1;
85 1 F_TM=0;
86 1 while(!F_TM);
87 1
88 1 BT_SND=ACC4;
89 1 clk=1;
90 1 F_TM=0;
91 1 while(!F_TM);
92 1
93 1 BT_SND=ACC5;
94 1 clk=1;
95 1 F_TM=0;
96 1 while(!F_TM);
97 1
98 1 BT_SND=ACC6;
99 1 clk=1;
100 1 F_TM=0;
101 1 while(!F_TM);
102 1
103 1 BT_SND=ACC7;
104 1 clk=1;
105 1 F_TM=0;
106 1 while(!F_TM);
107 1
108 1 BT_SND=1;
109 1 clk=1;
110 1 F_TM=0;
111 1 while(!F_TM);
112 1 TR0=0; //停止timer
113 1 clk=1;
114 1 }
115
116
117
C51 COMPILER V8.05a 模拟中断FA 04/05/2009 16:15:32 PAGE 3
118
119 /********************主函数**************/
120 void main()
121 {
122 1 init();
123 1 cksz();
124 1 z=0;
125 1 b=0;
126 1 while(1)
127 1 {
128 2 if(b==1)
129 2
130 2 { b=0;
131 3
132 3 sed(a);
133 3 }
134 2 }
135 1
136 1 }
137
138 void time4() interrupt 4
139 {
140 1 RI=0;
141 1
142 1 a=SBUF;
143 1
144 1 if(a=='~')
145 1 {
146 2 z=1;
147 2 }
148 1 if(z==1)
149 1 {
150 2 b=1;
151 2 }
152 1
153 1
154 1
155 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 248 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = 8 ----
DATA SIZE = ---- ----
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 + -