📄 leddrive.lst
字号:
C51 COMPILER V7.00 LEDDRIVE 11/12/2007 21:51:24 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE LEDDRIVE
OBJECT MODULE PLACED IN LEDDRIVE.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LEDDRIVE.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "ATMEL89X51.H"
2 #include <intrins.h>
3 #define LED_SET P2 //点亮哪一位数码管选择端口
4 //#define LED_OE P3_6 //使能数据端口输出
5 #define LED_data P0 //设定P0口为数据输入端口
6 #define ON 0 //设0为开
7 #define OFF 1 //设1为关
8 unsigned play_bit[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //确定哪一位数码管显示
9 unsigned char seg[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //0~~9段码 //0~~9段码
10
11 void delay(unsigned char temp)
12 {
13 1 unsigned char i;
14 1 for(i=0;i<temp;i++);
15 1 }
16
17 void led_disp(unsigned char num,unsigned char vdata,unsigned char on_switch) //显示驱动函数 on_switch = 0
-,开,on_switch = 1,关
18 {
19 1 LED_SET = ~play_bit[num-1]; //选定哪一位数码管显示
20 1 if(on_switch)
21 1 LED_data = 0;
22 1 else
23 1 LED_data = vdata; //送字形码
24 1 delay(200); //消影
25 1 LED_data =0x0;
26 1
27 1 }
28
29
30 void led_play(long cont) //十进制数显示驱动函数
31 {
32 1 int i;
33 1 for(i=0;i<8;i++)
34 1 {
35 2 switch(i)
36 2 {
37 3 case 0: led_disp(1,seg[cont%10],0);
38 3 break;
39 3 case 1: led_disp(2,seg[(cont/10)%10],0);
40 3 break;
41 3 case 2: led_disp(3,seg[(cont/100)%10],0);
42 3 break;
43 3 case 3: led_disp(4,seg[(cont/1000)%10],0);
44 3 break;
45 3 case 4: led_disp(5,seg[(cont/10000)%10],0);
46 3 break;
47 3 case 5: led_disp(6,seg[(cont/100000)%10],0);
48 3 break;
49 3 default:
50 3 break;
51 3 }
52 2 }
53 1 }
54
C51 COMPILER V7.00 LEDDRIVE 11/12/2007 21:51:24 PAGE 2
55
56 main()
57 {
58 1
59 1 // LED_OE = ON;
60 1 while(1)
61 1 {
62 2 led_play(123456);
63 2 }
64 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 356 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 26 6
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 + -