📄 chuankou.lst
字号:
C51 COMPILER V7.50 CHUANKOU 05/21/2009 16:19:26 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE CHUANKOU
OBJECT MODULE PLACED IN chuankou.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE chuankou.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<stdio.h>
3 #include<string.h>
4 #define uchar unsigned char
5 #define uint unsigned int
6 sfr P1M0=0x91;
7 sfr P1M1=0x92;
8 uchar rh;
9 uchar ch;
10 void delay1ms(unsigned int f);
11 void init_serial()
12 {
13 1 SCON=0x50;
14 1 //方式1,10位异步收发,波特率由定时器控制,单机对单机,
15 1 //允许接收
16 1 PCON=0x00; //SMOD=0,方式1、2、3的波特率不加倍
17 1 TMOD=0x21; //定时器1工作于方式2,自动装载方式
18 1 //定时器0工作方式1
19 1 // TH0=(65536-1000)%256;
20 1 //TL0=(65536-1000)/256;
21 1 TL1=0xfd; //设置定时器装载值,来设置波特率
22 1 TH1=0xfd;
23 1 // ET0=1; //开T0中断
24 1 // TR0=1; //启动定时器T0
25 1 TR1=1; //启动定时器T1
26 1 // TI=1; //有发送中断,发送中断标志
27 1 // RI=1; //有接收中断,接收中断标志
28 1 ES=1; // 开串口中断
29 1 EA=1; //开总中断
30 1 }
31
32 //发送操作在TI=0时,执行SBUF=A指令后开始,然后发送电路自动在8位
33 //发送字符前后分别添加一位起始位和停止位,发送完后,TI由硬件在
34 //发送停止后置位
35
36 //在一定条件下,向SBUF写入数据就启动了发送过程,读SBUF就启动了
37 //接收过程
38
39 //向串口发送一个字符
40
41 /*void timer0() interrupt 1 using 3{
42 // char i;
43 flag++;
44 TH0=0x00;
45 TL0=0x00;
46 if(flag==10)
47 {// cp=!cp;
48 // for(i=0;i<6;i++)
49 P2=0x25;
50 TI=1;
51 temp=*RAMDATA;
52 printf("%c",temp);
53 TI=0;
54 // RAMDATA--;
55 flag=0;
C51 COMPILER V7.50 CHUANKOU 05/21/2009 16:19:26 PAGE 2
56 }
57 }*/
58
59 //主程序
60
61 void main()
62 {uchar rh=0xf6;
63 1 //P1M0=0x01;
64 1 //P1M1=0x00;
65 1 init_serial(); //初始化串口
66 1 while(1)
67 1 {//if(ch==rh)
68 2 //SBUF=0x89;
69 2 delay1ms(100);
70 2 //if (TI==1)
71 2 //break;
72 2 }
73 1 //SBUF=0x11;
74 1 }
75
76 void delay1ms(unsigned int f)
77 {
78 1 unsigned int i,j;
79 1 for(i=0;i<f;i++)
80 1 for(j=0;j<120;j++);
81 1 }
82
83 void serial () interrupt 4 using 3 //串口接收发送中断程序
84
85 {ES=0;
86 1 if(RI) //接收完一帧数据后,硬件自动置1,如果再接收必须
87 1 {RI=0; //软件清零RI
88 2 ch=SBUF;
89 2 }
90 1 if(TI) //发送完一帧数据后,硬件自动置1,如果再发送必须
91 1 {TI=0;
92 2 } //软件清零TI
93 1 SBUF=ch;
94 1 ES=1;
95 1 }
96
97
98
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 90 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 1
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 + -