扩展8个输出端口设计Word文件下载.docx

上传人:b****2 文档编号:4751576 上传时间:2023-05-04 格式:DOCX 页数:22 大小:1.23MB
下载 相关 举报
扩展8个输出端口设计Word文件下载.docx_第1页
第1页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第2页
第2页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第3页
第3页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第4页
第4页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第5页
第5页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第6页
第6页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第7页
第7页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第8页
第8页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第9页
第9页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第10页
第10页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第11页
第11页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第12页
第12页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第13页
第13页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第14页
第14页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第15页
第15页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第16页
第16页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第17页
第17页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第18页
第18页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第19页
第19页 / 共22页
扩展8个输出端口设计Word文件下载.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

扩展8个输出端口设计Word文件下载.docx

《扩展8个输出端口设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《扩展8个输出端口设计Word文件下载.docx(22页珍藏版)》请在冰点文库上搜索。

扩展8个输出端口设计Word文件下载.docx

5月8日:

设计课题硬件结构,对原理图进行绘制;

5月9日—11日:

编写软件程序;

5月14—17日:

实物制作,烧入程序并检测、调试;

5月18日:

撰写课程设计报告。

任务下达日期:

2013年5月6日

任务完成日期:

2013年5月17日

指导教师(签名):

学生(签名):

 

摘要:

运用AT89S52串行口工作在方式0时与74LS164相连,扩展出8个输出端口。

由晶振和电容组成时钟电路,对AT89S52提供工作频率。

由桥堆2W10接变压器将交流电转化为直流电,再经稳压集成电路7805稳压和电容滤波后得到+5V的电源电压,对电路供电。

由极性电容与电阻串接,按键短路电容的方式组成复位电路。

将74LS164的8个输出端口接八只LED输出显示,用汇编对单片机进行编程,用Proteus进行仿真,通过电源开关及复位键对其进行控制,让8个LED灯有规律的闪亮。

关键词:

AT89S52;

74LS164;

桥堆;

LED灯

目录

1.设计背景1

1.1课题的应用方面1

1.2单片机的发展前景1

2.设计方案2

2.1任务分析2

2.2方案论证2

3.方案实施4

3.1电路结构图4

3.2硬件设计方案实施4

3.3程序方案实施7

3.4系统仿真10

3.5实物制作11

4.结果与结论12

4.1设计结果12

4.2设计心得与结论12

5.收获与致谢13

6.参考文献13

7.附件14

1.设计背景

1.1课题的应用方面

MCS-51系列单片机有4个并行口(P0,P1,P2,P3口),但对一个稍微复杂的应用系统来说,真正可供用户使用的并行口数量是有限的,况且常常因扩展I2C和SPI的器件需占用某些并行口,这就迫使我们不得不扩展并行口以满足实际的需要。

在RXD和TXD没被使用的情况下,可以利用RXD和TXD端口和移位寄存器74LS164将串行口扩展为多组八位的并行输出口,这样就可以用本来闲置不用的端口进行并行口的扩展,能充分利用单片机有限的I/O资源,并扩展了并行口的数量。

本课题以变传统的“接受式学习”为“主动式学习”为宗旨。

以AT89S52为基础,对其与日常生活,生产实际联系较为密切的应用性知识进行深加工,提高我们的创新精神和实践能力。

通过实习在我们深入学习理论知识的基础上通过实践来检验我们所学的知识,理论和实践相结合,使我们更加牢固的掌握所学的知识。

1.2单片机的发展前景

随着电子技术和计算机应用的发展,单片机被广泛地应用于工业自动控制、智能化仪表、计算机外部设备的控制和顺序控制、家用电器、计算机网络、并行处理等系统中,同时,由于许多新颖技术应用于单片机,使单片机的功能趋向于多样化、专用化,指令的功能也越来越强。

纵观单片机的发展过程,可以预测单片机的几个发展趋势:

低功耗CMOS化、微型单片化、主流与多品种共存、大容量高性能、串行扩展技术。

可见我们生活的各个领域都离不开单片机,单片机改变着我们的生活,所以说它有着广泛的应用前景。

2.设计方案

2.1任务分析

任务是做单片机扩展八个端口的设计,当TA89S52单片机串行口工作于方式0时可用于I/O的扩展。

首先,需要一个电源电路来给整个系统供电,用一个开关控制,想要知道电源电路是否接通,需要在开关后接一个LED灯来显示;

第二,想要实现复位功能,需要一个复位电路,用一个按键控制;

第三,单片机需要一个时钟电路,由晶振控制提供时钟脉冲;

最后,用74LS164移位寄存器接收单片机的脉冲信号,用八个LED灯来显示结果,想要实现8个LED灯4个为一组,使亮灯的4个从中间开始向左移动一次,再从中间开始向右移动一次,接着从最右端向中间移动一次,在从最右端向中间移动一次,然后闪烁两次,不断循环,需要设计一个循环程序实现。

把所有电路组装在一起,再将程序烧入单片机即可。

2.2方案论证

AT89S52单片机内部有4个并行口,当内部并行口不够用时可以外扩并行口芯片。

可扩展的的并行口芯片很多,分成两类:

不可编程的并行口芯片(74LS64)和可编程并行接口芯片(8255)。

一、方案一

由AT89S52的串行口RXD输出信息经74LS164的管脚1和2输出,由TXD输出的脉冲信号与74LS164的CLOCK管脚相连控制74LS164的输出锁存与变换,将转化成并行数据输出到LED上显示。

首先根据要实现的LED灯的亮灭不同,编写八位二进制数,绘出数表,再写入单片机中。

单片机通过查表分别传出各个八位二进制数据,实现LED灯的亮闪功能。

然后要实现数表中数据的依次输出,每次查询数表中的一个数据后,数据指针地址就加一指向下一数据,便下一次查表读取数据,延迟一秒后,读取下一数据,直至数表中数据读取完毕。

最后设计循环体,实现数表的循环读取输出。

二、方案二

在LED灯闪灭控制的数据输出时,采用按照其要求结果依次编写输出程序。

不过在编写程序时,不免产生了多次重复的写入数据到SBUF、调用、延时等程序,占用了大量的存储空间,如此的反复书写,显得冗长单调硬件电路连好后,要想使8255工作还需要对8255进行初始化,显然编程比较麻烦,但是8255扩展的并行输出口个数可由工作方式选择,这是其优点。

74LS164为非可编程并行口输出芯片,不需要进行初始化,软件编程比较简单,但是以增加电路复杂度为代价的因此选择方案一。

1.电源电路设计

电源模块是实现对输入交流电的整流,通过桥堆2W10实现交流电的单向输出,利用7085稳压及电容的储电特性,组成稳压电路,从而实现5V的直流输出。

2.复位电路设计

单片机AT89S52的有效复位电平是至少两个机器周期的高电平。

本次设计的时钟频率为12MHz,两个机器周期即为2us,为了实现两个机器周期的持续高电平,选择了极性电容与电阻串接,按键短路电容的方式组成复位电路。

3.时钟电路设计

本次课题设计采用内部时钟的方式,AT89S52单片机内部已有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2,只需在这两引脚跨接晶振和微调电容,构成一个稳定的自激振荡器。

4.主要芯片连接设计

当AT89S52单片机串行口工作在方式0的发送状态时,串行数据由P3.0(RXD)送出,移位时钟由P3.1(TXD)送出。

将P3.0接在74LS164的A、B端,输入数据,将P3.1接在74LS164的CP端,控制时钟周期,在移位时钟的作用下,串行口发送缓冲器的数据一位一位地从P3.0移入74LS164中。

在移位寄存器74LS164的作用下,串入并出,由74LS164的QA—QH输出,将8个LED灯接在74LS164的8个输出端口后面,就可以显示出来输入得到的结果。

3.方案实施

