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

控制/MCU

1882人已加入

描述

1.实验设计

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

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

40H10ms定时计数单元

41H初值为01101101B

位地址00H=1

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

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

51单片机

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分