搜索
bottom↓
回复: 0

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

[复制链接]

出0入0汤圆

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

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

  52. Xie:
  53.    Read A                                                   '读入第二行汉字的高8位字节数据
  54.    Read B                                                   '读入第二行汉字的低8位字节数据
  55.    C = A
  56.    F = B
  57.    Shift C , Left , 4                                       '低4位字节数据左移至高4位,低4位清零
  58.    E = Q(j)                                                 '从数组取出第一行汉字的低8位字节数据
  59.    D = E Or C                                               '两组数据相或
  60.    Dc = 0
  61.    X = X + 1
  62.    Spiout X , 1
  63.    Spiout Y , 1                                             '写地址
  64.    Dc = 1
  65.    Spiout D , 1                                             '写第一行汉字的低4位和第二行汉字的高4位数据到lcd并显示
  66.    E = A
  67.    Shift F , Left , 4                                       '第二行汉字的低8位字节中低4位数据左移至高4位
  68.    Shift E , Right , 4                                      '第二行汉字的高8位字节中高4位数据右移至低4位
  69.    Q(j) = F Or E                                            '两组数据相或后存入数组                                       '
  70. Return

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

  79. Return

  80. Lcdcls:                                                     '清屏子程序
  81.    Dc = 1
  82.    For I = 1 To 4032
  83.    A = 0
  84.    Spiout A , 1
  85.    Next
  86. Return

  87. Lcdinit:                                                    'lcd初始化
  88.    Dc = 0
  89.    A = 33 : Spiout A , 1
  90.    A = 144 : Spiout A , 1
  91.    A = 34 : Spiout A , 1
  92.    A = 12 : Spiout A , 1
  93. Return


  94. Aa:

  95. 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
  96. 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
  97. 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
  98. 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
  99. 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
  100. 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
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. 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
  115. 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
  116. 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
  117. 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
  118. 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
  119. 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
  120. 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
  121. 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
  122. 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
复制代码

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 07:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表