?? urat.lst
字號(hào):
C51 COMPILER V7.50 URAT 12/13/2008 22:20:35 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE URAT
OBJECT MODULE PLACED IN URAT.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE URAT.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*
2 ***************************************************************************
3 *
4 * (C) Copyright 2007,單片機(jī)初學(xué)者園地
5 * All Rights reserved.
6 *
7 *項(xiàng)目名稱: 51單片機(jī)學(xué)習(xí)開發(fā)系統(tǒng)
8 *
9 *本文件名稱:URAT.c
10 *
11 * 完成作者 : 單片機(jī)初學(xué)者 http://blog.ednchina.com/ahai0306/ qq:464976346
12 * 當(dāng)前版本 : V1.0
13 * 完成日期 : 2007年5月1日
14 * 描 述 :
15 * 單片機(jī)上電后向串口數(shù)據(jù)0XAA,接收到數(shù)據(jù)后,然后向串口發(fā)送接收到的數(shù)據(jù)
16 * 使初學(xué)者領(lǐng)略使用中斷進(jìn)行數(shù)據(jù)通信,傳輸方式為RS485
17 *
18 ****************************************************************************
19 */
20
21
22 #include <reg52.h> //調(diào)用頭文件(單片機(jī)內(nèi)部的寄存器定義)
23
24 /******本段為硬件I/O口定義********/
25 sbit LED0 = P0 ^ 0; //KEY和發(fā)光管復(fù)用,請(qǐng)將4個(gè)跳線插到KEY端
26 sbit LED1 = P0 ^ 1;
27 sbit LED2 = P0 ^ 2;
28 sbit LED3 = P0 ^ 3;
29 sbit DIG0 = P0 ^ 4; //數(shù)碼管位0
30 sbit DIG1 = P0 ^ 5; //數(shù)碼管位1
31
32 //sbit BUZZ = P3 ^ 3; //蜂鳴器
33
34 sbit RS485_CON=P0 ^ 0; //485控制線
35
36
37 /**************************************************
38 ** 函數(shù)名稱: dellay
39 ** 入口參數(shù):h(unsigned int型)
40 ** 出口參數(shù):無(wú)
41 ** 功能描述: 短暫延時(shí),使用11.0592晶體,約0.01MS
42 ****************************************************/
43 void dellay(unsigned int h)
44 {
45 1 while(h--); //0.01MS
46 1 }
47
48 unsigned char data2;
49
50 /************主程序**************/
51 main()
52 {
53 1 TMOD=0x20; //定時(shí)器1,方式2
54 1 SCON=0x50; //方式1,允許接收
55 1 PCON=0;
C51 COMPILER V7.50 URAT 12/13/2008 22:20:35 PAGE 2
56 1 TL1=0xfd; //波特率:9600,晶體:11.0592M
57 1 TH1=0xfd;
58 1 TR1=1; //啟動(dòng)定時(shí)器1
59 1 ES=1; //開串口中斷
60 1 RS485_CON=0;//485 RECEIVE
61 1 EA=1;
62 1 LED0=0;
63 1 dellay(100);
64 1 data2=0xaa;
65 1 while(1)
66 1 {
67 2 dellay(10000);
68 2 RS485_CON=1;
69 2 SBUF=data2;
70 2 dellay(30);
71 2 }; //單片機(jī)待機(jī)
72 1 }
73
74 /**************************************************
75 ** 函數(shù)名稱: uart0_ISR
76 ** 入口參數(shù):無(wú)
77 ** 出口參數(shù):無(wú)
78 ** 功能描述: 串口接收1字節(jié)數(shù)據(jù),然后發(fā)送出去1字節(jié),傳輸方式為RS485
79 ****************************************************/
80 void uart0_ISR (void) interrupt 4
81 {
82 1
83 1 // LED1=!LED1; //發(fā)送數(shù)據(jù)LED1閃爍
84 1 EA = 0;
85 1 if(TI) //接受
86 1 {
87 2 LED0=!LED0; //接收數(shù)據(jù)LED0閃爍
88 2 TI=0; //中斷接收標(biāo)志清除
89 2 RS485_CON=0;//485 SEND
90 2 }
91 1 else
92 1 {
93 2 data2=SBUF;
94 2 RI=0;
95 2 }
96 1
97 1
98 1 EA = 1;
99 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 87 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -