📄 init1.lst
字号:
C51 COMPILER V9.00 INIT1 08/21/2011 19:35:06 PAGE 1
C51 COMPILER V9.00, COMPILATION OF MODULE INIT1
OBJECT MODULE PLACED IN INIT1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE INIT1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*****************************************************
2 外部中断测试
3 当检测到P3.3引脚有下降沿时,就是外部中断1触发,则蜂鸣器响约一秒钟
4 同时数码管最右边位显示1,否则蜂鸣器不响,数码管显示0
5 ***********************************************/
6 #include<reg52.h>
7 #include<intrins.h>
8 #define uint unsigned int
9 #define uchar unsigned char
10 sbit a=P1^0;//74LS138的三个控制I/O口
11 sbit b=P1^1;
12 sbit c=P1^2;
13 sbit beer=P3^6;
14 const uchar table[]={
15 0x3f,0x06,0x5b,0x4f,0x66,
16 0x6d,0x7d,0x07,0x7f,0x6f};
17 uchar flag=0;//中断标志变量
18 void delay(uint ms)
19 {
20 1 uint i,j;
21 1 for(i=ms;i>0;i--)
22 1 for(j=110;j>0;j--);
23 1 }
24 void HC138(uchar i)//74HC138子函数
25 {
26 1 a=i&0x01;
27 1 b=i&0x02;
28 1 c=i&0x04;
29 1 }
30 void display(uchar count,uchar dat)//往一个数码管写入一个数字
31 {
32 1 HC138(count);
33 1 P2=table[dat];
34 1 }
35 void main()
36 {
37 1 EA=1;//开总中断
38 1 EX1=1;//开外部中断1
39 1 IE1=1;//下降沿触发
40 1 while(1)
41 1 {
42 2 if(flag)
43 2 {
44 3 flag=0;
45 3 beer=0;
46 3 display(0,1);
47 3 delay(1000);
48 3 }
49 2 else
50 2 {
51 3 beer=1;
52 3 display(0,0);
53 3 }
54 2 }
55 1
C51 COMPILER V9.00 INIT1 08/21/2011 19:35:06 PAGE 2
56 1 }
57 void init1() interrupt 2 //外部中断函数
58 {
59 1 flag=1;
60 1 }
61
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 99 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 11 ----
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 + -