📄 main.lst
字号:
C51 COMPILER V8.02 MAIN 05/19/2007 20:46:39 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "STC89C51RC.H"//STC单片机头文件,相当与一般51的reg51.h
2 #include <absacc.h>
3 #include <stdio.h>
4
5
6 #define SEG1 XBYTE[0xffec]
7 #define SEG2 XBYTE[0xffed]
8 #define SEG3 XBYTE[0xffee]
9 #define SEG4 XBYTE[0xffef]
10 #define ADC XBYTE[0xffe0]
11
12 sbit KEY0 = P3^5;
13 sbit KEY1 = P3^4;
14 sbit KEY2 = P3^3;
15 sbit KEY3 = P3^2;//中断占用
16
17 unsigned char CH;//通道变量
18
19 unsigned char ledmap[]= //共阴LED数码管译码表
20 {
21 0x3f,0x06,0x5b,0x4f,0x66, //0,1,2,3,4,
22 0x6d,0x7d,0x07,0x7f,0x6f, //5,6,7,8,9,
23 0xbf,0x86,0xdb,0xcf,0xe6, //0.,1.,2.,3.,4.,
24 0xed,0xfd,0x87,0xff,0xef, //5.,6.,7.,8.,9.,
25 };
26
27 extern void ext_int0_init(void);
28 extern void delay(unsigned int);
29
30 main()
31 {
32 1 ext_int0_init();
33 1 CH = 0;
34 1 EA = 1;
35 1 ADC = CH; //首次启动ADC
36 1 while(1)
37 1 {
38 2 if(!KEY0)
39 2 {
40 3 delay(10);
41 3 if(KEY0==0)
42 3 {
43 4 CH++;
44 4 CH = CH%8;//通道选择
45 4 }
46 3 while(KEY0==0);
47 3 }
48 2 }
49 1 }
50
51 //外部中断0初始化
52 void ext_int0_init(void)
53 {
54 1 IT0 = 1;//下降沿触发
55 1 EX0 = 1;//开外部中断
C51 COMPILER V8.02 MAIN 05/19/2007 20:46:39 PAGE 2
56 1 }
57
58 //外部中断函数
59 void ext_int0(void) interrupt 0 using 1
60 {
61 1 unsigned int temp;
62 1
63 1 temp = ADC; //读ADC
64 1 SEG1 = ~ledmap[CH]; //通道
65 1
66 1 //结果,未作任何处理
67 1 SEG2 = ~ledmap[temp/100%10];
68 1 SEG3 = ~ledmap[temp/10%10];
69 1 SEG4 = ~ledmap[temp%10];
70 1
71 1 ADC = CH; //选择当前通道启动ADC
72 1 }
73
74 //通用延时函数
75 void delay(unsigned int time)
76 {
77 1 while(--time);
78 1 }
79
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 171 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 21 ----
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 + -