扩展8个输出端口方案设计书(2)_第1页
扩展8个输出端口方案设计书(2)_第2页
扩展8个输出端口方案设计书(2)_第3页
扩展8个输出端口方案设计书(2)_第4页
扩展8个输出端口方案设计书(2)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计任务设计题目扩展8个输出端口设计 学生姓名设计要求:1.单片机串行口工作于方式0,使用移位寄存器芯片74LS164扩展出8个输出口,接八只 LED输出显示。具有电源开关及指示灯,有复位按键。2将串行口设置为工作方式 0,接74LS164,扩展成8个输出端口,接8只LED。3.使8个LED每4个为一组,亮灯从中间开始向左移动一次,再从中间开始向右移动一次,接着 从最右端向中间移动一次,再从最左端向中间移动一次,然后闪烁两次,不断循环。学生应完成的工作:1.用Proteus完成扩展8个输出端口的原理图设计。2.在Keil上用汇编语言完成扩展8个输出端口的实现程序。3.将Proteus和Ke

2、il级联,进行仿真,修改硬件电路和程序,直至实现所要求的功能。4.根据原理图完成实物焊接,将程序烧进单片机之后进行调试,直到达到设计要求。5.完成课程设计说明书。6.该学生主要做的工作是实物的焊接与调试。参考文献阅读:1余永权.ATMEL89系列单片机应用技术M.北京航空航天大学出版社,2002.2 AT89C52 Datasheet, ATMEL , 2004.3于永,戴佳,常江.51单片机实例精讲M.北京:电子工业出版社,2006.4朱宇光.单片机应用新技术教程M.西安:电子工业出版社,2004.5张毅刚,彭喜元,董继成.单片机原理及应用M.高等教育出版社,2003.6童诗白,华成英.模拟

3、电子技术基础M.高等教育出版社,2006.工作计划:6号一一7号完成原理图设计;8号一一9号完成程序设计;10号一一11号电路仿真和调试;13号一一16号电路板的焊接和调试;17号完成课程设计说明书。任务下达日期:2013年5月6日任务完成日期:2013年5月17日指导教师(签名):学生(签名)扩展 8 个输出端口设计摘 要 :本设计利用 AT89C52 的单片机以及移位寄存器芯片 74LS164 实现扩展单片 机 8 个输出端口的功能。该设计包括电源模块,扩展模块,振荡模块,复位模块和显 示模块。电源电路利用桥堆 2W10 接变压器将交流电转化为直流电,经稳压集成电路 7805 稳压以及电容

4、滤波后得到电压为 +5V 的直流电源,实现对芯片和电路的供电功 能;而晶振和电容组成的振荡电路,对 AT89S52 提供工作频率;由电阻和按键组成一 个按键电平复位电路实现对系统的复位;把编写的程序下载到单片机内实现对串行口 扩展8个并行输出口的控制,显示模块使用的是 74LS164移位寄存器实现对LED的低 电平驱动控制显示,每个输出实现口接一只LED输出显示,实现LED能够按照设计的规律闪亮与熄灭。关键词:扩展输出口; AT89C52;移位寄存器芯片74LS164;桥堆2W10目录1.设计背景 . 12.设计方案 . 12.1原理图设计方案 . 12.2程序设计方案 . 33方案实施. 5

5、3.1原理图设计方案的实施 .53.2程序设计方案的实施 . 114.结果与结论 . 124.1设计的结果 . 124.2设计的结论和心得体会 . 125.收获与致谢 . 136.参考文献 . 137.附录 . 147.1附录一 元器件清单 . 147.2附录二电路仿真图 . 157.3附录三程序及其注释 . 167.4附录四实物图 . 181.设计背景随着电子技术的发展,越来越多的电子产品都趋向于智能化,集成化,使得单片机的应用越来来越广泛,而扩展并行口只是为了单片机从基础到更高层侧次 的应用。为了更好的了解和开发单片机的功能我们应该时刻关注单片机的的发展 现状和未来的发展趋势,把理论与实际

6、结合起来充分发挥个人的创新思维,更好 的利用单片机。MCS-51系列单片机是单片机的基础,只有充分掌握了MCS-51的功能才能更有效率的去学习其他单片机。MCS-51系列单片机有4个并行口(PO, P1,P2, P3 口), 但对一个稍微复杂的应用系统来说,四个并行口是远不能满足实际生产的需要 的,这就迫使我们不得不扩展并行口以满足实际的需要。在RXD和TXD端口没被使用的情况下,可以利用 RXD和TXD端口和移位寄存器74LS164将4个八位 并行口扩展为多组八位的并行输出口,这样就可以用本来闲置不用的端口进行并 行口的扩展,能充分利用单片机有限的I/O资源,扩展了并行口的数量。2.设计方案

