maxims 发表于 2012-11-2 20:29:43

【5110+Bascom】关于写屏的求助

在论坛里中,找到了下边这组代码。
编译,写入开发板,证明是可行的。
但是,它作为测试用途,可以。我学习了一下,然后开始构思自己的写屏代码。结果发现还是无从下手。
原因如下:
1、假设我的程序用到的所有文字标签位置,有中文有英文,我是不是都要给他们建立一个字模?这得占用我多少存储空间啊?
2、假设我要显示的内容“数值 123456”,后边数值是改变的,我是不是的很傻瓜的去计算,我这个123从某个x,到某个y?'硬件连接:PB3(4)-D\C(5),PB4(SS)-SCE(3),PB5(MOSI)-SDIN(6),PB6(MISO)-RST(4),PB7(SCK)-SCLK(7)
$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4       '硬件SPI配置
'Config Spi = Soft , Din = Porta.0 , Dout = Portb.5 , Clock = Portb.7       '软SPI连接
Dim A As Byte , B As Byte , C As Byte , D As Byte , E As Byte , F As Byte , I As Word , J As Word , X As Byte , Y As Byte , Q(1 To 84) As Byte
'/////////////初始化/////////////////////////////////////////////////////////
Ddrd.2 = 0
Ddrd.3 = 0
Portd.2 = 1
Portd.3 = 1
Ddrb.4 = 1
Ddrb.1 = 1
Portb.4 = 0
Ddrd.6 = 1
Portd.6 = 0
Waitus 10
Portb.4 = 1                                                 'LCD复位
Dc Alias Portb.1
Spiinit                                                   'SPI端口初始化
Gosub Lcdinit                                             'lcd初始化
Gosub Lcdcls                                                '清屏子程序
X = 128
Y = 64                                                      '这是lcd的初始地址
Restore Aa                                                '数据指针指向数据开始
I = 0
Do
    Incr I
    For J = 1 To 84
   If I = 1 Or I = 4 Then Gosub Du
   If I = 2 Or I = 5 Then Gosub Xie
   If I = 3 Or I = 6 Then Gosub Cun
    Next J
      X = 128
      Y = Y + 1
Loop Until I > 6
End

Du:
Read A                                                    '读第一行汉字的高8位字节数据
Dc = 0                                                    '下面的为命令行
X = X + 1
Spiout X , 1                                              '写入x坐标地址
Spiout Y , 1                                              '写入y坐标地址
Dc = 1                                                    '下面开始写入数据
Spiout A , 1                                              '写数据到lcd的RAM并显示
Read B                                                    '读第一行汉字的低8位字节数据(其中高4为全为0)
Q(j) = B                                                '写入数组
Return

Xie:
   Read A                                                   '读入第二行汉字的高8位字节数据
   Read B                                                   '读入第二行汉字的低8位字节数据
   C = A
   F = B
   Shift C , Left , 4                                       '低4位字节数据左移至高4位,低4位清零
   E = Q(j)                                                 '从数组取出第一行汉字的低8位字节数据
   D = E Or C                                             '两组数据相或
   Dc = 0
   X = X + 1
   Spiout X , 1
   Spiout Y , 1                                             '写地址
   Dc = 1
   Spiout D , 1                                             '写第一行汉字的低4位和第二行汉字的高4位数据到lcd并显示
   E = A
   Shift F , Left , 4                                       '第二行汉字的低8位字节中低4位数据左移至高4位
   Shift E , Right , 4                                    '第二行汉字的高8位字节中高4位数据右移至低4位
   Q(j) = F Or E                                          '两组数据相或后存入数组                                       '
Return

Cun:
   B = Q(j)                                                 '读数组中的数据
   Dc = 0
   X = X + 1
   Spiout X , 1
   Spiout Y , 1
   Dc = 1
   Spiout B , 1                                             '写数据到lcd的RAM并显示(第二行汉字的低8位)

Return

Lcdcls:                                                   '清屏子程序
   Dc = 1
   For I = 1 To 4032
   A = 0
   Spiout A , 1
   Next
Return

Lcdinit:                                                    'lcd初始化
   Dc = 0
   A = 33 : Spiout A , 1
   A = 144 : Spiout A , 1
   A = 34 : Spiout A , 1
   A = 12 : Spiout A , 1
Return


Aa:

