打印

请教12864点阵显示屏问题

[复制链接]
1343|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yjpnew8888|  楼主 | 2008-9-27 22:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
采用深圳瑞特的RT12864-J-3点阵屏做了个程序,MCU是东芝87PH846,仿真调试时出现屏闪烁,且需要用手靠近或压着仿真头的扁平线,显示屏才显示,而且显示不稳定,出现移位,且有时不显示,有时显示,不知是何故,附上程序,请大家帮忙分析下(时钟为8MHZ),采用P6口输出并行数据,P1口输出控制信号,RET接5V.
;-----------------------------------------------------------
;左半屏64列:显示汉字程序(16*16点阵)
;纵向取模,字节倒序
disp_chinese_l:
           ld     (lcd_command),(lcd_addz)       ;设置起始行地址
           call   ww_command_left                
 ;          ld     e,(lcd_addx)                   ;设置页地址
loop1_la:                                        
           
           ld     d,0                            ;每个汉字占两页
loop1_l:                                         
           ld     c,0                           ;查表指针清零       
           ld     (lcd_command),(lcd_addx)  ;e                ;设置页地址
           call   ww_command_left                
           ld     (lcd_command),(lcd_addy)       ;设置列地址
           call   ww_command_left                
loop2_l:                                         
           ld     a,(hl+)                        ;查表显示汉字的上半部分
           ld     (lcd_data1),a ;0xa5                  ;共16个字节
           call   ww_data_left                   
           inc    c  
           cmp    c,16                            
           j      lt,loop2_l                     
                                                 
           inc    (lcd_addx)  ;e                              ;页地址加1,指向汉字的下半部分
           inc    d  
           cmp    d,2                            
           j      lt,loop1_l                     
           add    (lcd_addy),16                  
           dec    (lcd_addx)  ;e                              
           dec    (lcd_addx)  ;e                              
           dec    (lcd_data2)                    ;显示汉字的个数
           j      nz,loop1_la
           ld     a,(lcd_addy)
           sub    a,0x40
           cmp    a,64
           j      lt,disp_ch_l_ret
           add    (lcd_addx),2
           ld     (lcd_addy),0x40
disp_ch_l_ret:           
           ret

;下面是主程序循环中显示刷新程序
home_picture:
         ld      (lcd_command),0x3e   ;关闭显示命令
         call    ww_command_left      ;关左屏
         call    ww_command_right     ;关右屏
       
         ld      (lcd_addz),0xc0      ;设定起始行,从0行开始
         ld      (lcd_command),(lcd_addz)
         call    ww_command_left
         call    ww_command_right 
          
         ld      (lcd_addx),0xb8      ;设定起始页,从0页开始
         ld      (lcd_command),(lcd_addx)
         call    ww_command_left
         call    ww_command_right  
         
         ld      (lcd_addy),0x40      ;设定起始列,从0列开始
         ld      (lcd_command),(lcd_addy)
         call    ww_command_left
         call    ww_command_right  
         
         ld      (lcd_command),0x3f   ;开启显示命令
         call    ww_command_left      ;开左屏
         call    ww_command_right     ;开右屏 

         ld      hl,ch_tab30            
         ld      (lcd_data2),2        ;显示两个汉字  
         call    disp_chinese_l  

         ld      (lcd_data2),2        ;显示两个汉字
         call    disp_chinese_l                        
         ld      (lcd_data2),2
         call    disp_chinese_l       ;显示两个汉字

         ld      (lcd_data2),2        ;显示两个汉字

         call    disp_chinese_l   

         ld      (lcd_data2),2        ;显示两个汉字  
         call    disp_chinese_l  

         ld      (lcd_data2),2        ;显示两个汉字
         call    disp_chinese_l                        
         ld      (lcd_data2),2        ;显示两个汉字

         call    disp_chinese_l  
         ld      (lcd_data2),2        ;显示两个汉字

         call    disp_chinese_l

         ret

相关帖子

沙发
zmlab.com| | 2008-9-29 20:17 | 只看该作者

给你一个例子

你这样没有图也很难说什么。所给的例子中12864的控制器与你的应该是一样的,有电路图,希望对你有帮助。

http://www.jyetech.com/Products/LcdScope/062_Template.rar

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

6

帖子

0

粉丝