📄 uartslave.lst
字号:
C51 COMPILER V7.50 UARTSLAVE 04/14/2006 15:54:55 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE UARTSLAVE
OBJECT MODULE PLACED IN UartSlave.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE UartSlave.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <c8051f040.h>
2
3 typedef unsigned char uchar;
4 typedef unsigned int uint;
5
6 sfr RCAP2=0XCA;
7 sfr TMR2=0XCC;
8
9 xdata uchar aa[6]={0x11,0x12,0x13,0x14,0x15,0x16};
10 xdata uchar res[6];
11 xdata uchar k;
12 xdata uchar t;
13 enum{aalen=6};
14
15 void delay1ms(uint time);
16 void uart0_ini();
17 void t1_ini();
18 void t1_baud(uchar t1h);
19 void t2_ini();
20 void t2_baud(uint t2reload);
21 void config(void);
22
23 void uart0_ini(){
24 1 SFRPAGE=0X00;
25 1 SADEN0=0X00;
26 1 SADDR0=0X00;
27 1 SSTA0=0X04;
28 1 SCON0=0X50;
29 1 SCON0&=0XFC;
30 1 IE|=0X10;
31 1 t1_ini();
32 1 t2_ini();
33 1 }
34
35 void t1_ini(){
36 1 SFRPAGE=0X00;
37 1 CKCON=0X10;
38 1 TMOD=0X20;
39 1 TCON=0X40;
40 1 }
41
42 void t1_baud(uchar val){
43 1 SFRPAGE=0X00;
44 1 TH1=~val+1;
45 1 TL1=TH1;
46 1 }
47
48 void t2_ini(){
49 1 SFRPAGE=0X00;
50 1 TMR2CF=0X08;
51 1 TMR2CN=0X04;
52 1 }
53
54 void t2_baud(uint t2reload){
55 1 SFRPAGE=0X00;
C51 COMPILER V7.50 UARTSLAVE 04/14/2006 15:54:55 PAGE 2
56 1 RCAP2=~t2reload+1;
57 1 TMR2=RCAP2;
58 1 }
59
60 void config(void){
61 1 WDTCN=0X07;
62 1 WDTCN=0XDE;
63 1 WDTCN=0XAD;
64 1 SFRPAGE=0X0F;
65 1 XBR0=0X04;
66 1 XBR1=0X00;
67 1 XBR2=0X40;
68 1 XBR3=0X00;
69 1 SFRPAGE=0X0F;
70 1 P0MDOUT=0X00;
71 1 P1MDIN=0XFF;
72 1 SFRPAGE=0X0F;
73 1 CLKSEL=0X00;
74 1 OSCXCN=0X00;
75 1 OSCICN=0X84;
76 1 }
77
78 void main(){
79 1 config();
80 1 uart0_ini();
81 1 t1_baud(10);
82 1 t2_baud(10);
83 1 EA=1;
84 1 k=0;
85 1 t=0;
86 1 SFRPAGE=0X00;
87 1 while(1){
88 2 if(k>=aalen){
89 3 SFRPAGE=0X00;
90 3 TR1=0;
91 3 }
92 2 if(t>=aalen){
93 3 SFRPAGE=0X00;
94 3 TR2=0;
95 3 }
96 2 }
97 1 }
98
99 void uart0_ISR() interrupt 4{
100 1 SFRPAGE=0X00;
101 1 if(SCON0&0X01){
102 2 res[t]=SBUF0;
103 2 if(t==0)
104 2 SBUF0=aa[0];
105 2 t++;
106 2 SCON0&=0XFE;
107 2 }
108 1 if(SCON0&0X02){
109 2 k++;
110 2 SBUF0=aa[k];
111 2 SCON0&=0XFD;
112 2 }
113 1 }
114
115
116
117
C51 COMPILER V7.50 UARTSLAVE 04/14/2006 15:54:55 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 265 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 14 ----
PDATA SIZE = ---- ----
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 + -