text.lst
来自「c8051f020单片机的例程」· LST 代码 · 共 103 行
LST
103 行
C51 COMPILER V7.06 TEXT 07/29/2008 09:37:21 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TEXT
OBJECT MODULE PLACED IN Text.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "c8051f020.h"
2 sbit led=P3^7;
3
4 bit flag=0;
5 unsigned char data1;
6 void SYSCLK_Init();
7 void PORT_Init();
8 void UART0_Init();
9
10
11 void SYSCLK_Init()
12 {
13 1 unsigned int i;
14 1 OSCXCN=0X67; //0X67=0110,0111
15 1 for(i=0;i<256;i++); //等待>1ms
16 1 while(!(OSCXCN&0X80)); //等待XTLVLD变为1
17 1 OSCICN=0X88; //时钟失效监测器,选择外部时钟源作为系统时钟
18 1 }
19
20 void PORT_Init()
21 {
22 1 XBR0 = 0x04;
23 1 XBR1=0X00;
24 1 XBR2=0X40;
25 1
26 1 }
27
28 void UART0_Init()
29 {
30 1 SCON0=0x50; //串口方式1
31 1 TMOD=0X20; //选用定时器1作为波特率发生器
32 1 TH1=0xF4; //波特率为4800
33 1 TL1=0xF4;
34 1 ES0=1; //开启串口中断0
35 1 TF1=0;
36 1 TR1=1; //定时器启动
37 1 PCON=0X00;
38 1 TI0=1;
39 1
40 1 }
41
42
43
44 void UART0_ISR() interrupt 4 using 1
45 {
46 1
47 1
48 1 if(RI0)
49 1 {
50 2 RI0=0;//中断接收标志清零
51 2 data1=SBUF0;//接收数据
52 2
53 2 SBUF0=data1;//发送数据
54 2 led=!led;
55 2 while(TI0==0);
C51 COMPILER V7.06 TEXT 07/29/2008 09:37:21 PAGE 2
56 2 TI0=0;//发送标志清零
57 2 }
58 1
59 1 }
60
61
62
63
64
65 main()
66 {
67 1 WDTCN=0XDE;
68 1 WDTCN=0XAD;
69 1 SYSCLK_Init();
70 1 PORT_Init();
71 1 UART0_Init();
72 1 EA=1;
73 1
74 1
75 1 while(1);
76 1
77 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 100 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?