?? ql300spi.lst
字號:
C51 COMPILER V7.06 QL300SPI 11/23/2007 13:55:54 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE QL300SPI
OBJECT MODULE PLACED IN ql300spi.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ql300spi.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*視頻字符疊加模塊(器)spi接口測試程序(僅供參考)
2 本程序僅提供常用的基本功能,其它功能讀者請自行編寫
3 應用產品:QL300A
4 編譯環環境: KEIL C
5 簡要說明:
6 本測試程序使用AT89S51,晶振11.0592MHZ
7 注:讀者如果使用更高運行速度請在指令結束插入適當的延時
8 */
9
10 #include<reg51.h>
11 #include<intrins.h>
12 #include<stdio.h>
13 #include<string.h>
14 //#include<ql503_spi_public.c>
15 #define UN unsigned char
16
17 void csf_main(void);//初始化疊加的默認值
18
19 UN code zfc[]={0,0,0,0,12,0,0,30,0,0,14,0,0,14,0,31,
20 255,254,31,255,254,24,0,14,24,0,14,24,0,14,24,0,
21 14,0,0,16,3,255,240,3,255,240,0,12,0,0,12,0,
22 0,12,0,3,140,0,3,143,252,3,143,252,7,12,0,7,
23 12,0,7,140,0,15,204,0,15,204,0,28,236,0,28,124,
24 1,60,63,254,56,15,254,8,0,0,0,0,0,0,0,0};//定
25 void csf_uart();
26 sfr16 DPTR=0x82;
27 sbit spics=P1^0;
28 sbit spidi =P1^1;
29 sbit spido =P1^2;
30 sbit spiclk=P1^3;
31
32 unsigned char bdata bm;
33 sbit bm0=bm^0;
34 sbit bm1=bm^1;
35 sbit bm2=bm^2;
36 sbit bm3=bm^3;
37 sbit bm4=bm^4;
38 sbit bm5=bm^5;
39 sbit bm6=bm^6;
40 sbit bm7=bm^7;
41 void csf_spi(void);//初始化SPI
42 void write_1byte(unsigned char x);
43 void Tx4b(UN a,b,c,d);
44 void cls(UN ys);//cm1//按指定顏色清屏0-7
45 void Neiwai_SaoMiao(UN x);//cm2//內外頻及掃描方式選擇0-1
46 void hwy(UN h,l);//cm3//設定水平方向開始顯示的位置0-511
47 void vwy(UN h,l);//cm4 PAL方式下設定垂直方向開始顯示的位置0-511
48 void zfjj(UN x);//cm5
49 void size(UN x);//cm6//字符大小,設置指定行的字符大小,size:大小0-3
50 void Ding_Wei(UN H,L);//cm7 //定位,設置要顯示的起始位置H:行號1-16,L:列號1-35
51 //void Tx_arry(UN zfc[]);//字符數組的顯示
52 void Tx_nei_ma(UN nmH,nmL);//cm8//按字符內碼顯示1字符,nmH:內碼高字節,nmL:內碼低字節
53 void MoRen_Color(UN ys);//cm9//設置默認字符顏色,ys高位0-7,低位0-7
54 void hj(UN x);//cm10//行距設定0-7
55 void bk(UN x);//cm11
C51 COMPILER V7.06 QL300SPI 11/23/2007 13:55:54 PAGE 2
56 void yy_ys(UN x);//cm12
57 void fxg(UN x);//cm13
58 void yykg(UN x);//cm14
59 void blinking(UN x);//cm15
60 void lxfszf();//cm16
61
62 void wcode(UN idata zfc[],UN x);//cm17
63 //無cm18
64 void copy_f_r(UN m,n);//cm19
65 void disram(UN x);//cm20
66
67 void delay(unsigned int x);
68 void delay_ms(unsigned int nMs);//豪秒級的延時<65535ms,,延時函數讀者可根據實際使用編寫
69 //#define addr 0xff
70 //============================================================================
71 //主程序
72 //============================================================================
73 void main(void)
74 {UN i,j,h,a,b,a1,b1;
75 1 unsigned int old1,new1;
76 1 csf_spi();
77 1 delay_ms(200);
78 1 cls(1);//按藍色清屏
79 1 delay_ms(60);//發清屏指令后延時
80 1 blinking(0);//不閃爍
81 1 hj(0);//設行距為0
82 1 hwy(0,10);//設水平位移
83 1 vwy(0,12);//設垂直位移
84 1 yy_ys(0);//設陰影顏色為黑色
85 1 yykg(2);//設強陰影
86 1
87 1 Ding_Wei(2,7);//定位,第2行第7列
88 1 disram(8);//調出顯示用戶自定義RAM的8個字符
89 1
90 1 Ding_Wei(3,9);//定位,第3行第9列
91 1 MoRen_Color(0x16);//改變默認字符顏色為藍底黃字
92 1 disram(4);//調出顯示用戶自定義RAM的8個字符
93 1
94 1
95 1 MoRen_Color(0x17);//改變默認字符顏色為藍底白字
96 1 Tx_nei_ma(0,0xa0);//按字符內碼顯示1字符
97 1 Tx_nei_ma(0,0xa1);//按字符內碼顯示1字符
98 1 Tx_nei_ma(0,0xa2);//按字符內碼顯示1字符
99 1 Tx_nei_ma(0,0x02);//按字符內碼顯示1字符
100 1 Tx_nei_ma(0,0x03);//按字符內碼顯示1字符
101 1
102 1 yykg(0);////設為無陰影
103 1 Ding_Wei(4,2);//定位,第4行第2列
104 1 hj(2);//設行距為2
105 1 i=0;
106 1 while(i<15){Tx_nei_ma(0,0x11+i);i++;}//按字符內碼循環顯示字符
107 1
108 1
109 1 Ding_Wei(5,2);//定位,第5行第2列
110 1 size(2);//設字符大小為2號字
111 1 zfjj(1);//設字間距為1
112 1 bk(2);//有背景顯示且框架陰影在底邊
113 1 MoRen_Color(0x27);//
114 1 i=0;
115 1 while(i<15){Tx_nei_ma(0,0x11+i);i++;}//按字符內碼顯示字符
116 1 Ding_Wei(6,2);
117 1 size(3);
C51 COMPILER V7.06 QL300SPI 11/23/2007 13:55:54 PAGE 3
118 1 zfjj(3);
119 1 //bk(1);//有背景顯示且框架陰影在底邊
120 1 yykg(0);//設無陰影
121 1
122 1 MoRen_Color(0x60);
123 1
124 1 i=0;
125 1 while(i<8){Tx_nei_ma(0,0x11+i);i++;}//按字符內碼顯示字符
126 1
127 1 bk(0);//有背景顯示且框架陰影在底邊
128 1 Ding_Wei(7,2);
129 1 MoRen_Color(0x17);
130 1 disram(8);
131 1
132 1
133 1 Ding_Wei(7,2);
134 1 blinking(1);//設閃爍
135 1 MoRen_Color(0x17);
136 1 disram(8);
137 1 wcode(zfc,5);//寫入1個用戶自定義字符點陣數據(96個字節)到用戶RAM 5區;
138 1 Ding_Wei(7,10);
139 1 size(3);
140 1 Tx_nei_ma(0,0xa0);//按字符內碼顯示1字符
141 1 copy_f_r(15,6);//復制用戶FLASH 15區的點陣數據到指定的用戶RAM 6區 。
142 1 //---------------------------------------------------------
143 1 Ding_Wei(1,10);
144 1 lxfszf();//連續發送字符代碼顯示
145 1 write_1byte(1);write_1byte(0xce);delay(100);write_1byte(1);write_1byte(0xcf);delay(100);write_1byte(1);wri
-te_1byte(0xd0);delay(100);
146 1 write_1byte(1);write_1byte(0x40);delay(100);write_1byte(1);write_1byte(0x41);delay(100);write_1byte(1);wri
-te_1byte(0x42);delay_ms(3);
147 1 //------------------------------------------------------------------------
148 1 Ding_Wei(1,17);Tx_nei_ma(0,0xa0);//按字符內碼顯示1字符
149 1
150 1
151 1
152 1
153 1 while(1){;}//主循環
154 1
155 1 }
*** WARNING C280 IN LINE 74 OF QL300SPI.C: 'j': unreferenced local variable
*** WARNING C280 IN LINE 74 OF QL300SPI.C: 'h': unreferenced local variable
*** WARNING C280 IN LINE 74 OF QL300SPI.C: 'a': unreferenced local variable
*** WARNING C280 IN LINE 74 OF QL300SPI.C: 'b': unreferenced local variable
*** WARNING C280 IN LINE 74 OF QL300SPI.C: 'a1': unreferenced local variable
*** WARNING C280 IN LINE 74 OF QL300SPI.C: 'b1': unreferenced local variable
*** WARNING C280 IN LINE 75 OF QL300SPI.C: 'old1': unreferenced local variable
*** WARNING C280 IN LINE 75 OF QL300SPI.C: 'new1': unreferenced local variable
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -