📄 main1.lst
字号:
C51 COMPILER V7.06 MAIN1 01/28/2008 19:58:35 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN1
OBJECT MODULE PLACED IN main1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main1.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /************************************************************************************
2 * Copyright (c) 2008,重庆优易特电子
3 * All rights reserved.
4
5 * 摘 要: ENT键,按键计数,并将结果显示到数码管上
6
7 * 文件名称: main.c
8 * CPU芯片: STC89C51RC
9 * 学习板型: Easy51-B
10 *
11 * 当前版本: 2.0
12 * 作 者: cache
13 * 完成日期: 2008年1月23日
14 *
15 编程思想:
16 定时器0用于数码管扫描,外部中断0(ENT键)进行按键计数,同时将结果更新的显示缓冲区中
17 *************************************************************************************/
18 #include "reg52.h"
19
20 #define THCO 0xee
21 #define TLCO 0x0
22
23 unsigned char code Duan[]={0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
24 unsigned char Data_Buffer[4]={0,0,0,0};
25
26 unsigned int count=0;
27 //从0值开始计数
28
29 sbit P10=P1^0; //数码管位码定义
30 sbit P11=P1^1;
31 sbit P12=P1^2;
32 sbit P13=P1^3;
33
34 void main()
35 {
36 1 TMOD=0x11;
37 1 TH0=THCO; //定时器0用来扫描数码管显示
38 1 TL0=TLCO;
39 1 TR0=1;
40 1 ET0=1;
41 1
42 1 IT0=1; //外部中断0,边沿触发方式
43 1 EX0=1;
44 1 EA=1;
45 1
46 1 while(1);
47 1 }
48
49 void int0() interrupt 0
50 {
51 1 count++; //有键按下,数值加1
52 1 if(count>9999)count=0;
53 1 Data_Buffer[0]=count/1000;
54 1 Data_Buffer[1]=count%1000/100;
55 1 Data_Buffer[2]=count%100/10;
C51 COMPILER V7.06 MAIN1 01/28/2008 19:58:35 PAGE 2
56 1 Data_Buffer[3]=count%10;
57 1 }
58
59 void timer0() interrupt 1
60 {
61 1 static unsigned char Bit=0;
62 1
63 1 TH0=THCO;
64 1 TL0=TLCO;
65 1
66 1 Bit++; //数码管扫描显示
67 1 if(Bit>=4)Bit=0;
68 1 P1|=0x0f;
69 1 P0=Duan[Data_Buffer[Bit]];
70 1 switch(Bit)
71 1 {
72 2 case 0: P10=0;break;
73 2 case 1: P11=0;break;
74 2 case 2: P12=0;break;
75 2 case 3: P13=0;break;
76 2 }
77 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 244 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 ----
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 + -