按照方案一进行方案实施,由复位电路、电源电路、时钟电路和主要芯片连接构成系统电路,用汇编语言编写系统的程序内容,经过仿真、实物连接完成整个设计方案的实施。

3.1电路结构图

图3.1电路结构框图

3.2硬件设计方案实施

1.电源电路方案实施

图3.2电源电路图

如图3.2所示,9V的交流电经过桥堆的整流作用变成9V直流电,再经过电容的滤波作用,接入7805稳压电路模块,输出稳定的+5V直流电压,为了判断电源是否接入,在电源开关后面接了一个LED灯,串联一个电阻起限流保护的作用。

2.复位电路方案实施

图3.3复位电路

如图3.3所示,用一极性电容与2k电阻串联,用一个触发按钮短接电容,当按键按下时,短路电容,提供以高电平,并且电容放电,松开后电容充电继续提供一个高电平复位信号,满足至少2us的高电平的设计要求。

3.时钟电路方案实施

图3.4时钟电路图

如图3.4所示,AT89S52内部有一个用于构成振荡器的高增益反相放大器,它的输入端为芯片引脚XTAL1,输出端为引脚XTAL2,这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激震荡器,产生脉冲信号,构成时钟电路。

4.主要芯片连接电路实施方案

图3.574LS164扩展并行输出口

如图3.5所示,主芯片AT89S52的XTAL1与XTAL2端口分别晶振外部电路相连,RST端口接复位电路,P3.0端口与74LS164的A、B段并接,P3.1接74LS164的CLK端。

74LS164的MR端、VCC端接VCC电源。

GND端接GND电源。

当AT89S52单片机串行口工作在方式0的发送状态时,串行数据由P3.0(RXD)送出,移位时钟由P3.1(TXD)送出,在移位时钟的作用下,串行口发送缓冲器的数据一位一位地从P3.0移入74LS164中。

5.LED显示电路实施方案

如图3.6所示,将74LS164的Q0—Q7管脚分别与8个LED灯相连接,在每个LED灯的旁边串联一个电阻,用来限流保护LED灯,不至于电流过大而烧毁。

将LED灯的负端接地,LED灯有正向导通的特性,当正向由74LS164传入高电平时,发光,体现了高低电平的变化,从而得到输入接口输出结果。

图3.6LED显示电路

3.3程序方案实施

用Keil设计应用程序。

打开Keil,在Project/NewuVisionProject/输入工程名ZHANG,点击保存,选择单片机型号为Atmel/AT89S52,点击OK。

File/New新建完之后再按File/Save输入ZHANG.asm保存,然后按下列步骤将ZHANG.asm添加到ZHANG工程里,右键点击SourceGroup1/AddFiletoGroup‘SourceGroup1’/ZHANG.asm/Add。

在asm文件里用汇编语言编写下列程序

org0000h;

程序起始地址

ajmpSTART

START:

movscon,#00h;

设置串行口为方式0

movsbuf,#00H;

将SBUF初始化为零

clrp3.0;

将P3.0初始化

movr1,#0ch;

令r1=12

movdptr,#tab;

查表

movr0,#00h;

令r0=0

REC:

mova,r0;

从表头开始查表

movca,@a+dptr

movsbuf,a;

将查表所得值移入串行口缓存器

wait:

jnbti,wait;

当串口传数据时一直等待

clrti;

当串口传完数据后将发送标志位清零

lcalldelay;

调用延时子程序

incr0;

r0自加一

djnzr1,REC;

循环12次查表,在led上输出

ajmpSTART;

循环十二次之后,重新开始执行

delay:

movr2,#100;

令r2=100

del2:

movr3,#100;

令r3=100

del1:

movr4,#10;

令r4=10

del0:

djnzr4,del0;

del0循环100次

djnzr3,del1;

del1循环100次

djnzr2,del2;

del2循环100次

ret

tab:

db10h,20h,40h,80h;

led输出表

db08h,04h,02h,01h

