uart_inc.lst
来自「菜鸟,详细NRF24E1运用,程序,电路」· LST 代码 · 共 177 行
LST
177 行
C51 COMPILER V9.00 UART_INC 11/13/2010 14:50:03 PAGE 1
C51 COMPILER V9.00, COMPILATION OF MODULE UART_INC
OBJECT MODULE PLACED IN uart_inc.OBJ
COMPILER INVOKED BY: D:\Program Files\KEIL C V4\C51\BIN\C51.EXE uart_inc.c BROWSE DEBUG OBJECTEXTEND
line level source
*** WARNING C500 IN LINE 1 OF UART_INC.C: LICENSE ERROR (R208: RENEW LICENSE ID CODE (LIC))
1
2 #include "reg24le1.h"
3 #include "app.h"
4 void io_config(void)
5 {
6 1 EA = 0;
7 1
8 1 // CLK
9 1 CLKCTRL = 0x28; // Clock sourced by XCOSC16M
10 1 CLKLFCTRL = 0x01; // RCOSC32K
11 1
12 1 delayx(50);
13 1
14 1 // RTC
15 1 OPMCON = 0x00;
16 1
17 1 RTC2CMP0 = 0x00;
18 1 RTC2CMP1 = 0x80;
19 1
20 1 RTC2CON = 0x07;
21 1
22 1 WUOPC1 = 0x00;
23 1 WUOPC0 = 0x00;
24 1
25 1 WUCON = 0xEB;
26 1
27 1
28 1 // TIMER
29 1 TMOD |= 0x01; // Timer0: Mode 0, 13-bit timer
30 1 TF0 = 0; // Timer0: interrupt flag clear
31 1 ET0 = 1; // Timer0: interrupt enable
32 1 TCON = 0; // Timer0: run control
33 1 TR0 = 0; // Timer0: stop timer
34 1
35 1 TH0 = 0xFA;
36 1 TL0 = 0xCA;
37 1
38 1 // IO
39 1 ADCCON1 = 0x00;
40 1 ADCCON2 = 0x00;
41 1 ADCCON3 = 0x00;
42 1 COMPCON = 0x00;
43 1 PWMCON = 0x00;
44 1
45 1 P0 = 0;
46 1 P1 = 0;
47 1 P0DIR = 0x00;
48 1 P1DIR = 0x00;
49 1
50 1 }
51
52 void uart_init(void)
53 {
54 1
C51 COMPILER V9.00 UART_INC 11/13/2010 14:50:03 PAGE 2
55 1 P0DIR &= 0xF7; // P03 (TxD) is output
56 1 P0DIR |= 0x10; // P04 (RxD) is input
57 1 P0|=0x18;
58 1
59 1 S0CON = 0x50;
60 1 PCON |= 0x80; // SMOD = 1
61 1 WDCON |= 0x80; // Select internal baud rate generator
62 1
63 1 S0RELL = 0xF3; // BAUD_38K4
64 1 S0RELH = 0x03;
65 1 //ES0 = 1;
66 1
67 1 }
68
69 void send(unsigned char tmp)
70 {
71 1 S0BUF=tmp;
72 1 while(!TI0);
73 1 TI0=0;
74 1 }
75
76 void puts(unsigned char *s)
77 {
78 1 unsigned char *cs=s;
79 1 while(*cs!='\0')
80 1 {
81 2 send(*cs++);
82 2 }
83 1 }
84
85 unsigned char getch(void)
86 {
87 1 unsigned char tmp;
88 1
89 1 if(RI0)
90 1 {
91 2 RI0=0;
92 2 tmp=S0BUF;
93 2 return tmp;
94 2 }
95 1 else
96 1 return false;
97 1
98 1 }
99
100 void delayx(int x)
101 {
102 1 int da,db;
103 1 for(da=100;da>0;da--)
104 1 for(db=0;db<x;db++)
105 1 {
106 2 ;
107 2 }
108 1 }
109
110
111 /*主函数部分*/
112
113 code const unsigned char test_string[]="this is a test string from le1 uart! ";
114
115 void main(void)
116 {
C51 COMPILER V9.00 UART_INC 11/13/2010 14:50:03 PAGE 3
117 1 unsigned char tmp=0,flag=0;
118 1 unsigned int num=0;
119 1 io_config();
120 1 uart_init();
121 1 delayx(100);
122 1 puts(test_string);
123 1 while(1)
124 1 {
125 2
126 2 if(RI0==1)
127 2 {
128 3 tmp=S0BUF;
129 3 RI0=0;
130 3 S0BUF=tmp;
131 3 while(!TI0);
132 3 TI0=0;
133 3 }
134 2
135 2 num++;
136 2 if(num<2000)
137 2 flag=1;
138 2 else
139 2 flag=0;
140 2 num%=10000;
141 2 LED0=flag;
142 2
143 2 }
144 1
145 1 }
146
147
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 282 ----
CONSTANT SIZE = 38 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 7
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?