📄 display.lst
字号:
C51 COMPILER V7.50 DISPLAY 08/20/2006 14:48:04 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN DISPLAY.OBJ
COMPILER INVOKED BY: E:\Program Files\keil\C51\BIN\C51.EXE DISPLAY.C BROWSE DEBUG OBJECTEXTEND
line level source
1 //2003.1.10
2 //write by sunny
3 #include "main.h"
4 #include "display.h"
5 #include "disdrive.h"
6 #include "x.h"
7
8 extern char code g_DaiJi[];
9 extern code * code gZiMo_Go[],gZiMo_0[],gZiMo_1[],gZiMo_2[],gZiMo_3[],gZiMo_4[],gZiMo_5[],gZiMo_6[],gZiMo_
-7[],gZiMo_8[],gZiMo_9[],gZiMo_a[],gZiMo_b[],gZiMo_c[],gZiMo_d[],gZiMo_e[],gZiMo_f[];
10 char code * code Num2Char[16]={gZiMo_0,gZiMo_1,gZiMo_2,gZiMo_3,gZiMo_4,gZiMo_5,gZiMo_6,gZiMo_7,gZiMo_8,gZi
-Mo_9,gZiMo_a,gZiMo_b,gZiMo_c,gZiMo_d,gZiMo_e,gZiMo_f,};
11
12 //在一个方框里显示"待机"两个字
13 void ShowWait(void)
14 {
15 1 LedFillNULL();
16 1 ShowBitMap(g_DaiJi,FALSE,0x02,0x04,0x04,8);//画出一个80*48的有边框里面内容为空的方框
17 1 }
18
19
20 /*show a menu page,显示菜单,传递需要显示页的字模数组指针,和总行数以及需要反现的行,如果总行数大于4,则需
-要翻页
21 根据反显行判断页数,如果没有反显行ucSelectLineNum=0,该页即为显示内容,ucNumLine必须<=4*/
22 void ShowCharPage(char code ** ZiMoPage,unsigned char ucNumLine,unsigned char ucSelectLineNum) //cNumLin
-e = item num
23 {
24 1 unsigned char ucLine; //行变量
25 1 unsigned char ucLineMax;//总的行最大值
26 1 unsigned char ucSegment;//列变量
27 1 unsigned char ucNumFirst;//字模首位变量在行列式中的位置
28 1 if(ucSelectLineNum == 0) //是显示数据页面不是菜单页面,注意:如果是显示数据页面,cNumLine<=4
29 1 {
30 2 for(ucLine=0;ucLine<ucNumLine;ucLine=ucLine++)
31 2 for(ucSegment=0;ucSegment<8;ucSegment=ucSegment++)
32 2 {
33 3 ShowOneChar(*(ZiMoPage+ucLine*8+ucSegment),0x00,ucLine+ucLine,ucSegment+ucSegment);
34 3 }
35 2 }
36 1 else
37 1 {
38 2 ucNumFirst = (ucSelectLineNum/4)*32;//显示页面首字在行列式字模当中的首位
39 2
40 2 if((ucNumLine-ucSelectLineNum)>=4) ucLineMax = 4;
41 2 else
42 2 {
43 3 ucLineMax = ucNumLine-(ucSelectLineNum/4)*4;
44 3 LedFillNULL();
45 3 }
46 2 for(ucLine=0;ucLine<ucLineMax;ucLine=ucLine++)
47 2 for(ucSegment=0;ucSegment<8;ucSegment=ucSegment++) //写入某一行
48 2 {
49 3 if(ucSelectLineNum%4==ucLine)
50 3 {
51 4 ShowOneChar(*(ZiMoPage+ucLine*8+ucSegment+ucNumFirst),0xFF,ucLine+ucLine,ucSegment+ucSegment);
C51 COMPILER V7.50 DISPLAY 08/20/2006 14:48:04 PAGE 2
52 4 }
53 3 else
54 3 {
55 4 ShowOneChar(*(ZiMoPage+ucLine*8+ucSegment+ucNumFirst),0x00,ucLine+ucLine,ucSegment+ucSegment);
56 4 }
57 3 }
58 2 }
59 1 }
60
61 /*传递数组指针,屏幕中起始字行位置(<4),起始字列位置(<8),xnum是行宽,ynum是列宽(16*16为最小单位),把屏幕可以
-看成4*8的矩阵
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -