51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 单片机技术文章 > PIC单片机 > 详细内容
用PIC单片机实现LCD显示单个B字
发布时间:2009/7/17  阅读次数:509  字体大小: 【】 【】【

;**************************************************
   __CONFIG 3F39H;设置配置位中振荡方式为XT,其它全部禁止或关闭
;**********************************************
STATUS   EQU 3H     ;定义状态寄存器地址
PORTA     EQU 5H     ;定义RA口数据寄存器地址
PORTC     EQU 7H     ;定义RC口数据寄存器地址
TRISA     EQU 85H   ;定义RA口方向控制寄存器地址
TRISC     EQU 87H   ;定义RC口方向控制寄存器地址
ADCON1   EQU 9FH   ;定义ADC模块控制寄存器1的地址
;********************
Z             EQU 2       ;定义0状态位的位地址
RP0         EQU 5       ;定义页选位RP0的位地址
;*********************
RS EQU 1                 ;LCD寄存器选择信号脚定义在RA.1脚
RW EQU 2                 ;LCD读/写信号脚定义在RA.2脚
E   EQU 3                 ;LCD片选信号脚定义在RA.3脚
;**********************
   ORG 000H
   NOP                       ;放置一条ICD必需的空操作指令
   GOTO MAIN
   ORG 0008H
MAIN
   BSF STATUS,RP0        
   MOVLW 07H
   MOVWF ADCON1           ;设置RA口全部为普通数字IO口
   MOVLW 00H                   ;定义RA口,RC口全部为输出
   MOVWF TRISA
   MOVWF TRISC
   BCF STATUS,RP0

   CALL DELAY                 ;调用廷时,刚上电LCD复位不一定有PIC快
   MOVLW 01H
   MOVWF PORTC               ;清屏
   CALL ENABLE
   MOVLW 38H
   MOVWF PORTC               ;8位2行5x7点阵
   CALL ENABLE
   MOVLW 0FH
   MOVWF PORTC               ;显示器开、光标开、闪烁开
   CALL ENABLE
   MOVLW 06H
   MOVWF PORTC                 ;文字不动,光标自动右移
   CALL ENABLE
   MOVLW 0C0H
   MOVWF PORTC                 ;写入显示起始地址(第一行第一个位置)
   CALL ENABLE
   MOVLW 42H
   MOVWF PORTC                 ;字母"B"的代码
   BSF PORTA,RS
   BCF PORTA,RW
   BCF PORTA,E
   CALL DELAY
   BSF PORTA,E
   GOTO $
ENABLE
   BCF PORTA,RS                 ;写入控制命令的子程序
   BCF PORTA,RW
   BCF PORTA,E
   CALL DELAY
   BSF PORTA,E
   RETLW 0
;********************************************
DELAY                                            
                                                         ;子程序名,也是子程序入口地址
             MOVlw     0ffh                   ;将外层循环参数值FFH经过W
             MOVwf     20h                   ;送入用作外循环变量的20H单元
lp0       MOVlw     0ffh                   ;将内层循环参数值FFH经过W
             MOVwf     21h                     ;送入用作内循环变量的21H单元
lp1       nop
             decfsz     21h,1                 ;变量21H内容递减,若为0跳跃
             goto         lp1                     ;跳转到LP1处
             decfsz       20h,1                 ;变量20H内容递减,若为0跳跃
             goto         lp0                     ;跳跃到LP0处
             return                                 ;返回主程序
             end                                     ;源程序结束

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号