深圳市炜烨兴电子有限公司|LCD在线|智能串口液晶
注册| 登录| 通行证 生产液晶显示模块哪家强?Wayeah LCM!专业的液晶显示模块研发、生产厂家!

首页 新闻 字符型| 图形型| 定制型| 智能型| 技术应用 留言反馈 联系方式 |

当前位置液晶应用技术 >> 串口液晶SLCM系列普通IO汇编程序演示

串口液晶SLCM系列普通IO汇编程序演示

基于8051的汇编演示程序,测试用单片机:AT89S51

源程序如下:

   
   MCLK bit  P1.0
   SCLK bit  P1.1
   SDA  bit  P1.2
   SSDAT equ  20H  ;传递参数直接使用内部可位寻址的地址
   
   
   
    ORG 0000H
START:          LJMP  MAIN
                      
    ORG 0030H
SEND_BYTE_IO:     ;发送一字节,SSDAT为要发送的数据
       JNB   MCLK,EXIT0            ;检查从机是否在申请通讯       
                   CLR   MCLK          ;申请通讯              
                                         
                   MOV   R7,#04H      ;计数,执行四轮,一轮发送两个位              
SEND_4:            JB    SCLK,$        ;等待从机响应             
                   MOV   C,SSDAT.0                     
                   MOV   SDA,C           ;发送一个位          
                   SETB  MCLK          ;主机发送完毕            
                   MOV   A,SSDAT                       
                   CLR   C                          
                   RRC   A                          
                   MOV   SSDAT,A                       
                   JNB   SCLK,$        ;等待从机接收完毕            
                   MOV   C,SSDAT.0                    
                   MOV   SDA,C          ;发送第二个位           
                   CLR   MCLK           ;主机发送完毕             
                   MOV   A,SSDAT                       
                   CLR   C                           
                   RRC   A                           
                   MOV   SSDAT,A                      
                   DJNZ  R7,SEND_4      ;继续下一轮              
                   JB    SCLK,$         ;等待从机接收             
                   SETB  MCLK           ;结束一轮通讯
                   JNB   SCLK,$                      
                   SETB  SDA                        
EXIT0:             RET                               

DELAY:     ;演示用的延时程序
      MOV R0,#0
DELAY0:     MOV R1,#0
      DJNZ R1,$
      DJNZ R0,DELAY0
      RET
               
MAIN:      
       LCALL DELAY   ;上电延时,用于等待从机完成初始化工作,时间>500ms
       LCALL DELAY
      
       ;清屏----clr
       MOV SSDAT,#'c'
       LCALL SEND_BYTE_IO
       MOV SSDAT,#'l'
       LCALL SEND_BYTE_IO
       MOV SSDAT,#'r'
       LCALL SEND_BYTE_IO
       MOV SSDAT,#0dh
       LCALL SEND_BYTE_IO
      
       LCALL DELAY
      
       ;显示一个大写字母'A' ---- chr+A+0
       MOV SSDAT,#'c'
       LCALL SEND_BYTE_IO
       MOV SSDAT,#'h'
       LCALL SEND_BYTE_IO
       MOV SSDAT,#'r'
       LCALL SEND_BYTE_IO
       MOV SSDAT,#0
       LCALL SEND_BYTE_IO
       MOV SSDAT,#'A'
       LCALL SEND_BYTE_IO
       MOV SSDAT,#0
       LCALL SEND_BYTE_IO
       MOV SSDAT,#0dH
       LCALL SEND_BYTE_IO
      
       ;显示一个中文大字'我' 内码CED2H ----  chr +我+1
       MOV SSDAT,#'c'
       LCALL SEND_BYTE_IO
       MOV SSDAT,#'h'
       LCALL SEND_BYTE_IO
       MOV SSDAT,#'r'
       LCALL SEND_BYTE_IO
       MOV SSDAT,#0CEH
       LCALL SEND_BYTE_IO
       MOV SSDAT,#0D2H
       LCALL SEND_BYTE_IO
       MOV SSDAT,#1
       LCALL SEND_BYTE_IO
       MOV SSDAT,#0dH
       LCALL SEND_BYTE_IO
      
       SJMP $
       END

[来源:炜烨兴电子] [作者:wayeah] [日期:14-05-08] [热度:]

评论

© 2004-2015 Wayeah LCM All rights reserved.

Powered by: KingCMS 5.1.0.0812

|2009旧版 | 联系方式 | 付款方式 | 淘宝店|