7、2.1原理图设计方案(1)方案比较与选择AT89C52单片机有4个并行口,当内部并行口不够用时可以外扩并行口芯片。而 实现扩展端口的设计方案与很多种,下面简要介绍两种方案。1.万案一由AT89C52的串行口 RXD输出信息由74LS164的管脚1,2,由TXD输出的脉冲 信号与74LS164的CLOCK管脚相连控制74LS164的输出锁存与变换,将转化成并行 数据输出到LED上显示。首先根据要实现的LED灯的亮灭不同规律,编写八位二进制数,绘出数表,写入 单片机。单片机通过查表分别传出各个八位二进制数据,实现LED灯的亮闪功能。然后要实现数表中数据的依次输出,每次查询数表中一个数据后,数据指针

8、地址加一指 向下一数据,便下一次查表读取数据,延迟一秒后,读取下一数据,直至数表中数据 读取完毕。最后设计循环体,实现数表的循环读取输出。2.方案二在LED灯闪灭控制的数据输出时,采用按照其要求结果依次编写输出程序。不过在编写程序时,不免产生了多次重复的写入数据到SBUF、调用、延时等程序,占用了大量的存储空间,如此的反复书写,显得冗长单调硬件电路连好后,要想使8255工作还需要对8255进行初始化,显然编程比较麻烦,但是8255扩展的并行输出口个数可由工作方式选择,这是其优点。74LS164为非可编程并行口输出芯片,不需要进行初始化,软件编程比较简单, 但是以增加电路复杂度为代价的因此选择方

9、案一。(2)系统框图根据课程设计要求,作为控制模块的AT89C52单片机算术运算功能强大,软件编程灵活,自由度大,可用程序实现各种算法和逻辑控制。而单片机要工作需要的是最 小系统,而最小系统由晶振电路部分、复位电路部分和电源模块组成,由于要扩展八 位并行输出口,作为扩展成功的标志输出显示部分是由8个LED来实现的,特能够直观的看出所设计的电路是否符合要求,所以是必不可少的。因此可得该电路系统框图 如图2.1所示。输 出 显 示 部 分(3)根据设计要求,依据系统框图用 Proteus画原理图Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:1.原理布图2.PC

10、B自动或人工布线3.SPICE电路仿真4.互动的电路仿真用户甚至可以实时采用如 RAM , ROM,键盘,马达,LED , LCD , AD/DA,部分SPI 器件,部分 IIC 器件。5.仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图 的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配 置的虚拟逻辑分析仪、示波器等,Proteus 建立了完备的电子设计开发环境。下面用该软件进行电路的仿真。按下列步骤进行原理图的绘制:( 1 )新建文件 DSN 文件;(2)在元件库中搜索所需的元件,按下列顺序进行绘制a完成AT8

11、9C52最小系统;b.经移位寄存器芯片 74ls164 扩展出 8 个输出口;c.接八只 LED 输出显示;d.由桥堆 2w10、 7805完成电源电路。放在 DSN 文件里,按要求接线后保存。2.2 程序设计方案1.设计程序流程图根据课题要求 ,进行分析: (1)单片机要工作在并行口方式 0则需要对 SCON 设置 SM0,SM1,必须全部置0;(2)串行口中断,需要对 RI,TI清零;(3)要使LED 按不同的顺序依次闪亮,则需要通过串行口向外依次输出不同的时序脉冲;(4)由晶振为11.0592MHZ,频率过高,需要编写延时程序,每次对并行口输出数据后调用, 才能够看清设计的结果是否满足课

12、题要求;(5)在程序设计中,需要对程序进行仿真,则要求对仿真软件能很好的把握。软件设计时,我提出了两种不同的思路:一、对数据输出时,顺序依次编写出输出 程序,编写程序时,要多次重复的写出送数据到SBUF、调用、延时等程序,在这个过程中,需要占用大量的存储空间,且反复书写,冗长单调。二、利用查表法对数据进 行输出,把将要输出的数据放在一个 TAB 表列中,依次排列,在调用时,让地址依次 增加,取得的数据送入SBUF中,这样做,程序简单明了,占用的存储空间比较小。 对此,仅列出第二种思路的流程图如图 2. 2所示。Keil和Proteus级联来验证所设计2.依据程序流程图用Keil软件设计应用程序

