📄 t6963.lst
字号:
C51 COMPILER V7.50 T6963 12/30/2008 12:18:36 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE T6963
OBJECT MODULE PLACED IN T6963.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE T6963.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*------------------------------------------------------------------------------------------
2 [文件名] t6963.c
3 [功能] 240X128液晶
4 [版本] 3.0
5 [作者] 鞠春阳
6 [最后修改时间] 2003年5月12日
7 ===========================================================================================*/
8
9 #include "absacc.h"
10 #include "math.h"
11
12 #include "ASCII816.h" //标准ASCII库
13 #include "HZTable.h" //汉字点阵库(自做)
14 #include "menu.h" //菜单库(自做)
15 #define ComPort 0xB101
16 #define DataPort 0xB000
17 #define GraphAddr 0x0000 //head of graph
18 //以8*8字符计算,显示屏横向、纵向可以显示的字符个数
19 //以240*128为例:
20 #define LineChar 30 //一行16个字符(8*8)
21 #define ColumnChar 16 //总共16列
22
23 //指令,数据 读写状态检查
24 #define RWCheck() { unsigned char sta; do{ sta=XBYTE[ComPort] & 0x03; }
25 while(sta!=0x03); }
*** ERROR C141 IN LINE 25 OF T6963.C: syntax error near 'while'
*** ERROR C141 IN LINE 25 OF T6963.C: syntax error near '!=', expected ')'
26 //数据自动读 状态检查
27 #define AutoRCheck() { unsigned char sta; do{ sta=XBYTE[ComPort] & 0x04; }
28 while(sta!=0x04); }
*** ERROR C141 IN LINE 28 OF T6963.C: syntax error near '!=', expected ')'
29 //数据自动写 状态检查
30 #define AutoWCheck() { unsigned char sta; do{ sta=XBYTE[ComPort] & 0x08; }
31 while(sta!=0x08); }
*** ERROR C141 IN LINE 31 OF T6963.C: syntax error near '!=', expected ')'
32 /*------输入/出函数,与T6963通讯------------------------------------------------*/
33 /*------------------------------------------------------------------------*/
34 // 向数据口发Data
35 #define OutPortData(dat ) { RWCheck(); XBYTE[DataPort]=dat; }
36 //写有 1 个参数命令
37 #define OutPortCom1(command) { RWCheck(); XBYTE[ComPort]= command; }
38 //写有 2 个参数命令
39 #define OutPortCom2(dat, command) { OutPortData(dat);
40 OutPortCom1(command); }
*** ERROR C141 IN LINE 40 OF T6963.C: syntax error near 'do'
*** ERROR C231 IN LINE 40 OF T6963.C: 'sta': redefinition
*** ERROR C141 IN LINE 40 OF T6963.C: syntax error near '}'
*** ERROR C141 IN LINE 40 OF T6963.C: syntax error near 'unsigned'
*** ERROR C141 IN LINE 40 OF T6963.C: syntax error near ')'
*** ERROR C141 IN LINE 40 OF T6963.C: syntax error near '}'
41 //写有 3 个参数命令
42 #define OutPortCom3(data1, data2, command) { OutPortData(data1);
43 OutPortData(data2); OutPortCom1(command)}
*** ERROR C231 IN LINE 43 OF T6963.C: 'sta': redefinition
*** ERROR C141 IN LINE 43 OF T6963.C: syntax error near 'do'
C51 COMPILER V7.50 T6963 12/30/2008 12:18:36 PAGE 2
*** ERROR C279 IN LINE 43 OF T6963.C: 'sta': multiple initialization
*** ERROR C141 IN LINE 43 OF T6963.C: syntax error near '}'
*** ERROR C141 IN LINE 43 OF T6963.C: syntax error near 'unsigned'
*** ERROR C141 IN LINE 43 OF T6963.C: syntax error near ')'
*** ERROR C141 IN LINE 43 OF T6963.C: syntax error near '}'
*** ERROR C231 IN LINE 43 OF T6963.C: 'sta': redefinition
*** ERROR C141 IN LINE 43 OF T6963.C: syntax error near 'do'
*** ERROR C279 IN LINE 43 OF T6963.C: 'sta': multiple initialization
*** ERROR C141 IN LINE 43 OF T6963.C: syntax error near '}'
*** ERROR C141 IN LINE 43 OF T6963.C: syntax error near 'unsigned'
*** ERROR C141 IN LINE 43 OF T6963.C: syntax error near ')'
*** ERROR C141 IN LINE 43 OF T6963.C: syntax error near '}'
44
45 unsigned char InPortData() { RWCheck(); return(XBYTE[DataPort]); }
*** ERROR C141 IN LINE 45 OF T6963.C: syntax error near ';', expected 'while'
46 2 /*-----------------------------------------------------------------------------------*/
47 2 //显示8*16字符
48 2 //lin:行(0-7), column: 列(0-15)
49 2 //ch:字符代码(标准ASCII码)
50 2 void ShowChar(unsigned char lin,unsigned char column,unsigned char ch)
51 2 {
52 2 unsigned char i;
53 2 unsigned char dat;
54 2 unsigned int StartAddr;
55 2 StartAddr=lin*LineChar +column; //定位起始行
56 2 for(i=0;i<16;i++)
57 2 {
58 2 dat=ASCII816[ ch-0x20 ][i];
59 2 OutPortCom3( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8),
60 2 0x24); //set address
61 2 OutPortCom2( dat, 0xc4);
62 2 StartAddr=StartAddr + LineChar;
63 2 }
64 2 }
65 2 /*----------------------------------------------------------------------------------------------*/
66 2 //显示一个汉字(16*16点阵)
67 2 //lin:行(0-7), column: 列(0-7)
68 2 //hzcode: 汉字代码(自定义的)
69 2 void ShowHZ(unsigned char lin,unsigned char column,unsigned int hzcode)
70 2 {
71 2 unsigned char i;
72 2 unsigned int StartAddr;
73 2 StartAddr=lin*LineChar + column; //定位起始行
74 2 for(i=0;i<16;i++)
75 2 {
76 2 OutPortCom3( (unsigned char)(StartAddr), (unsigned char)(StartAddr>>8),
77 2 0x24);
78 2 OutPortCom2( HZTable[hzcode][i*2], 0xc0); //左半部 地址加一
79 2 OutPortCom2( HZTable[hzcode][i*2+1], 0xc4); //右半部 字模地址加一
80 2 StartAddr=StartAddr + LineChar;
81 2 }
82 2 }
83 2 /////////////////////////////////////////////////////////////////////////////////////////////
84 2 //显示一个汉字(16*16点阵)
85 2 //lin:行(0-7), column: 列(0-7)
86 2
C51 COMPILATION COMPLETE. 0 WARNING(S), 25 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -