• 周四. 4 月 25th, 2024

串行扩展静态显示电路 – 嵌入式类电子电路图讲解

6 月 22, 2019

  8051单片机典型接口电路——串行扩展静态显示电路如下图所示:

串行扩展静态显示电路 – 嵌入式类电子电路图讲解

例1:按上图编制显示子程序,显示字段码已分别存在32H~30H内RAM中。

  程序1:

  DIR2: MOV SCON,#00H ;置串口方式0

  CLR ES ;串口禁中

  SETB P1.0 ;“与”门开,允许TXD发移位脉冲

  MOV SBUF,30H ;串行输出个位显示字段码

  JNB TI,$ ;等待串行发送完毕

  CLR TI ;清串行中断标志

  MOV SBUF,31H ;串行输出十位显示字段码

  JNB TI,$ ;等待串行发送完毕

  CLR TI ;清串行中断标志

  MOV SBUF,32H ;串行输出百位显示字段码

  JNB TI,$ ;等待串行发送完毕

  CLR TI ;清串行中断标志

  CLR P1.0 ;“与”门关,禁止TXD发移位脉冲

  RET ;

  例2:根据上图编写通过串行口和74LS164驱动共阳LED数码管查表显示的子程序。条件:系统有6个LED数码管,待显数据(00H—09H)已放在35H—30H单元中(分别对应十万位→个位)

  程序2:

  DSPLY:MOV DPTR, #TABLE ;共阳LED数码管译码表首址

  MOV R0,#30H ;待显数据缓冲区的个位地址

  REDO:MOV A, @R0 ;通过R0实现寄存器间接寻址

  MOVC A, @A+DPTR ;查表

  MOV SBUF, A ;经串行口发送到74LS164

  JNB TI, $ ;查询送完一个字节的第8位?

  CLR TI ;为下一字节发送作准备

  INC R0 ;R0指向下一个数据缓冲单元

  CJNE R0,#36H,REDO ;判断是否发完6个数?

  RET ;发完6个数就返回

  TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;共阳LED译码表

  DB 92H, 82H, 0F8H, 80H,90H

。 (本文来源网友上传,如有侵权,可联系管理员删除)

版权声明:网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时联络我们,采取适当措施,避免给双方造成不必要的经济损失。