13、,并利用 编写的程序是否符合设计要求。3.方案实施图2.2程序流程图3.1硬件设计方案1.AT89S52AT89S52提供以下标准功能:8K字节程序存储器,256字节内部RAM,32个并行I/O 口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工异步串行 通信口,片内震荡器及时钟电路。同时,AT89S52可降至OHz的静态逻辑操作,并支持两种软件可选的节电工作模式掉电模式和空闲模式。空闲模式时停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。AT89S52单片机与 MC

14、S-51兼容,它与 MCS-51的功能基本相同。AT89S52单片 机适合于许多较为复杂控制应用场合,AT89S52的引脚图如图3.1所示。图3. 1 AT89S52的引脚图AT89S52的主要性能参数:(1) 与MCS 51产品指令和引脚完全兼容(2) 具有8K字节可重擦写Flash程序存储器(3)1000次擦写周期(4)全静态操作:0Hz 24MHz(5)三级加密程序存储器(6)256 X X 8字节内部RAM(7)32个可编程I/O 口线(8)3个16位定时器/计数器(9)8个中断源(10)低功耗空闲和掉电方式由于AT89S52的功能强大,是学习单片机的基础,对于初学者,要牢记各个管脚

15、的功能及P1 口和P3 口的第二功能,特别是 P3 口的第二功能一定要牢记,它对于单片 机的工作的作用十分的明显。要熟记并理解其第二功能的含义,这样才能更有效率的 用AT89S52,表3.1给出了 P1 口引脚的第二功能,表3.2是P3 口的第二功能定义。表3.1 P1 口的第二功能定义引脚第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX (定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程时,串行数据输入)P1.6MISO(在系统编程时,串行数据输出)P1.7SCK(移位脉冲输入)表3.2 P3 口的第二功能定义引脚第二功能P3.

16、0RXD(串行数据输入)P3.1TXD (串行数据输出)P3.2INT0(外部中断0输入)P3.3INT0(外部中断1输入)P3.4T0 (定时器0外部计数输入)P3.5T1 (定时器1外部计数输入P3.6WR外部数据存储器写选通输出)P3.7RD外部数据存储器读选通输出)RST: :复位输入。在此引脚上,加上持续时间大于2个机器周期的高电平将使单片机复位。单片机工作时,该引脚电平要小于等于0.5V。ALE/PROG :地址锁存控制信号(ALE )是访问外部程序存储器时或者是外部数据 存储器时,锁存低8位地址到片外地址锁存器中。PSEN:外部程序存储器读选通信号。EA/VPP:访问外部程序存储

17、器控制信号。为使能从1000H到OFFFFH的外部程序存储 器读取指令,EA引脚必须接低电平。为了执行内部程序指令,EA引脚应该接高电平。XTAL1 :片内振荡器反相放大器和内部时钟发生电路的输入端。XTAL2 : :片内振荡器反相放大器的输出端。2.74LS164简介74LS164是一个串入并出的8位移位寄存器。各个引出端符号的功能定义:Q0 Q7( 3, 4,5,6,10,11,12,13)并行输出端;A,B( 1, 2)串行数据输入端;CLR (9)清除端,为0时,输出端(QAQH)均为低电平,输出清零;输入端A , B为可控数据端,当A、B任意一个为低电平则禁止新数据的输入,在时钟端(

18、CLOCK )脉冲上升沿作用Q0为低电平。当A、B 一个为高电平,则另一个 就允许输入数据, 并在CLOCK上升沿作用下决定Q0的状态。74LS164的引脚图如 图3.2所示。图3.274LS164的引脚图AT89C52的串行口被设置在方式 0时串行数据从RXD管脚输出,由74LS164的管脚 1、2,由TXD输出的移位脉冲信号与74LS164的CLOCK管脚相连控制74LS164的输 出锁存与变换,在移位脉冲的作用下,串行口发送缓冲器的数据逐位的从P3.0串行移入74LS164中,将转化成并行数据输出到 LED上显示。本设计中用74LS164虽然一片只能扩展八个并行输出口,但也可以用多片74

