📄 int0.lst
字号:
C51 COMPILER V7.50 INT0 02/13/2008 20:12:49 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE INT0
OBJECT MODULE PLACED IN INT0.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE INT0.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 /*******************************************************************************
3 *- INT0中断计数 3位数码管显示 P3.2接按键,计数 *
4 ********************************************************************************
5 * 日期: 2008-2-25 硬件: 数码管P0,数码管控制P2 *
6 * 版本: 3.0 *
7 * 作者: 深圳志博电子有限公司 专业8051单片机教学站 *
8 * 邮箱: zty0012001@163.com *
9 * 网站: http://www.elecmcu.com http://www.elecmcu.com 更多例程请登陆网站 *
10 ********************************************************************************
11 * 硬件:此程序在本公司志博电子实验仪运行通过 *
12 ********************************************************************************
13 * 【版权】 Copyright(C)深圳志博电子有限公司 www.elecmcu.com All Rights Reserved *
14 * 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! *
15 ********************************************************************************/
16 #include < reg51.h >
17 #include <intrins.h>
18 #define uchar unsigned char
19 #define uint unsigned int
20 uchar const seg[11]={0x7f,0x44,0xbd,0xf5,0xe6,0xf3,0xfb,0x65,0xff,0xf7,0x00};
21 uchar dis[8]={0,0,0,0}; //设置显示缓冲存储器
22 unsigned char count=0 ;
23 /********************************************************
24 * 延时函数 *
25 ********************************************************/
26 void delay(uint ms)
27 // 延时子程序
28 {
29 1 uchar k;
30 1 while(ms--)
31 1 {
32 2 for(k = 0; k < 120; k++);
33 2 }
34 1 }
35 /********************************************************
36 * 数据处理与显示函数 *
37 ********************************************************/
38 void disp_count()
39 {
40 1 char i=0;
41 1 char k=0;
42 1
43 1 dis[3]=count/100;
44 1 dis[4]=(count%100)/10;
45 1 dis[5]=count%10;
46 1 for (i = 0; i < 6; i++)
47 1 { //循环显示6位数据
48 2 switch (i)
49 2 {
50 3 case 0:
51 3 P0=0Xdf;
52 3 P1=P1|0X03;
53 3 break;
54 3 case 1:
55 3 P0=0XBF;
C51 COMPILER V7.50 INT0 02/13/2008 20:12:49 PAGE 2
56 3 P1=P1|0X03;
57 3 break;
58 3 case 2:
59 3 P0=0X7F;
60 3 P1=P1|0X03;
61 3 break;
62 3 case 3:
63 3 P0=0XFF;
64 3 P1=0xfe;
65 3 break;
66 3 case 4:
67 3 P0=0XFF;
68 3 P1=0XFd;
69 3 break;
70 3 case 5:
71 3 P0=0Xef;
72 3 P1=0xff;
73 3 break;
74 3 }
75 2 P2=seg[dis[i]];
76 2 delay(1);
77 2 }
78 1 }
79 /********************************************************
80 * 主程序 *
81 ********************************************************/
82 void main(void)
83 {
84 1 P0=0xff;
85 1 P1=0xff;
86 1 P2=0xff;
87 1
88 1 // IT0=0; //低电平触发
89 1 IT0=1; //下降沿触发
90 1 EA=1;
91 1 EX0=1;
92 1
93 1 while(1)
94 1 {
95 2 disp_count();
96 2 }
97 1 }
98 /********************************************************
99 * INT0中断函数 *
100 ********************************************************/
101 void counter(void) interrupt 0
102 {
103 1 uchar x;
104 1 EX0=0;
105 1 count++;
106 1 for(x=0;x<15;x++)
107 1 {
108 2 disp_count();
109 2 }
110 1 EX0=1;
111 1 }
112 /********************************************************/
113
114
115
C51 COMPILER V7.50 INT0 02/13/2008 20:12:49 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 219 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 20 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 + -