您的位置:首页单片机AVR单片机
内容搜索:
阅读内容
背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  

LCD1602程序下载(AVR)

[日期:2008-02-23 ] [来源:net 作者:佚名] [字体: (投递新闻)

.include "8515def.inc"
.equ rs=0
.equ rw=1
.equ en=2

.org $000
 rjmp reset
reset:
.org $010
 ldi r16,low(ramend)
 ldi r17,high(ramend)
 out spl,r16
 out sph,r17
main:
 ser r16
 out ddra,r16
 out porta,r16
 out ddrc,r16
 out portc,r16
 
 rcall LcdIni
 
 ldi r16,$84
 rcall WrOp
 
 ldi r16,'a'
 rcall WrDat
 
 ldi r16,'b'
 rcall WrDat
 
 ldi r16,'c'
 rcall WrDat 
 
 ldi r16,$c4
 rcall WrOp
 
 ldi r16,'d'
 rcall WrDat

 ldi r16,'e'
 rcall WrDat
 
 ldi r16,'f'
 rcall WrDat
 
 ldi r16,'g'
 rcall WrDat
me:
 rjmp me
 ;end of main
;------------------------------------------
LcdIni:
 ldi r16,$38
 rcall WrOp
 
 nop
 nop
 
 ldi r16,$06
 rcall WrOp
 
 ldi r16,$0c
 rcall WrOp
 ret
;------------------------------------------
WrOp:
;将R16命令字传送到LCD
 rcall check
 cbi portc,rs
 cbi portc,rw
 cbi portc,en
 out porta,r16
 sbi portc,en
 ldi r16,200
wo_lp:
 dec r16
 brne wo_lp
 cbi portc,en
 ret
;------------------------------------------
WrDat:
;将R16数据传送到LCD
 rcall check
 sbi portc,rs
 cbi portc,rw
 cbi portc,en
 out porta,r16
 sbi portc,en
 ldi r16,200
wd_lp:
 dec r16
 brne wd_lp
 cbi portc,en
 ret
;-----------------------------------------
check:
;忙位检测
 cbi ddra,7   ;设置PA的第七位为读入
 cbi portc,rs
 sbi portc,rw
 sbi portc,en
c_lp:
 sbic pina,7   ;为零时就退出
 rjmp c_lp
 cbi portc,en
 sbi ddra,7
 ret
;-----------------------------------------

 

 

阅读:
录入:JETTA

推荐 】 【 打印
本文评论
      全部评论
发表评论


点评: 字数
姓名:
赞助商广告