19、LS164并联来弥补扩展口输出数量的不足,实现扩展多组八个输出端口。74LS164为非可编程并行口输出芯片,所以不需要进行初始化,单片机的软件编程比较简单,但是以增 加电路复杂度为代价的。3.确定选取方案一之后选取合适的 AT89S52、晶振11. 0592MHZ、电容、LED指示 灯、移位寄存器74LS164、桥堆2W10、7805、万能板、电阻、按键等器件。4.设计原理图(1)时钟电路模块晶振全称是晶体振荡器,晶振的作用是为单片机系统提供其工作所需要的时钟信号, 是整个系统的心脏,只有在晶振正常工作的情况下整个系统才能工作。AT89C52单片机内部已经有一个用于构成振荡器的高增益反相放大器

20、,它的输入端为芯片引脚 XTAL1,输出端为引脚XTAL2,只需在这两引脚跨接晶振和微调电容,构成一个稳定的自激振荡器。我们设计的时钟电路用 11.0592MHZ的晶振和两个33uf电容并联设计成的时钟电路。时钟振荡电路的电路图如图3. 3所示。图3.3时钟电路(2)复位电路模块复位是单片机的初始化操作,只需给 AT89S52的复位引脚RST加上大于两个机器 周期的高电平,就可以使 AT89S52复位。复位电路主要有两种:上电自动复位,按键 复位。上电自动复位是通过外部复位电路给电容 C充电加至RST引脚一个短的高电平信 号,此信号随着Vcc对电容C的充电过程而逐渐回落,即 RST引脚上的高电

21、平持续时 间取决于电容的充电时间。因此要想保证可靠的复位,RST引脚上的高电平信号必须维持足够长的时间。按键手动电平复位是通过 RST端经电阻与电源Vcc接通来实现。本次设计的时钟频率为 12MHz,两个机器周期即为 2us,为了实现两个机器周期 的持续高电平,选择了极性电容与电阻串接,按键短路电容的方式组成复位电路。在 设计中,采用按键、两个1000欧姆电阻、100uf电容的按键复位,复位电路如图 3.4所图3.4复位电路(3)电源模块XL匚电源模块实现的是将220V的交流电转换成能供给单片机使用的+5V的直流电,所以用到的有变压器,桥堆2W10和稳压管7850,220V的交流电经变压器变为

22、12V的交 流电又流经桥堆变为9V的直流电,流经稳压管变为+5V的可供单片机使用的直流电,设计时还应该设计电源开关和 LED电源指示灯,我设计的电源电路如图 3. 5所示。(4)主控模块主控部分由AT89S52单片机充当,串行输出端口 P3.0有SBUF缓冲器,单片机将 数据写入SBUF,然后串行输出,P3. 0有输出的同时P3. 1会有移位脉冲信号,这是由 单片机的内部电路决定的。(5)扩展模块AT89S52串行口 P3. 0接移位寄存器芯片 74LS164输入端口( 1,2) P3. 1 口给74LS164提供脉冲信号扩展出8位并行输出口,扩展模块电路图如图3.6所示 图3.6 74LS1

23、64扩展并行输出口(6)显示模块图3.5电源电路PM:巩 OO:;FL. 1-TIE: miPLPL 3 3PLPL申P1JP1JPlPl 6 6PL7P3/-.T1:Pi-Pi-KTOKTO:咋-竺:五 IlAS J2.:LA?呻 鯛小冲昨1如0承: lADIJPC : IAI二IAIH 卓 + I池価TvcciTXDgvcc寮花口朝74LS164输出口经300电阻接八只共阴极LED , P0 口与其他口相比驱动能力较 大,可以驱动8个二极管,其他的只能驱动 4个,而任何一个口想要获得较大的驱动 能力,只能用低电平输出。在单片机程序的驱动下,实现LED按照设计好的闪亮规律下的闪亮和熄灭,作为

24、实现扩展输出功能的输出显示,显示模块电路如图3.7所示。图3.7 LED输出显示3.2程序设计方案的实施KeilC51是美国Keil Software公司出品的51系列兼容单片机程序语言软件开发系统 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,编码效率高。按下列步骤使用Keil进行编程: Project/New u Vision Project/输入工程名 gongcheng点击保存。File/New新建完之后再按File/Save输入gongcheng asm保存,然后按下列步骤 将 gongcheng Asm 添加到 gongcheng 工程里,

