利用74LS164芯片扩展8位LED串行显示接口电路.docx
《利用74LS164芯片扩展8位LED串行显示接口电路.docx》由会员分享,可在线阅读,更多相关《利用74LS164芯片扩展8位LED串行显示接口电路.docx(10页珍藏版)》请在冰豆网上搜索。
利用74LS164芯片扩展8位LED串行显示接口电路
集中实践报告书
课题名称
利用74LS164芯片扩展8位LED串行显示接口电路
姓名
学号
系、部
专业班级
指导教师
年月日
一、设计任务及要求:
设计任务:
利用74LS164芯片扩展8位LED串行显示。
学习和掌握单片机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
要求:
1.要求将片内30H-37H单元中数据,8个数码管,用扩展串行的显示端口显示出来。
2.要求做出实物。
二、指导教师评语:
三、成绩
指导教师签名:
年月日
利用74LS164芯片扩展8位LED串行显示接口电路
一、设计目的
利用74LS164芯片扩展8位LED串行显示。
学习和掌握单片机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
二、设计要求
1.要求将片内30H-37H单元中数据,8个数码管,用扩展串行的显示端口显示出来。
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个发光二极管的阳极都连在一起的,称之为共阳极LED数码管显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED数码管显示器。
本次设计采用共阳极LED数码管。
在单片机应用系统中,数码管显示器显示常用两种办法:
静态显示和动态扫描显示。
所谓静态显示,就是每一个数码管显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种办法单片机中CPU的开销小。
89C52单片机外接8片74LS164作为8位LED数码管显示器的静态显示接口,把89C52的RXD作为数据输出线,TXD作为移位时钟脉冲。
四、流程图设计
图4-1主流程图
由流程图可知设置好串口的工作方式,用定时器T1产生波特率,依次传递30H到37H八个数依次传递到数码管。
五、程序设计
#include<>
#include<>
#defineucharunsignedchar
#defineuintunsignedint
#definea0DBYTE[0X30]=0x02
#definea1DBYTE[0X31]=0x00
#definea2DBYTE[0X32]=0x01
#definea3DBYTE[0X33]=0x06
#definea4DBYTE[0X34]=0x00
#definea5DBYTE[0X35]=0x06
#definea6DBYTE[0X36]=0x03
#definea7DBYTE[0X37]=0x00
ucharledCode[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(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);
SBUF=ledCode[a6];
while(TI==0)
{
}
TI=0;
delay(50);
SBUF=ledCode[a7];
while(TI==0)
{
}
TI=0;
delay(50);
}
实验结果如图5-1,30H-37H单元的八位数据为。
图5-1运行结果
六、设计总结:
串行显示的原理:
将89C51单片机的串行口设置在工作方式0,只要把数据往SBUF里放,系统就自动将串行数据由RXD()送出,其中移位时钟由TXD()送出。
将74LS164的A、B端与RXD相接,CLK与TXD相接,MR接高电平,在满足条件时数据就传送到74LS164并寄存。
将前一个74LS164的QH端连接到下一个74LS164的QA端,再将CLK端连接到一起并接到TXD,则送数据时,前后数据就会依次从上一个片子传到下一个片子。
根据设计思路,即将片内30H-37H单元中数据,用扩展串行的显示端口显示出来和串行显示的原理。
首先对30H-37H单元定义,然后对30H-37H单元赋值,将89C51单片机的串行口设置在工作方式0,然后用定时器T1设置好波特率由TXD()送出移位时钟,然后依次传递30H-37H单元的八位数据到74LS164输出到数码管。
通过本次课程设计,我懂得了理论与实际相结合是非常重要的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正学到知识,从而提高自己的实际动手能力和独立思考的能力。
七、参考文献:
[1]高峰.单片微型计算机原理与接口技术.科学出版社,2007.
[2]余锡存.微机原理及接口技术.西安电子科技大学
[3]李广弟.2001.单片机基础.北京.北京航空航天大学出版社
[4]郑坤.微型计算机技术实验指导书.2007.