?? 外部中斷的使用.lst
字號:
C51 COMPILER V7.50 外部中斷的使用 04/09/2009 15:01:28 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 外部中斷的使用
OBJECT MODULE PLACED IN 外部中斷的使用.OBJ
COMPILER INVOKED BY: E:\Program Files\Keil\C51\BIN\C51.EXE 外部中斷的使用.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /********************************************************************
2 * 文件名 : 外部中斷的使用.c
3 * 描述 : 外部中斷和定時器一樣,是單片機最基本也是最重要的兩個功能。
4 該程序的視頻為“外部中斷的使用.exe”。
5 * 創建人 : 東流,2009年4月9日
6 * 版本號 : 2.0
7 * 技術支持論壇:www.zidh.com/bbs(請進入“贊助商板塊”中的“東流電子工作室”)
8 * 感謝“中國自動化資訊網”對本工作室的大力支持。
9 ***********************************************************************/
10 #include<reg52.h>
11 #define uchar unsigned char
12 #define uint unsigned int
13
14 sbit KEY = P3^2;
15 uchar Count = 0;
16 uchar code table[10] = {0x03, 0x9f, 0x25, 0x0d, 0x99, 0x49, 0x41, 0x1f, 0x01, 0x09};
17
18 /********************************************************************
19 * 名稱 : Delay()
20 * 功能 : 延時,延時時間為 10ms * del
21 * 輸入 : del
22 * 輸出 : 無
23 ***********************************************************************/
24 void Delay(uint del)
25 {
26 1 uint i,j;
27 1 for(i=0; i<del; i++)
28 1 for(j=0; j<1827; j++)
29 1 ;
30 1 }
31
32 /********************************************************************
33 * 名稱 : Outside_Init()
34 * 功能 : 外部中斷0 的初始化
35 * 輸入 : 無
36 * 輸出 : 無
37 ***********************************************************************/
38 void Outside_Init(void)
39 {
40 1 EX0 = 1; //開外部中斷0
41 1 IT0 = 1; //負邊沿觸發
42 1 EA = 1; //開總中斷
43 1 }
44
45 /********************************************************************
46 * 名稱 : Outside_Int()
47 * 功能 : 外部中斷0 的中斷處理
48 * 輸入 : 無
49 * 輸出 : 無
50 ***********************************************************************/
51 void Outside_Int(void) interrupt 0
52 {
53 1 EX0 = 0;
54 1 Delay(3); //延時30ms,去掉這行會出現按一下中斷幾次的情況
55 1 if(KEY == 0) //對按鍵進行抗干擾處理
C51 COMPILER V7.50 外部中斷的使用 04/09/2009 15:01:28 PAGE 2
56 1 {
57 2 Count++;
58 2 }
59 1 Delay(30);
60 1 EX0 = 1;
61 1 }
62
63 /********************************************************************
64 * 名稱 : Main()
65 * 功能 : 外出中斷試驗主程序
66 * 輸入 : 無
67 * 輸出 : 無
68 ***********************************************************************/
69 void Main(void)
70 {
71 1 Outside_Init();
72 1 while(1)
73 1 {
74 2 P0 = table[Count % 10];
75 2 P2 = 0x01;
76 2 Delay(10);
77 2 }
78 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 127 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 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 + -