📄 text1.lst
字号:
C51 COMPILER V7.00 TEXT1 06/14/2003 19:42:01 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg54.h>
2 #include <absacc.h>
3 #include <math.h>
4 #include <ctype.h>
5 #include <string.h>
6 #include <stdlib.h>
7 #include <stdio.h>
8
9 void long_delay(void);
10 void short_delay(void);
11 void delay10ms(unsigned char);
12 void write7279(unsigned char,unsigned char);
13 unsigned char read7279(unsigned char);
14 void send_byte(unsigned char);
15 unsigned char receive_byte(void);
16
17 sbit dat=P1^2; // dat P1.2
18 sbit key=P1^3; // key P1.3
19 sbit cs=P1^4;
20 sbit clk=P1^5; // clk P1.5
21
22 #define CMD_RESET 0xa4
23 #define CMD_TEST 0xbf
24 #define DECODE0 0x80
25 #define DECODE1 0xc8
26 #define CMD_READ 0x15
27 #define UNDECODE 0x90
28 #define RTL_CYCLE 0xa3
29 #define RTR_CYCLE 0xa2
30 #define RTL_UNCYL 0xa1
31 #define RTR_UNCYL 0xa0
32 #define ACTCTL 0x98
33 #define SEGON 0xe0
34 #define SEGOFF 0xc0
35 #define BLINKCTL 0x88
36
37 //***主程序 ***
38 main()
39 { unsigned char key_number,j,k;
40 1 unsigned int tmr;
41 1 unsigned long wait_cnter;
42 1 while (1)
43 1 {
44 2 for (tmr=0;tmr<0x2000;tmr++); //
45 2 send_byte(CMD_RESET); // HD7279A
46 2
47 2 //******************************************
48 2 //******************************************
49 2 send_byte(CMD_TEST); //
50 2 for (j=0;j<3;j++) // 3
51 2 {
52 3 delay10ms(100);
53 3 }
54 2 send_byte(CMD_RESET); //
55 2
C51 COMPILER V7.00 TEXT1 06/14/2003 19:42:01 PAGE 2
56 2 //**********************************************
57 2
58 2 //**********************************************
59 2 wait_cnter=0;
60 2 key_number=0xff;
61 2 write7279(BLINKCTL,0xfc); // 1 2
62 2 write7279(UNDECODE,0X08); // 1 '_'
63 2 write7279(UNDECODE+1,0x08);// 2 '_'
64 2 do
65 2 {
66 3 if (!key) //
67 3 {
68 4 key_number=read7279(CMD_READ);
69 4 write7279(DECODE1+1,key_number/16);
70 4 // 2 8
71 4 write7279(DECODE1,key_number&0x0f);
72 4 // 1 8
73 4 while (!key); //
74 4 wait_cnter=0;
75 4 }
76 3 wait_cnter++;
77 3 }
78 2 while (key_number!=0 && wait_cnter<0x30000);
79 2 // 0
80 2 write7279(BLINKCTL,0xff);
81 2
82 2
83 2
84 2
85 2 delay10ms(150);
86 2 send_byte(CMD_RESET);
87 2 write7279(UNDECODE+7,0x49);
88 2 delay10ms(80);
89 2 for (j=0;j<23;j++)
90 2 {
91 3 send_byte(RTR_CYCLE); // 23
92 3 delay10ms(12);
93 3 }
94 2 for (j=0;j<23;j++)
95 2 {
96 3 send_byte(RTL_CYCLE); // 23
97 3 delay10ms(12);
98 3 }
99 2 for (j=0;j<16;j++)
100 2 {
101 3 send_byte(RTL_UNCYL); //
102 3 write7279(DECODE0,j);
103 3 // 0 1
104 3 delay10ms(50);
105 3 }
106 2 delay10ms(150);
107 2 send_byte(CMD_RESET);
108 2 //*********************************************
109 2 // 1
110 2 //*********************************************
111 2 for (j=0;j<16;j++)
112 2 {
113 3 send_byte(RTR_UNCYL); //
114 3 write7279(DECODE1+7,j);
115 3 // 0 8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -