标题: 51单片机lcd12864汇编显示程序源代码 在80H区显示汉字 [打印本页]

作者: hongniu    时间: 2015-6-23 18:50
标题: 51单片机lcd12864汇编显示程序源代码 在80H区显示汉字
12864测试程序:11月11日买来12864 --------- 11月11日21:43完成测试-----在80H区显示汉字:“王均伟”  原来12864也没啥!呵呵呵



ORG 0000H
NOP
RS        EQU P1.0;并行模式下为指令数据选择信H/L=指令/数据
RW        EQU P1.1;并行的读写信号H/L=读/写
E         EQU P1.2;并行下的使能信号
DATE      EQU P0  ;并行下的数据IO
PSB       EQU P1.3; 决定是串行模式还是并行模式H=并行L=串行;默认是高电平可不用设置
RESET     EQU P1.5;L=复位;默认是高电平,也可以不设置,不需要RESET的话
AJMP MAIN
ORG 0030H
NOP
MAIN: CLR E
    MOV A,#01H  ;DDRAM写入20H,DDRAM的AC计数器清零
    LCALL WRITE12864CT ;12864写入指令
    LCALL DELAY4_6MS//延时4.6毫秒
    MOV A,#02H // AC清零,游标到开头为之
    LCALL WRITE12864CT ;12864写入指令
    LCALL DELAY4_6MS//延时4.6毫秒
    MOV A,#0FH //游标开,整体显示开,游标位置开
    LCALL WRITE12864CT ;12864写入指令
    LCALL DELAY4_6MS//延时4.6毫秒
   //*********************************
    MOV A,#80H // DDRAM说白了就是那个你在那里显示这个汉子从第一行到第四行80H-9FH,一共32个汉子 ---这里还有一点DDRAM是自动加一得,所一下面的才会显示“王均伟”
    LCALL WRITE12864CT ;12864写入指令
    LCALL DELAY4_6MS//延时4.6毫秒
   
   //*********************************
    MOV A,#0CDH
    LCALL WRITE12864DB
    LCALL DELAY     //汉字的字形码,16位的从高位到底为一次写8位所以要写2次呵呵 就是所谓的写数据到RAM
    MOV A,#0F5H
    LCALL WRITE12864DB     //王---CDF5
    LCALL DELAY
   //****************************
   MOV A,#0BEH
    LCALL WRITE12864DB
    LCALL DELAY     //汉字的字形码,16位的从高位到底为一次写8位所以要写2次呵呵 就是所谓的写数据到RAM
    MOV A,#0F9H
    LCALL WRITE12864DB    //均---BEF9
    LCALL DELAY
     MOV A,#0CEH
    LCALL WRITE12864DB
    LCALL DELAY     //汉字的字形码,16位的从高位到底为一次写8位所以要写2次呵呵 就是所谓的写数据到RAM
    MOV A,#0B0H
    LCALL WRITE12864DB   //伟----CEB0
    LCALL DELAY







AJMP $
WRITE12864DB: ;写12864数据
     SETB RS;选择数据
     NOP
     NOP
     CLR RW ;写模式
     NOP
     NOP
     SETB E ;使能允许
     NOP
     NOP
     MOV DATE,A ;数据写入
     NOP

     CLR E
     NOP
     NOP
     NOP
     RET
      
WRITE12864CT: ;写12864指令
    CLR  RS;选择指令
     NOP
     NOP
     CLR RW ;写模式
     NOP
     NOP
     SETB E ;使能允许
     NOP
     NOP
     MOV DATE,A ;指令写入
     NOP
     CLR E
     NOP
     NOP
     NOP
     RET
DELAY4_6MS:   //延时4.6毫秒
MOV R6,#0CH
DL0:
    MOV R5,#0AFH
    DJNZ R5,$
    DJNZ R6,DL0
    RET   
DELAY:NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
RET   
   
   
   
    END




作者: yamglang    时间: 2015-10-12 01:24
51Hei(51黑)论坛有你更精彩




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1