?? serial.lst
字號:
C51 COMPILER V8.02 SERIAL 04/13/2009 14:02:27 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE SERIAL
OBJECT MODULE PLACED IN serial.OBJ
COMPILER INVOKED BY: D:\program file\Keil c51\C51\BIN\C51.EXE serial.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <REG51.h>
2
3
4
5 #define uchar_code unsigned char code
6 #define uchar unsigned char
7 #define SELInt_on() ES=1 //串行口中斷允許
8 #define SELInt_off() ES=0 //串行口中斷禁止
9
10 void Ser_Init(void)
11 {
12 1 TMOD=0x20; //定時器1為8位自動加載
13 1 TH1=0xfd; //波特率為9600
14 1 TL1=0xfd;
15 1 TR1=1; //啟動定時器
16 1 SCON|=0x50;
17 1 PCON&=0x7f; //波特率為1倍
18 1 ES=1; //串行口中斷允許
19 1 EX0=1; // INT0中斷開
20 1 IT0=1; // INT0下降沿觸發(fā)(為0則為低電平觸發(fā))
21 1 EA=1; //總中斷打開
22 1 }
23
24 void Ser_TxDchar(uchar ch) // 串口發(fā)送字符
25 {
26 1 SELInt_off();
27 1 TI=0;
28 1 SBUF=ch;
29 1 while(!TI);
30 1 TI=0;
31 1 SELInt_on();
32 1 }
33
34
35
36 void Ser_TXDstring(uchar *p,uchar lenth) //串口發(fā)送字符串
37 {
38 1 while(lenth--)
39 1 Ser_TxDchar(*p++);
40 1 }
41
42 /*
43 Ser_Revchar(void) //串口接收字符
44 {
45 SELInt_off();
46 if(RI==1)
47 RI=0;
48 return SBUF;
49 SELInt_on();
50 }
51
52 Ser_Revsting(void)
53 {
54 Rev_Buf[Rev_count++]=Ser_Revchar();
55 }
C51 COMPILER V8.02 SERIAL 04/13/2009 14:02:27 PAGE 2
56
57 */
58 /*
59 void Ser_Rev(void) interrupt 4 using 1//中斷接收
60 {
61 SELInt_off();
62 RI=0;
63 Rev_Buf[Rev_count++]=SBUF;
64 if(Rev_count=Rev_BufSIZE)
65 {
66 Rev_count=0;
67 }
68 SELInt_on();
69 }
70 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 76 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -