📄 外部中断的使用.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 + -