导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[justinzheng]关于1602和x5045的一个程序求助



No.104602
作者:justinzheng
邮件:zhf826@gmail.com
ID:72841
登陆:10次
文章数:3篇
最后登陆IP:218.79.110.3
最后登陆:2008/2/12 17:01:49
注册:2007/3/27 16:28:44
财富:118
发帖时间:2007/4/12 21:10:44
发贴者IP:218.79.114.17
标题:justinzheng:关于1602和x5045的一个程序求助
摘要:No.104602关于1602和x5045的一个程序求助 有哪位好心人能够帮忙看看这个程序有什么问题瓦,其目的是为了实现,从键盘上按一个键,在1602上显示。 同时保存到x5045中,按另外一个键的时候能够从x5045中读出。我现在能够显示,但是读出的总是乱字。谢谢好心然帮忙啊!! 

      RS BIT P3.3          ;寄存器选择,1表示数据寄存器,0表示指令寄存器
      RW BIT P3.5          ;读写信号线,高电平为读,低电平为写,
                           ;RS RW同时为低表示写指令,RS低RW高则是读忙信号,反之写入数据
      E  BIT P3.4          ;液晶显示使能,高到低时执行命令
      key_bit bit 01h      ;键盘标志位
      keyboard bit P2.6
      lcd_bg bit P1.2      ;背光     
      output equ p0   
      cs bit p2.7          ;x5045电路选择端
      so bit p3.5          ;x5045串行数据输入端
      si bit p3.7          ;x5045串行数据输出端
      sclk bit p3.6        ;x5045串行时钟信号
      mrd equ  2ch         ;接收数据缓冲区
      numbyt   equ 2fh     ;传送字节数存放单元
  
      org 0000h
      ajmp init
      org 0003h
      ajmp ankey
init: mov sp,#0f0h
      clr lcd_bg
      mov b,#01h      ;清屏
      lcall enable    ;每次操作都要保存
      mov b,#38h      ;功能选择
      lcall enable 
      mov b,#0eh      ;开显示幕
      lcall enable
      mov b,#06h      ;表示光标向右移,屏幕上文字不移动
      lcall enable 
      setb ea              ;中断开放
      setb ex0             ;允许INT0
welcome: mov b,#80h            ;设定第一行起始地址
              lcall enable
              mov a,#41h
              lcall display
main: jnb key_bit,next
        clr key_bit
        ajmp key
next: nop
        ajmp main
;-----------------写入程序寄存器--------------------------
enable:clr rs         ;写指令到寄存器
      clr rw
      clr e          ;先禁止,在第二次进入的时候就有效了
      lcall delay
      mov output,b
      setb e
      clr e
      ret
;----------------显示-------------------------------------
display: clr rw 
         setb rs 
  mov output,a
  setb e
  lcall delay
  clr e
  ret
;****************x5045************************************
;----------------单字节写---------------------------------
;作用:这段程序送出命令,读EEPROM存储器中的一个字节数据
byte_write:   mov dptr,#0e0h      ;设置字节写地址      
byte_writ1:   lcall wren
              clr sclk
              clr cs              ;启动x5045
              mov a, DPL
              lcall byte_out        ; 送出8位地址
              mov a,#mrd              ; 数据
              lcall byte_out        ; 送出数据
       clr sclk              ; 关闭x5045
              setb cs
       lcall check_wip       ; 查写周期是否完成(等待写完)
              ret
;---------------单字节读-----------------------------------
;作用:这段程序送出命令 ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:4266毫秒 查询6次