?? int0.lst
字號:
C51 COMPILER V7.06 INT0 07/29/2008 09:23:21 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE INT0
OBJECT MODULE PLACED IN int0.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE int0.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <c8051f020.h> /*SFR定義*/
2 sbit led=P3^7;
3 void PORT_Init()
4 { XBR0 = 0x04; //urat0 配置到p0.0 p0.1
5 1 XBR1=0x04; //int0 配置到p0.2
6 1
7 1 P3MDOUT=0Xff;
8 1 P0MDOUT=0Xff;
9 1 XBR2=0X40;
10 1
11 1 }
12 void SYSCLK_Init()
13 {
14 1 unsigned int i;
15 1 OSCXCN=0X67; //0X67=0110,0111
16 1 for(i=0;i<256;i++); //等待>1ms
17 1 while(!(OSCXCN&0X80)); //等待XTLVLD變為1
18 1 OSCICN=0X88; //時鐘失效監測器,選擇外部時鐘源作為系統時鐘
19 1 }
20 void UART0_Init()
21 {
22 1 SCON0=0x50; //串口方式1
23 1 TMOD=0X20; //選用定時器1作為波特率發生器
24 1 TH1=0xF4; //波特率為4800
25 1 TL1=0xF4;
26 1
27 1 TF1=0;
28 1 TR1=1; //定時器啟動
29 1 PCON=0X00; //波特率不乘2
30 1 TI0=1;
31 1
32 1 }
33 void main (void) {
34 1
35 1 WDTCN = 0xde; /*關看門狗*/
36 1 WDTCN = 0xad;
37 1 SYSCLK_Init();
38 1 PORT_Init();
39 1 UART0_Init();
40 1 EX0=1; // 外部中斷允許
41 1 IT0=1; // 下降沿觸發
42 1 PX0=1; // 優先級最高
43 1 EA=1; // 全局中斷允許
44 1 while (1) { }
45 1
46 1
47 1 }
48 void fint0 (void) interrupt 0
49 {
50 1 led=!led;// led狀態取反
51 1 SBUF0=0Xff;//向上位機發送ff
52 1 while(TI0==0);
53 1 TI0=0;
54 1 }
C51 COMPILER V7.06 INT0 07/29/2008 09:23:21 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 102 ----
CONSTANT SIZE = ---- ----
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 + -