📄 disp_task.lst
字号:
98 =1 #define KEY_STOP KEY_1
99 =1 #define KEY_ALBUM KEY_2
100 =1 #define KEY_PALY_PAUSE KEY_3
101 =1 #define KEY_S16 KEY_4
102 =1
103 =1 #define KEY_EQ_PROG KEY_5
104 =1 #define KEY_RADIO KEY_6
105 =1 #define KEY_CD KEY_7
106 =1 #define KEY_VOL_INC KEY_8
107 =1
108 =1 #define KEY_TAPE KEY_9
109 =1 #define KEY_MainPower KEY_10
110 =1 #define KEY_VOL_DEC KEY_11
111 =1
112 =1 #define KEY_BAND KEY_12
113 =1 #define KEY_FF KEY_13
114 =1
115 =1 #define KEY_FR KEY_14
116 =1
117 =1 #define Kbd_key_pressed() ((P1&0x1f) != 0x1f)
118 =1
119 =1 /*----- Disp clock task states -----*/
120 =1 #define DISP_IDLE 0
121 =1 #define DISP_INIT 1
122 =1 #define DISP_TICK0 2
123 =1 #define DISP_TICK1 3
124 =1 #define DISP_SEC 4
125 =1 #define DISP_MIN 5
126 =1 #define DISP_MS_BUSY 6
127 =1 #define DISP_PRO 7
128 =1
129 =1 #define KBD_DEBOUNCE_TEMPO 20 /* debounce period: 8 ms */
130 =1 #define KBD_DEBOUNCE_INIT 0
131 =1 #define SCHEDULER_TICK 10
132 =1
133 =1 #define TIM_LOW 0xf0
134 =1 #define TIM_HIGH 0xd8
135 =1 //#define T0_set_TMOD() (TMOD = TMOD | 0x01)
136 =1
137 =1 #define I2C_ID0 0xa0
138 =1 #define I2C_ID1 0xa1
139 =1 #define I2C_ADD 0x00
140 =1
C51 COMPILER V8.01 DISP_TASK 08/07/2006 11:16:10 PAGE 6
141 =1 /*----- Volume Control Start -----*/
142 =1 #define SC7313_ADD 0x88
143 =1 #define RADIO_IN 0x5c
144 =1 #define CD_IN 0x59 //01011001
145 =1 #define TAPE_IN 0x5e
146 =1
147 =1 /*----- Touch Pad Control Define -----*/
148 =1 #define TOUCH_REQUEST 0x52
149 =1 #define TOUCH_RETURN 0x53
150 =1
151 =1 #define FWVER_REG 0x00
152 =1 #define BUTTON_REG 0x10
153 =1 #define XY_REG 0x20
154 =1 #define ANGLE_REG 0x30
155 =1 #define TPSEN_REG 0x40
156 =1 #define FWID_REG 0xf0
157 =1
158 =1 /*----- DTS system define -----*/
159 =1 #define Mem_StartAdd 0x10
160 =1 #define Mem_EndAdd 0x1f
161 =1
162 =1 #define Mem_test 0
163 =1 #define Mem_5 5
164 =1 #define Mem_10 10
165 =1 #define DTS_Mem_Size Mem_10
166 =1
167 =1 #define DTS_FreStart 878
168 =1 #define DTS_FreEnd 1080
169 =1
170 =1 #if DTS_Mem_Size == Mem_5
=1 #define Mem_Fre0 878
=1 #define Mem_Fre1 900
=1 #define Mem_Fre2 100
=1 #define Mem_Fre3 960
=1 #define Mem_Fre4 1080
=1 #endif
177 =1
178 =1 #if DTS_Mem_Size == Mem_10
179 =1 #define Mem_Fre0 878
180 =1 #define Mem_Fre1 900
181 =1 #define Mem_Fre2 940
182 =1 #define Mem_Fre3 960
183 =1 #define Mem_Fre4 980
184 =1 #define Mem_Fre5 1000
185 =1 #define Mem_Fre6 1020
186 =1 #define Mem_Fre7 1040
187 =1 #define Mem_Fre8 1060
188 =1 #define Mem_Fre9 1080
189 =1 #endif
16 #include "driver\io_def.h"
1 =1 /*H**************************************************************************
2 =1 * NAME: io_def.h
3 =1 *----------------------------------------------------------------------------
4 =1 * Copyright (c) 2006 Atmel.
5 =1 *----------------------------------------------------------------------------
6 =1 * RELEASE: C51 Sample
7 =1 * REVISION: 1.00
8 =1 *----------------------------------------------------------------------------
9 =1 * PURPOSE:
10 =1 *****************************************************************************/
11 =1
12 =1 /*_____ I N C L U D E S ____________________________________________________*/
C51 COMPILER V8.01 DISP_TASK 08/07/2006 11:16:10 PAGE 7
13 =1
14 =1
15 =1 #define DTS_DOUT P3_6
16 =1 #define DTS_DIN P3_4
17 =1 #define DTS_CLK P3_5
18 =1 #define DTS_CE P3_7
19 =1
20 =1 #define MPOWER P3_1
21 =1 #define CDPOWER P1_7
22 =1 #define TAPE_POWER P1_5
23 =1
24 =1 #define LCD_DA P0_0
25 =1 #define LCD_RW P0_1
26 =1 #define LCD_CS P0_2
27 =1
28 =1 #define ISDA P2_1
29 =1 #define ISCL P2_0
30 =1
31 =1 #define TOUCH_SDI P0_3
32 =1 #define TOUCH_SDO P0_4
33 =1 #define TOUCH_SCK P0_5
34 =1 #define TOUCH_SS P0_6
17 #include "disp_task.h" /* displayer task definition */
1 =1 /*H**************************************************************************
2 =1 * NAME: disp_task.h
3 =1 *----------------------------------------------------------------------------
4 =1 * Copyright (c) 2006 Atmel.
5 =1 *----------------------------------------------------------------------------
6 =1 * RELEASE: C51 Sample
7 =1 * REVISION: 1.00
8 =1 *----------------------------------------------------------------------------
9 =1 * PURPOSE:
10 =1 *****************************************************************************/
11 =1
12 =1 /*_____ I N C L U D E S ____________________________________________________*/
13 =1
14 =1 void disp_task_init (void);
15 =1 void disp_task(void);
16 =1 void HT1621_command(Byte bByte);
17 =1 void HT1621_getdata(Byte address,Byte bByte);
18 =1 void ht1621_cls (void);
19 =1 void glht1621_sec(Byte bByte);
20 =1 void glht1621_min(Byte bByte);
21 =1 void glht1621_TRACK(Byte bByte);
22 =1 void glht1621_stop(void);
23 =1 void glht1621_rec(void);
24 =1 void glht1621_volume(void);
25 =1 void dtsFM_DispFer(void);
26 =1 void glht1621_POFF(void);
27 =1 void dts_DispMem (void);
28 =1
29 =1 extern idata Byte gl_key; /* value of the key pressed */
30 =1 //extern idata char ht1621disp_Buffer[9];
31 =1 extern idata int dts_frequency;
32 =1 extern data Byte disp_state; /* disp state */
33 =1 extern data Byte vol_value; /* volume value */
34 =1 extern bdata bit vol_flag;
35 =1 extern data int vol_tick; /* volume tick */
36 =1 extern data Byte disp_tick; /* disp tick */
18
19 #if CONF_DISPLAY == HT1621
20 #include "driver\ht1621_drv.h" /* ht1621 driver definition */
C51 COMPILER V8.01 DISP_TASK 08/07/2006 11:16:10 PAGE 8
1 =1 /*H**************************************************************************
2 =1 * NAME: ht1621_drv.h
3 =1 *----------------------------------------------------------------------------
4 =1 * Copyright (c) 2006 Atmel.
5 =1 *----------------------------------------------------------------------------
6 =1 * RELEASE: C51 Sample
7 =1 * REVISION: 1.00
8 =1 *----------------------------------------------------------------------------
9 =1 * PURPOSE:
10 =1 *****************************************************************************/
11 =1
12 =1 /*_____ I N C L U D E S ____________________________________________________*/
13 =1 void ht1621_init (void);
14 =1 void HT1621_getMSB(Byte bByte);
15 =1 void HT1621_getLSB(Byte bByte);
16 =1 void HT1621_command(Byte bByte);
17 =1 void HT1621_getdata(Byte address,Byte bByte);
18 =1 void ht1621_cls (void);
19 =1 void glht1621_sec(Byte bByte);
20 =1 void glht1621_min(Byte bByte);
21 =1 void glht1621_TRACK(Byte bByte);
22 =1 void glht1621_stop(void);
23 =1 void glht1621_rec(void);
24 =1 void glht1621_volume(Byte bByte);
25 =1
26 =1 Byte code ht1621disp_Map[];
27 =1 //extern idata char ht1621disp_Buffer[9];
28 =1 extern idata int dts_frequency;
29 =1 extern data Byte vol_value; /* volume value */
30 =1 extern bdata bit vol_flag;
31 =1 extern bdata bit DtsMen_flag ;
32 =1 extern data Byte Mem_add;
21 #endif
22
23 /*_____ M A C R O S ________________________________________________________*/
24
25
26 /*_____ D E F I N I T I O N ________________________________________________*/
27
28 /*F**************************************************************************
29 * NAME: disp_task_init
30 *----------------------------------------------------------------------------
31 * PARAMS:
32 *
33 * return:
34 *----------------------------------------------------------------------------
35 * PURPOSE:
36 * Display task initialization
37 *----------------------------------------------------------------------------
38 * EXAMPLE:
39 *----------------------------------------------------------------------------
40 * NOTE:
41 *----------------------------------------------------------------------------
42 * REQUIREMENTS:
43 *****************************************************************************/
44 void disp_task_init (void)
45 {
46 1 ht1621_init();
47 1 HT1621_command(HT1621_COMBIAS);
48 1 HT1621_command(HT1621_RC);
49 1 HT1621_command(HT1621_TIMER);
50 1 HT1621_command(HT1621_SYSEN);
C51 COMPILER V8.01 DISP_TASK 08/07/2006 11:16:10 PAGE 9
51 1 HT1621_command(HT1621_ON);
52 1
53 1 glht1621_sec(45); /* 防止出错,无意义的调用 */
54 1 glht1621_min(20); /* 防止出错,无意义的调用 */
55 1 glht1621_TRACK(20); /* 防止出错,无意义的调用 */
56 1 glht1621_volume(); /* 防止出错,无意义的调用 */
57 1 glht1621_rec(); /* 防止出错,无意义的调用 */
58 1 glht1621_stop(); /* 防止出错,无意义的调用 */
59 1 ht1621_cls();
60 1 #if disp_version == E_DispVer
61 1 glht1621_TRACK(6); /* 软件版本:年份 */
62 1 glht1621_min(8); /* 软件版本:月期 */
63 1 glht1621_sec(4); /* 软件版本:日份 */
64 1 #endif
65 1 disp_state = DISP_INIT;
66 1 }
67
68 /*F**************************************************************************
69 * NAME: disp_task
70 *----------------------------------------------------------------------------
71 * PARAMS:
72 *
73 * return:
74 *----------------------------------------------------------------------------
75 * PURPOSE:
76 * Display task handling display of clock and scrolling of file name
77 *----------------------------------------------------------------------------
78 * EXAMPLE:
79 *----------------------------------------------------------------------------
80 * NOTE:
81 *----------------------------------------------------------------------------
82 * REQUIREMENTS:
83 *****************************************************************************/
84 void disp_task (void)
85 {
86 1 switch (disp_state)
87 1 {
88 2
89 2 case DISP_IDLE: break;
90 2 case DISP_INIT:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -