欢迎来到天天文库
浏览记录
ID:55898081
大小:402.50 KB
页数:9页
时间:2020-06-13
《利用74LS164芯片扩展8位LED串行显示接口电路.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、※※※※※※※※※※※※※※※※※※※※※※※※集中实践报告书课题名称利用74LS164芯片扩展8位LED串行显示接口电路姓名学号系、部专业班级指导教师年月日一、设计任务及要求:设计任务:利用74LS164芯片扩展8位LED串行显示。学习和掌握单片机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。要求:1.要求将片30H-37H单元中数据,8个
2、数码管,用扩展串行的显示端口显示出来。2.要求做出实物。二、指导教师评语:三、成绩指导教师签名:年月日利用74LS164芯片扩展8位LED串行显示接口电路一、设计目的利用74LS164芯片扩展8位LED串行显示。学习和掌握单片机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。二、设计要求1.要求将片30H-37H单元中数据,8个数码管,用扩展串
3、行的显示端口显示出来。2.要求做出实物。三、硬件电路设计74LS164是串行输入并行输出的移位寄存器,每接一片74LS164可扩展一个8位并行输出口,可以作为LED显示器的8根段选线。实物如图3-1所示。系统总电路原理图如图3-2,为89C52单片机最小系统与8位数码管的连接图,分别用8个74LS164和8个LED数码管。部分硬件电路原理图如图3-3所示。图3-1电路连接实物图图3-2总电路原理图图3-3部分硬件电路原理图数码管中有8段LED数码管显示器由8个发光二极管组成。LED数码管显示器有两种不一样的形式:一种是8个发光二极管的阳极都连在一起的,称之
4、为共阳极LED数码管显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED数码管显示器。本次设计采用共阳极LED数码管。在单片机应用系统中,数码管显示器显示常用两种办法:静态显示和动态扫描显示。所谓静态显示,就是每一个数码管显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种办法单片机中CPU的开销小。89C52单片机外接8片74LS164作为8位LED数码管显示器的静态显示接口,把89C52的RXD作为数据输出线,
5、TXD作为移位时钟脉冲。四、流程图设计图4-1主流程图由流程图可知设置好串口的工作方式,用定时器T1产生波特率,依次传递30H到37H八个数依次传递到数码管。五、程序设计#include#include#defineucharunsignedchar#defineuintunsignedint#definea0DBYTE[0X30]=0x02#definea1DBYTE[0X31]=0x00#definea2DBYTE[0X32]=0x01#definea3DBYTE[0X33]=0x06#definea4DBYTE[
6、0X34]=0x00#definea5DBYTE[0X35]=0x06#definea6DBYTE[0X36]=0x03#definea7DBYTE[0X37]=0x00ucharledCode[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};voiddelay(uintt){uintj;for(;t>0;t--)for(j=6245;j>0;j--){;}}main(){SCON=0x00;TMOD=0x10;TH1=0x39;TL1=0x16;TR1=1;ET1=1;EA=1;delay(
7、50);SBUF=ledCode[a0];delay(50);while(TI==0){}TI=0;SBUF=ledCode[a1];delay(50);while(TI==0){}TI=0;SBUF=ledCode[a2];delay(50);while(TI==0){}TI=0;SBUF=ledCode[a3];delay(50);while(TI==0){}TI=0;SBUF=ledCode[a4];while(TI==0){}TI=0;delay(50);SBUF=ledCode[a5];while(TI==0){}TI=0;delay(50);S
8、BUF=ledCode[a6];while(TI==0){}TI=
此文档下载收益归作者所有