您当前的位置:五五电子网电子知识单片机-工控设备AVR单片机LCD1602程序下载(AVR) 正文
LCD1602程序下载(AVR)

LCD1602程序下载(AVR)

点击数:7576 次   录入时间:03-04 11:55:23   整理:http://www.55dianzi.com   AVR单片机

.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
;-----------------------------------------




本文关键字:程序  AVR单片机单片机-工控设备 - AVR单片机