📄 4_3_2_1位disp.lst
字号:
C51 COMPILER V7.50 4_3_2_1λDISP 03/14/2006 14:22:24 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 4_3_2_1λDISP
OBJECT MODULE PLACED IN 4_3_2_1λdisp.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 4_3_2_1λdisp.c ROM(SMALL) BROWSE DEBUG OBJECTEXTEND
line level source
1 //4_3_2_1λdisp
2 #include <stdio.h>
3 #include <reg51.h>
4 #include <intrins.h>
5 #define hi 0x3c
6 #define lo 0xb0
7 unsigned char code ledk[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6D,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0
-x71,0x00};
8 unsigned char t0_count,disp[4];
9 unsigned int disp_value,a[4]={1,12,123,1234};
10 sbit P37=P3^7;sbit clk=P0^7;sbit sda=P0^6; //74LS164
11 void delay(unsigned int n)
12 { unsigned int i,j;
13 1 for(i=0;i<n;i++)
14 1 for(j=0;j<n;j++)
15 1 ;}
16 void shift(unsigned char dx)
17 {static unsigned char d;
18 1 unsigned char j=0;
19 1 d=dx;
20 1 while(j<8)
21 1 {if((d&0x80)!=0) sda=1;
22 2 else sda=0;
23 2 clk=0;clk=1;
24 2 d<<=1;j++;} }
25 void t0() interrupt 1
26 {static unsigned char i;
27 1 TH0=hi;TL0=lo;t0_count++;
28 1 if(t0_count==20){t0_count=0;
29 2 disp_value=a[i];
30 2 i++;if(i>3)i=0; } }
31 void hextodec()
32 {unsigned int xx;
33 1 disp[3]=disp_value/1000; xx=disp_value%1000;
34 1 disp[2]=xx/100; xx=xx%100;
35 1 disp[1]=xx/10;
36 1 disp[0]=xx%10; }
37 void display()
38 {static unsigned char mask=0x01,i=0;
39 1 if(disp[3]==0)
40 1 {if(disp[2]!=0)disp[3]=16;
41 2 else if(disp[1]!=0){disp[3]=16;disp[2]=16;}
42 2 else {disp[3]=16;disp[2]=16;disp[1]=16;} }
43 1 P2=~mask;shift(ledk[disp[i]]);
44 1 mask=mask<<1;if(mask==0x10)mask=0x01;
45 1 i++;if(i>3)i=0;
46 1 }
47 void main(void)
48 {TMOD=0x01;TH0=hi;TL0=lo;EA=1;ET0=1;TR0=1;
49 1 while(1)
50 1 {hextodec();
51 2 display();
52 2 delay(22);}
53 1 }
54
C51 COMPILER V7.50 4_3_2_1λDISP 03/14/2006 14:22:24 PAGE 2
55
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 304 ----
CONSTANT SIZE = 17 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 19 ----
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 + -