📄 main1.lst
字号:
C51 COMPILER V8.05a MAIN1 03/27/2008 22:45:13 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MAIN1
OBJECT MODULE PLACED IN main1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /******************************************************************
2 数码管显示另外一种写法;这种写法比上一种复杂,占用空间要多一些.但是使
3 用方便,可以在此基础上方便的加上比如显示小数点,指定某位数码管闪烁等.
4 ******************************************************************/
5 #include <AT89X51.H>
6 unsigned char datebit[]={0xfe,0xfd,0xfb,0xf7};//存储数码管的位选值(P1口状态值)
7 unsigned char tvdate[]={0x3f,0x06,0x5b,0x4f,0x66,
8 0x6d,0x7d,0x07,0x7f,0x6f,};
9 unsigned int disdata; //定义要显示的数据
10 unsigned char disdat[4]; //存储要显示的四位数据
11 void delay(time)
12 {
13 1 unsigned char i,j;
14 1 for(j=0;j<time;j++)
15 1 for(i=0;i<250;i++);
16 1 }
17 display(void)
18 {
19 1 unsigned char k;
20 1 disdata=5201;//显示1234
21 1 disdat[0]=disdata/1000; //取出千位
22 1 disdat[1]=disdata%1000/100; //取出百位
23 1 disdat[2]=disdata%100/10; //取出十位
24 1 disdat[3]=disdata%10; //取出个位
25 1 for(k=0;k<4;k++) //显示四位数据
26 1 {
27 2 P0=tvdate[disdat[k]]; //送出要显示数据的段码
28 2 P1=datebit[k]; //P2位选
29 2 delay(10); //延时
30 2 }
31 1 }
32 main()
33 {
34 1 while(1)
35 1 {
36 2 display();
37 2 }
38 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 145 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 20 ----
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 + -