25、右键点击 Source Group 1/Add File to Group Source Group 1 /gongchengAsm/Add。(3)在asm文件里用汇编语言编写程序。(4)执行,若程序有错误会提示出现错误处,对错误处程序进行修改,直至程序正确 之后,进行相关设置会生成 HEX文件。双击DSN文件里AT89S52,选择Keil生成的hex文件,点击运行,对程序和软 件进行调试。4. 结果与结论4.1 设计的结果 经过一天的插件焊接终于完成了电路的实物连接,由于没有变压器,用手机充电 器直接当直流 +5V 电源, 接在正极和负极,接通电源之后电源指示灯亮但是八个输出显 示 LED

26、并不能按照事先设计的闪亮规律闪亮,后经检查原来在设计时 74LS164 的电源 管脚忘记了接入高电平,导致芯片没有电源,在完成修改之后,接通电源之后只有一 部分灯亮,而每一次接入电源闪亮的灯并不一样我们判断是晶振坏了而没有对单片机 提供工作频率但是在换了一个晶振之后,还是只有一部分灯闪亮,每次接入电源点亮 的灯都不同但并不是按设计的规律闪亮,用示波器检查各个芯片的工作电流均正常, 重新查看了设计的程序并修改程序,再次下载到单片机内,断电之后重新接电源,仍 然闪亮但没有规律,现在只能怀疑 AT89C52 损坏,于是换了一片新的,烧进程序后, 仍旧出现上述问题,我们又利用示波器测量 74LS164

27、 的工作波形,结果发现芯片也存 在工作电波,但是这个波形是不是符合电路工作所需要的波形就不得而知,在老师的 建议下我们又换了一片74LS164芯片,通电后看到8个LED每4个为一组,亮灯从中 间开始向左移动一次,再从中间开始向右移动一次,接着从最右端向中间移动一次, 再从最左端向中间移动一次,然后闪烁两次,不断循环 , 实现了所要求的功能。为什么 芯片会损坏,现在怀疑刚开始的时候可能是电源电压过高,或者是由于频繁的接断电 源导致芯片损坏。至此在郭汝静老师的耐心的指导下实现了课程设计所要求实现的任务,并明白了 中间出现错误的原因。4.2 设计的结论和心得体会 这次单片机实习,我们小组四人完成了实

28、物电路板的制作完全实现了任务书预期 的要求。在实习的过程中也遇到了很多麻烦:第一,编程时一部分组员选择利用 C 语 言编程,一部分选择利用汇编语言,最后经过讨论和参考老师的意见选择用汇编语言 编写程序;第二,在进行电路图的设计和仿真方面由于第一次用到这些软件,很多功 能在不断的摸索的过程中才发现,最后也实现了电路图的设计和仿真;第三,在焊接 过程中由于要焊接的芯片引脚太多太乱而感到无处下手,尤其是74LS164不仅管脚多而且每一个管脚都用到了十分容易连接到一块,但是经过不懈的努力终于完成了任 务;第四,由于第一次使用万能板焊接元器件排线比较乱。尽管在制作的过程中遇到 了很多麻烦但是经过大家共同

29、努力和讨论,还是完成了实习之初的要求。5.收获与致谢6.参考文献1余永权.ATMEL89系列单片机应用技术M.北京航空航天大学出版社,2002.2AT89C52 Datasheet, ATMEL , 2004.3于永,戴佳,常江.51单片机实例精讲M.北京:电子工业出版社,2006.4朱宇光.单片机应用新技术教程M.西安:电子工业出版社,2004. 张毅刚,彭喜元,董继成.单片机原理及应用M.高等教育出版社,2003. 童诗白,华成英.模拟电子技术基础M.高等教育出版社,2006.7张大明,刘振鹏.单片微机控制应用技术实操指导书M.机械工业出版社,2007.8阎石,数字电子技术基础(第五版)M.高等教育出版社,2005.9邱关源,罗先觉.电路(第五版)M.北京:高等教育出版社,2006.7.附录7.1附录一表7.1兀器件清单元器件名称型号规格数量备注52单片机AT89S521晶振112M发光二级管LED98红1绿移位寄存器74LS1641780578051桥堆2w101底座40脚1底座14脚1电容33pf2电容1042极性电容100uf2极性电容10uf1拨动开关Sw-spst1按键Sw-pb1电阻3008电阻2k1电阻1k17.2附录二电路仿真图图7.1仿真电路图HTML?HTML?HR R,PQEHPQEHALEALE FFFFU U 1 12 2 T T * * f f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论