📄 hd7279.lst
字号:
C51 COMPILER V8.02 HD7279 05/02/2009 18:09:26 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE HD7279
OBJECT MODULE PLACED IN HD7279.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE HD7279.c ROM(SMALL) BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<regx51.h>
2 #include"HD7279.h"
3
4
5 uchar digit[5]={0,0,0,0,0} ;
6 uchar keynumber;
7 uchar cnt,k1,k2;
8 void main()
9 {
10 1
11 1 reset=0;
12 1 delay1ms(10);
13 1 reset=1;
14 1 delay1ms(30);//reset接高电平时,HD7279大约要经过18-25ms的时间才会进入正常工作状态
15 1 send_byte(CMD_RESET);//复位
16 1 send_byte(CMD_TEST);//测试
17 1 delay1ms(3000);//延时3s
18 1 send_byte(CMD_RESET);//清除显示
19 1
20 1
21 1
22 1 cnt=0;
23 1 keynumber=0xff;
24 1 write7279(FLASH,0XFC);//1,2两位闪烁
25 1 write7279(UNDECODER,0X08);//第1位显示‘—’
26 1 write7279(UNDECODER+1,0X08);//第2位显示‘—’
27 1 do
28 1 {
29 2 if(!key)
30 2 {
31 3 keynumber=read7279(CMD_READ);//读出键码
32 3 write7279(DECODER1+1,keynumber/16);//读出高四位
33 3 write7279(DECODER1,keynumber&0x0f);//读出低四位
34 3 while(!key);//等待按键释放
35 3 cnt=0;
36 3 }
37 2 cnt++;
38 2 }while(keynumber!=0&&cnt<0x30000);//如果按键为0或超时进入下一步
39 1 write7279(FLASH,0XFF);
40 1
41 1 //下载数据但不译码演示
42 1 write7279(UNDECODER+7,0X49);//第8位显示“三”
43 1 delay1ms(1000);
44 1
45 1 //循环左/右移
46 1 for(k1=0;k1<23;k1++)
47 1 {
48 2 send_byte(RTR_CYCLE);
49 2 delay1ms(200);
50 2 }
51 1 for(k1=0;k1<23;k1++)
52 1 {
53 2 send_byte(RTL_CYCLE);
54 2 delay1ms(200);
55 2 }
C51 COMPILER V8.02 HD7279 05/02/2009 18:09:26 PAGE 2
56 1
57 1 //译码方式0,左移
58 1 for(k1=0;k1<16;k1++)
59 1 {
60 2 send_byte(RTL_UNCYL);
61 2 write7279(DECODER0,k1);
62 2 delay1ms(200);
63 2 }
64 1 delay1ms(1000);
65 1 send_byte(CMD_RESET);//清除显示
66 1
67 1 //译码方式1,右移
68 1 for(k1=0;k1<16;k1++)
69 1 {
70 2 send_byte(RTR_UNCYL);
71 2 write7279(DECODER1+7,k1);
72 2 delay1ms(200);
73 2 }
74 1 delay1ms(1000);
75 1 send_byte(CMD_RESET);//清除显示
76 1
77 1 //消隐指令
78 1 k2=0xff;
79 1 for(k1=0;k1<6;k1++)
80 1 {
81 2 k2=k2/2;//右移
82 2 write7279(BLINK,k2);
83 2 delay1ms(200);
84 2 }
85 1 write7279(BLINK,0XFF);//恢复8位显示
86 1 delay1ms(1000);
87 1 send_byte(CMD_RESET);//清除显示
88 1
89 1
90 1 //段点亮段
91 1 for(k1=0;k1<64;k1++)
92 1 {
93 2 write7279(SEG_ON,k1); //将64段逐一点亮
94 2 write7279(SEG_OFF,k1-1);//关闭前一段
95 2 delay1ms(200);
96 2 }
97 1
98 1
99 1 }
100
101
102
103
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 433 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 5
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 + -