📄 00-串口测试程式(发送).lst
字号:
C51 COMPILER V6.12 00_確_诓___砡________ 10/01/2009 10:58:30 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE 00_確_诓___砡________
OBJECT MODULE PLACED IN .\00-串口测试程式(发送).OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\00-串口测试程式(发送).c DEBUG OBJECTEXTEND
stmt level source
1 // 00-串口测试程式(发送).c
2 // 不停的发送1
3 // 29-09-09 akuei2
4
5 #include "stdio.h"
6 #include "reg52.h"
7 #define uchar unsigned char
8
9 //1毫秒延迟函数
10 void Delay_1ms(int x)
11 {
12 1 int j;
13 1 for(;x>0;x--)
14 1 for(j=112;j>0;j--);
15 1 }
16
17 //串口发送函数
18 void Txd(void)
19 {
20 1 ES=0; // 关闭串口中断,采用查询发送方式
21 1 TI=1; // 发送结束标志位置一
22 1 while(TI)
23 1 {
24 2 /*
25 2 T1=0; // 如果不喜欢printf函数,可以注释掉它
26 2 SBUF=0x31; // 然后去除 ** 就可以使用典型的发送 eg: 0x31 ,"1" 的ascii码
27 2 */
28 2 printf("1"); // 使用printf函数,发送数据
29 2 while(!TI); // 等待发送
30 2 TI=0;
31 2 }
32 1 ES=1; // 打开串口中断
33 1 }
34
35 //初始化函数
36 void Init(void)
37 {
38 1 TMOD=0x20; // T1工作模式2,T0工作模式1
39 1 SM0=0;SM1=1; // 设置串口的工作模式
40 1 TH1=0xfd; // 给TH1赋值,决定赋给TL1的值
41 1 TL1=0xfd; // 给TL1赋值决定波特率9600kb/s
42 1
43 1 TR0=1; // 定时器0启动
44 1 ET0=1;
45 1 TR1=1; // 定时器1启动
46 1
47 1 IT0 = 1; //外部中断0负边沿触发
48 1 EX0 = 1; //打开外部中断0
49 1
50 1 REN=0; // 不应许串口接收数据
51 1 EA=1; // 开启中断
52 1 ES=1; // 串口中断应许
53 1
54 1 }
55
C51 COMPILER V6.12 00_確_诓___砡________ 10/01/2009 10:58:30 PAGE 2
56 //主函数
57 void main(void)
58 {
59 1 Init(); // 调用初始化函数
60 1 while(1)
61 1 {
62 2 Txd(); //不停的发送
63 2 Delay_1ms(500); //延迟500毫秒
64 2 }
65 1 }
66
67
68
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 103 ----
CONSTANT SIZE = 2 ----
XDATA SIZE = ---- ----
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 + -