📄 pt6964.lst
字号:
C51 COMPILER V7.06 PT6964 03/03/2008 16:26:15 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE PT6964
OBJECT MODULE PLACED IN .\obj\PT6964.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Source\PT6964.C LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\PT6964.lst) OBJ
-ECT(.\obj\PT6964.obj)
stmt level source
1 //---------------------------------------------------------------------------
2 // YuXiang Inc. Company Confidential Strictly Private
3 // main.c
4 // $Archive: PT6964.c $
5 // $Revision: 0.1 $
6 // $Author: YuCheng $
7 // $Date: 2005/08/19 16:15:51 $
8 //
9 // --------------------------------------------------------------------------
10 // >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
11 // --------------------------------------------------------------------------
12 // Copyright 2005(c) YuXiang Inc.
13 // This is an unpublished work.
14 // --------------------------------------------------------------------------
15 #include <intrins.h>
16 #include "includes.h"
17 #include "serial.h"
18 #include "PT6964.h"
19 //---------------------------------------------------------------------------
20 //指令和数据操作
21 //---------------------------------------------------------------------------
22 //--------------------------------------------------------------------------
23 // Write Command to LCM
24 //--------------------------------------------------------------------------
25 INT8U code Disp_Tab[18] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71
-,0x73,0x78};
26 INT8U code Brigh_Tab[9] = {0x80,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f};
27 INT8U code Status_Tab[9] = {0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
28
29 INT8U Led_Brigh;
30 bit LED_Dip_enable;
31 //--------------------------------------------------------------------------
32 // WriteData
33 //--------------------------------------------------------------------------
34 void WriteData(INT8U Value)
35 {
36 1 INT8U i;
37 1
38 1 for(i=0;i<8;i++)
39 1 {
40 2 if(Value & 0x01)
41 2 PT6964_DIN_H;
42 2 else
43 2 PT6964_DIN_L;
44 2
45 2 PT6964_CLK_L;
46 2 PT6964_CLK_H;
47 2 Value >>= 1;
48 2 }
49 1 }
50 //--------------------------------------------------------------------------
51 // Write_Adr_Data to LCM
52 //--------------------------------------------------------------------------
53 void Write_Adr_Data(INT8U addr, INT8U value) reentrant
C51 COMPILER V7.06 PT6964 03/03/2008 16:26:15 PAGE 2
54 {
55 1 PT6964_STB_L;
56 1 WriteData(0x44);
57 1 PT6964_STB_H;
58 1
59 1 PT6964_STB_L;
60 1 WriteData(addr|0xc0);
61 1 WriteData(value);
62 1 PT6964_STB_H;
63 1 }
64 //--------------------------------------------------------------------------
65 //--------------------------------------------------------------------------
66 // Clear6961RAM
67 //--------------------------------------------------------------------------
68 void Clear6964RAM(void)
69 {
70 1 char i;
71 1
72 1 PT6964_STB_L;
73 1 WriteData(0x40); //Command 1, increment address
74 1 PT6964_STB_H;
75 1
76 1 PT6964_STB_L;
77 1 WriteData(0xc0); //Command 2, RAM address = 0
78 1 for(i=0;i<=0x0D;i++) //22 bytes
79 1 WriteData(0x00);
80 1 PT6964_STB_H;
81 1 }
82
83 //--------------------------------------------------------------------------
84 // PT6964_Init
85 //--------------------------------------------------------------------------
86 void PT6964_Init(void)
87 {
88 1 Led_Brigh=2;
89 1 PT6964_STB_H; //Initial state
90 1 PT6964_CLK_H; //Intial state
91 1 // Delay10ms(); //delay 200ms
92 1 Clear6964RAM();
93 1
94 1 PT6964_STB_L;
95 1 WriteData(0x03); //7 digit
96 1 PT6964_STB_H;
97 1
98 1 PT6964_STB_L;
99 1 WriteData(Brigh_Tab[Led_Brigh]); //Command 3, Display ON
100 1 PT6964_STB_H;
101 1 }
102
103 //--------------------------------------------------------------------------
104 // FP_Get_Key
105 //--------------------------------------------------------------------------
106 INT8U FP_Get_Key(void)
107 {
108 1 INT8U i,value=0;
109 1
110 1 PT6964_STB_L;
111 1 WriteData(0x42);
112 1 PT6964_DOUT=1;
113 1
114 1 for(i=0;i<40;i++)
115 1 {
C51 COMPILER V7.06 PT6964 03/03/2008 16:26:15 PAGE 3
116 2 PT6964_CLK_L;
117 2 _nop_();
118 2 _nop_();
119 2 PT6964_CLK_H;
120 2
121 2 value ++;
122 2 _nop_();
123 2 _nop_();
124 2 if(PT6964_DOUT==1)
125 2 {
126 3 PT6964_STB_H;
127 3 return(value);
128 3 }
129 2 }
130 1 PT6964_STB_H;
131 1 value=0;
132 1 return(value);
133 1 }
134 void Change_Bright(void)
135 {
136 1 PT6964_STB_L;
137 1 WriteData(0x44);
138 1 PT6964_STB_H;
139 1
140 1 PT6964_STB_L;
141 1 WriteData(0x03); //7 digit
142 1 PT6964_STB_H;
143 1
144 1 PT6964_STB_L;
145 1 WriteData(Brigh_Tab[Led_Brigh]); //Command 3, Display ON
146 1 PT6964_STB_H;
147 1
148 1 Write_Adr_Data(0x0c, Status_Tab[Led_Brigh]);
149 1
150 1 }
151 //--------------------------------------------------------------------
152
153
154 //--------------------------------------------------------------------------
155 // Write Command to LCM
156 //--------------------------------------------------------------------------
157 void LED_DISP(INT8U Led_value,INT8U Led_bit) reentrant
158 {INT8U temp;
159 1 if(Led_value<18)
160 1 { temp=Led_value&0x1f;
161 2 PT6964_STB_L;
162 2 WriteData(0x44); //
163 2 PT6964_STB_H;
164 2 switch(Led_bit)
165 2 {case 1:Write_Adr_Data(0x00, Disp_Tab[temp]);break;
166 3 case 2:Write_Adr_Data(0x02, Disp_Tab[temp]);break;
167 3 case 3:Write_Adr_Data(0x04, Disp_Tab[temp]);break;
168 3 case 4:Write_Adr_Data(0x06, Disp_Tab[temp]);break;
169 3 case 5:Write_Adr_Data(0x08, Disp_Tab[temp]);break;
170 3 case 6:Write_Adr_Data(0x0a, Disp_Tab[temp]);break;
171 3 default: break;
172 3 }
173 2 Write_Adr_Data(0x0c, Status_Tab[Led_Brigh]);
174 2 }
175 1 }
176
177 void LED_PT6964(void) reentrant
C51 COMPILER V7.06 PT6964 03/03/2008 16:26:15 PAGE 4
178 {
179 1 LED_DISP(16,1); // P
180 1 LED_DISP(17,2); // t
181 1 LED_DISP(6,3); // 6
182 1 LED_DISP(9,4); // 9
183 1 LED_DISP(6,5); // 6
184 1 LED_DISP(4,6); // 4
185 1 }
186
187 void LED_Dip_Event(void) reentrant
188 {
189 1 LED_PT6964();
190 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 481 ----
CONSTANT SIZE = 36 ----
XDATA SIZE = 1 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -