标题:
请问大家这个LCD1602显示字符B的程序的定时器中断的作用是什么?
[打印本页]
作者:
ddd
时间:
2008-10-15 23:50
标题:
请问大家这个LCD1602显示字符B的程序的定时器中断的作用是什么?
RS BIT P3.2
RW BIT P3.1
E BIT P3.0
DB0_DB7 DATA P2
;********程序开始********
ORG 00H
AJMP START
ORG 000BH
AJMP INSE
ORG 50H
;********主程序函数**********
START:MOV TMOD,#0
MOV TL0,#0
MOV TH0,#0
SETB EA
SETB ET0
SETB TR0
MOV R5,#50
MOV SP,#60H
ACALL INIT
MOV A,#0C3H ;;;写入指令
ACALL C51 ;;;
MOV A,#42H ;;;写入数据
ACALL C51DDR ;;;
LOOP: AJMP LOOP
;*********中断服务程序**********
INSE: MOV TL0,#0
MOV TH0,#0
DJNZ R5,NO
MOV R5,#50
NO:RETI
;*********LCD初始设置程序********
INIT: MOV A,#38H
LCALL C51
MOV A,#0EH
LCALL C51
MOV A,#06H
LCALL C51
RET
;*********检查忙碌子程序*********
DDW: PUSH ACC
DDW1:CLR RS
SETB RW
CLR E
SETB E
MOV A,DB0_DB7
CLR E
JB ACC.7,DDW1
POP ACC
ACALL DELAY
RET
;********写入指令到LCD寄存器子程序****
C51:ACALL DDW
CLR E
CLR RS
CLR RW
SETB E
MOV DB0_DB7,ACC
CLR E
RET
;*******写入数据到LCD寄存器子程序*****
C51DDR:ACALL DDW
CLR E
SETB RS
CLR RW
SETB E
MOV DB0_DB7,ACC
CLR E
RET
;*********延时子程序*********
DELAY:MOV R6,#5
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
END
作者:
admin
时间:
2008-10-15 23:51
你想写成什么样的程序,
你的程序是:
初始话定时器 ->
初始话 r5,和堆栈地址,
掉用 初始话lcd,
{ 给P2输出38h,0eh,06h,
(方法是:先P3.2=0;片选
P3.1=1;可以写了
P3.0=0;P3.1=1;
读口P2,判断P2.7为0嘛,否则就等待为0(说明不忙了);
可以写了将上面的一个复出,
其他的赋值方法雷同;}
初始话完了,
同样给先写指令C3H 后写数据 42H 将你的B字符显示。
看来看去也没看出中断的作用,
但是如果没有猜错的话你的中断应该是..看中断的时间了。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1