Data &H22 , &H04 , &H44 , &H02 , &H22 , &H00 , &HEA , &H0F , &HAA , &H02 , &HAA , &H02 , &HBF , &H02 , &HAA , &H02 , &HAA , &H0A , &HEA , &H0F , &H22 , &H00 , &H00 , &H00       '清0
Data &HFF , &H03 , &H11 , &H01 , &H11 , &H01 , &H11 , &H01 , &HFF , &H09 , &H00 , &H04 , &HFF , &H03 , &H49 , &H00 , &H49 , &H08 , &H49 , &H08 , &HFF , &H0F , &H00 , &H00       '明1
Data &HFE , &H07 , &H22 , &H02 , &H22 , &H02 , &HFE , &H07 , &H00 , &H00 , &H08 , &H00 , &H48 , &H00 , &H88 , &H09 , &H08 , &H08 , &HFF , &H0F , &H08 , &H00 , &H00 , &H00       '时2
Data &H24 , &H00 , &H24 , &H00 , &H24 , &H00 , &H2F , &H00 , &HE4 , &H0F , &H24 , &H00 , &H24 , &H00 , &H2F , &H00 , &H24 , &H02 , &HE4 , &H03 , &H04 , &H00 , &H00 , &H00       '节3
Data &H06 , &H04 , &H4A , &H05 , &H4A , &H05 , &HAA , &H02 , &H5A , &H0A , &H2B , &H09 , &HCA , &H07 , &H8A , &H00 , &H4A , &H01 , &H2A , &H02 , &H06 , &H02 , &H00 , &H00       '家4
Data &H06 , &H04 , &H4A , &H05 , &H4A , &H05 , &HAA , &H02 , &H5A , &H0A , &H2B , &H09 , &HCA , &H07 , &H8A , &H00 , &H4A , &H01 , &H2A , &H02 , &H06 , &H02 , &H00 , &H00       '家5
Data &HF9 , &H0F , &H09 , &H00 , &H29 , &H01 , &H49 , &H02 , &H09 , &H00 , &HFF , &H07 , &H09 , &H00 , &H29 , &H01 , &H49 , &H0A , &H09 , &H08 , &HF9 , &H0F , &H00 , &H00       '雨6
Data &H98 , &H04 , &HD4 , &H04 , &HB3 , &H02 , &H08 , &H00 , &H50 , &H04 , &H95 , &H02 , &H15 , &H09 , &HF5 , &H0F , &H15 , &H01 , &H9F , &H02 , &H50 , &H04 , &H00 , &H00       '绿0
Data &H02 , &H02 , &HFA , &H02 , &HAA , &H02 , &HAF , &H02 , &HAA , &H02 , &HAA , &H0F , &HAA , &H02 , &HAF , &H02 , &HAA , &H02 , &HFA , &H02 , &H02 , &H02 , &H00 , &H00       '草1
Data &H22 , &H04 , &H44 , &H02 , &H40 , &H00 , &HFC , &H07 , &H20 , &H08 , &H10 , &H08 , &HFF , &H0B , &H08 , &H08 , &H04 , &H09 , &HFC , &H09 , &H00 , &H0C , &H00 , &H00       '池2
Data &H08 , &H02 , &HFF , &H03 , &H08 , &H09 , &HFE , &H07 , &H22 , &H00 , &HAA , &H0E , &HAA , &H0A , &HFF , &H0B , &HAA , &H0A , &HFA , &H0E , &H22 , &H00 , &H00 , &H00       '塘3
Data &H40 , &H08 , &H30 , &H04 , &HCF , &H02 , &H04 , &H01 , &HC4 , &H02 , &H3C , &H04 , &H00 , &H08 , &HFF , &H0B , &H08 , &H08 , &H10 , &H08 , &H60 , &H08 , &H00 , &H00       '处4
Data &H40 , &H08 , &H30 , &H04 , &HCF , &H02 , &H04 , &H01 , &HC4 , &H02 , &H3C , &H04 , &H00 , &H08 , &HFF , &H0B , &H08 , &H08 , &H10 , &H08 , &H60 , &H08 , &H00 , &H00       '处5
Data &HF8 , &H08 , &H88 , &H08 , &HFF , &H07 , &H88 , &H04 , &HF8 , &H0E , &H00 , &H08 , &H24 , &H09 , &H24 , &H09 , &HBF , &H0F , &H24 , &H09 , &H24 , &H09 , &H00 , &H00       '蛙6
Data &H44 , &H00 , &H24 , &H00 , &HF4 , &H0F , &H5C , &H01 , &H57 , &H01 , &H54 , &H01 , &H54 , &H01 , &H54 , &H01 , &H54 , &H09 , &HF4 , &H0F , &H04 , &H00 , &H00 , &H00       '有0
Data &H98 , &H04 , &HD4 , &H04 , &HB3 , &H02 , &H88 , &H02 , &H10 , &H00 , &H08 , &H00 , &H27 , &H00 , &HC4 , &H00 , &H04 , &H08 , &H04 , &H08 , &HFC , &H07 , &H00 , &H00       '约1
Data &H02 , &H01 , &H02 , &H01 , &H82 , &H00 , &H42 , &H00 , &H22 , &H00 , &HF2 , &H0F , &H0E , &H00 , &H22 , &H00 , &H42 , &H00 , &H82 , &H00 , &H02 , &H01 , &H00 , &H00       '不2
Data &H40 , &H04 , &H44 , &H04 , &H54 , &H02 , &H64 , &H01 , &HC4 , &H00 , &HFF , &H0F , &HC4 , &H00 , &H64 , &H01 , &H54 , &H02 , &H44 , &H04 , &H40 , &H04 , &H00 , &H00       '来3
Data &H10 , &H08 , &H11 , &H04 , &HF2 , &H03 , &H00 , &H04 , &H08 , &H08 , &H28 , &H08 , &HC8 , &H08 , &H08 , &H0A , &H08 , &H0A , &HFF , &H0B , &H08 , &H08 , &H00 , &H00       '过4
Data &H84 , &H00 , &H44 , &H00 , &HE4 , &H0F , &H9C , &H00 , &H45 , &H08 , &HA6 , &H08 , &H1C , &H05 , &H54 , &H02 , &H94 , &H05 , &H74 , &H08 , &H04 , &H08 , &H00 , &H00       '夜5
Data &H80 , &H00 , &H90 , &H00 , &H92 , &H00 , &H94 , &H00 , &H90 , &H00 , &HFF , &H0F , &H90 , &H00 , &H94 , &H00 , &H92 , &H00 , &H90 , &H00 , &H80 , &H00 , &H00 , &H00       '半6
Data &HF9 , &H0F , &H02 , &H00 , &H10 , &H01 , &H91 , &H00 , &H51 , &H00 , &HFD , &H07 , &H51 , &H00 , &H91 , &H00 , &H11 , &H01 , &H01 , &H08 , &HFF , &H0F , &H00 , &H00       '闲0
Data &H82 , &H0F , &HBA , &H00 , &HAA , &H0E , &HAB , &H0A , &HAA , &H0E , &HBA , &H00 , &H82 , &H0F , &H20 , &H08 , &HE0 , &H05 , &H3F , &H02 , &HE4 , &H0D , &H00 , &H00       '敲1
Data &H88 , &H00 , &H68 , &H00 , &HFF , &H0F , &H48 , &H00 , &H04 , &H09 , &HFF , &H05 , &H54 , &H01 , &H54 , &H01 , &H54 , &H01 , &HFF , &H05 , &H04 , &H09 , &H00 , &H00       '棋2
Data &H40 , &H00 , &H40 , &H00 , &H42 , &H00 , &H42 , &H08 , &H42 , &H08 , &HF2 , &H0F , &H4A , &H00 , &H46 , &H00 , &H42 , &H00 , &H40 , &H00 , &H40 , &H00 , &H00 , &H00       '子3
Data &H42 , &H08 , &H8A , &H04 , &H12 , &H02 , &HA7 , &H00 , &H92 , &H0E , &HBA , &H0A , &H52 , &H0A , &H57 , &H0A , &HB2 , &H0A , &H82 , &H0E , &H82 , &H00 , &H00 , &H00       '落4
Data &H38 , &H08 , &H00 , &H06 , &HFF , &H01 , &H10 , &H02 , &H08 , &H0C , &H02 , &H00 , &H02 , &H08 , &H02 , &H08 , &HFE , &H0F , &H02 , &H00 , &H02 , &H00 , &H00 , &H00       '灯5
Data &H82 , &H00 , &H42 , &H00 , &HE2 , &H0F , &H17 , &H00 , &H02 , &H04 , &H02 , &H02 , &HF2 , &H07 , &H87 , &H08 , &H42 , &H08 , &H22 , &H08 , &H02 , &H0E , &H00 , &H00       '花6
页: [1]
查看完整版本: 【5110+Bascom】关于写屏的求助