51单片机串行口对发光二极管的驱动设计

51单片机串行口对发光二极管的驱动设计,第1张

1.实验设计

定时中断程序,串行口P3.0、P3.1输出,用74LS164移位寄存器驱动发光二极管

定时器0于方式1,16位,10ms中断一次

40H10ms定时计数单元

41H初值为01101101B

位地址00H=1

定时方式1为10MS:THX=0ECH,TLX=78H

串行口以方式0工作,不需初始化

51单片机串行口对发光二极管的驱动设计,51单片机串行口对发光二极管的驱动设计,第2张

2.参考程序

LPOUTEQU41H;输出缓冲区

DISPEQU0DE00H;显示子程序入口

ORG0000H

START:AJMPMAIN

ORG000BH;定时器0中断服

AJMPTINT0;务程序入口

ORG0030H

MAIN:MOVR0,#39H;显示缓冲区初始化

MAIN_0:MOV@R0,#0

INCR0

CJNER0,#40H,MAIN_0

MOVLPOUT,#01101101B

SETB00H

MOVTMOD,#01H;

MOVIE,#10000010B

MOVTH0,#0ECH;10ms:EC78H

MOVTL0,#78H

SETBTR0

MAIN_1:ACALLCONT;主程序循环

SJMPMAIN_1

CONT:MOV3FH,LPOUT

LCALLDISP;控制程序

MOVSBUF,LPOUT;串行口输出

RET

定时器0中断服务程序

TINT0:MOVTH0,#0ECH

MOVTL0,#78H

PUSHACC;保护现场

PUSHPSW

INC40H

MOVA,40H

CJNEA,#50,TINT0R

MOV40H,#0

MOVA,41H

MOVC,00H

RRCA

MOV41H,A

MOV00H,C

MOV3FH,A;输出显示缓冲

TINT0R:POPPSW;恢复现场

POPACC

RETI

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2592601.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-08
下一篇 2022-08-08

发表评论

登录后才能评论

评论列表(0条)

保存