No.9186 作者:coolman23 邮件:coolman23@sina.com ID:1502 登陆:1次 文章数:2篇 最后登陆IP: 最后登陆:2002/7/17 14:47:00 注册:2002/7/17 14:47:00 财富:11 发帖时间:2002/7/20 9:44:00 发贴者IP:218.19.24.16 标题:coolman23:初学者:用motorola的HC705单片机驱动1602LCM例程 摘要:No.9186初学者:用motorola的HC705单片机驱动1602LCM例程 国内motorola的8位单片机的相关内容比起其他如51系列少多了,现在我正在学motorola的 hc05系列,现把自己写的程序与大家交流,如果大家觉得有价值的话我将继续发布我的程 序,希望motorola的使用者能分享一下经验。 ; Register Equates PORTA EQU $00 ;LCD display data PORTB EQU $01 ;Keypad Row4,3,2,1;Col1,2,3,4 PORTC EQU $02 ;Fan*,Heat*,Cool*,Beep;ADen*,E,RS,R/W DDRA EQU $04 ;Data direction, Port A (all output) DDRB EQU $05 ;Data direction, Port B (7-4in,3-0out) DDRC EQU $06 ;Data direction, Port C (all output) ; RAM Equates TEMPA EQU $9E ;One byte temp storage location TEMPX EQU $9F ;One byte temp storage location ORG $100 ; Set Port data patterns and directions TRYLCD LDA #$00 ; STA PORTB ;Initial values for Thermostat controls控制脚PB0 接RS,PB1接RW,PB2接E STA PORTC ;数据线 LDA #$FF STA DDRB ;Port A all outputs STA DDRC ;Port C all outputs ; LCD display peripheral needs to be initialized 初始化 LDA #$01 JSR WCTRL ;Clear LDA #$02 JSR WCTRL ;Home LDA #$38 JSR WCTRL ;Function Set- 8-bit,2-line,5X7 LDA #$0C JSR WCTRL ;Display on, Cursor off LDA #$06 JSR WCTRL ;Entry mode- Inc addr, no shift LDA #80 ;从第一行开始 JSR ADDR LDA #'A' ;ASCII 'A' 显示单字符子程序 DLP JSR WDAT ;Display a character INCA ;To next ASCII character CMP #'Z' ;Go ABCDEFGHIJKLMNOPQRS & stop BNE DLP ;Loop till T ;HERE BRA HERE ;Stop LDA #0C0 ;从第二行开始 JSR ADDR CLRX JSR PRSTR PRSTR LDA LINE1,X ;整行显示字符串子程序 BEQ OUT L3 JSR WDAT INCX BRA PRSTR OUT RTS ;************** ; SUBROUTINES * ;************** ;******************************************************* ; WCTRL - Write control word to LCD peripheral * ; Enter with control word in accumulator &nbs ......
>>返回讨论的主题
|