db01h,02h,04h,08h

db80h,40h,20h,10h

db0ffh,00h,0ffh

end

N

Y

NY

图3.7程序流程图

3.4系统仿真

图3.8系统仿真图

系统仿真图如3.8所示,打开Proteus软件。

首先,从库中输入元件的相关参数、名称,搜索到将要用到的元器件,把他们先放置在屏幕上,地线、电源和电阻等基本元件可直接从右边框显示的快捷栏中找到;

然后,双击将要查看的元器件,从而查看它的具体参数,有不对的,可自己修改的要自己修改,不能的需要重新在库中查找到符合要求的元器件;

最后,当所有用到的元器件都找到的时候,按照已画好电路图上的连线图把它们连接起来,连接完后检查一遍,看是否有连接错误的地方,确认无误后点击屏幕左下角的运行按钮,就可以进行仿真了。

特别注意,单片机中要导入程序,否则无法运行。

仔细观看仿真结果并记录下来,与预期的结果比较。

第一次,仿真并不成功,仔细检查了一下,发现是引脚接错,而且,二极管的正负极也搞反了,改正过来,继续仿真。

还是不对,检查硬件,发现没有错误,那就只有软件的问题了,将软件程序的算法、各个结构整理了一遍,发现了一些小错误,再将程序导入单片机中,仿真,显示出了正确结果,但是LED灯闪烁的太快,看不清,应该是延时不够,就将软件的延时环节重新编写了一下,大大增加了循环的时间。

将程序导入单片机后,运行良好,仿真成功。

3.5实物制作

首先,依照电路图中的各个模块排列,再将元器件按照电路图固定在万能板上。

本着元器件在电路板上插装的顺序先低后高,先小后大,先轻后重,先易后难,先一般元器件后特殊元器件,且上道工序安装后不能影响下道工序的安装原则来安装元器件。

而且元器件应分布均匀,排列整齐美观,不能斜排,不能一边高一边低,立体交叉和重叠排列。

然后,进行焊接,要准备一个有条理整洁的焊接环境,在焊接的过程中,不应该有毛刺、空隙、污垢。

要严格遵守以下原则:

第一,焊头与引脚的接触时间尽量不要超过3秒为宜,防止烧坏器件。

第二,要使焊锡均匀包住引脚,不能出现虚焊情况。

第三,集中精力以防焊错以至于出现元器件间的短路情况。

焊接完毕后要仔细检查一下电路是否有虚焊、漏焊、错焊、桥接,并清理掉焊点的焊料保证焊板焊点光滑、过度均匀、无毛刺、元件排列整齐美观。

4.结果与结论

4.1设计结果

在指导老师的指导和我们小组四个成员的集体努力下我们最终完成了扩展8个输出端口设计,实物电路的焊接,经调试后满足实验的设计要求,即接通电源后8个LED灯4个为一组,使亮灯的4个从中间开始向左移动一次,再从中间开始向右移动一次,接着从最右端向中间移动一次,在从最右端向中间移动一次,然后闪烁两次,不断循环。

按下复位按键便重新开始循环。

4.2设计心得与结论

5.收获与致谢

6.参考文献

7.附件

附件一:

元器件清单

元器件名称

型号规格

数量

备注

52单片机

AT89S52

1

晶振

12M

发光二级管

LED

9

移位寄存器

74LS164

7805

桥堆

2w10

底座

40脚

14脚

电容

33pf

2

104

极性电容

100uf

10uf

拨动开关

Sw-spst

按键

Sw-pb

电阻

300

8

2k

1k

附件二:

系统硬件电路图

附件三:

扩展8个输出端口设计实物拍摄

指导教师评语:

课程设计报告成绩:

,占总成绩比例:

40%

课程设计其它环节成绩:

环节名称:

原理图设计与仿真,成绩:

20%

PCB设计,成绩:

电路安装调试,成绩:

总成绩:

指导教师签字:

年月日

本次课程设计负责人意见:

负责人签字:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2