单片机技术课程设计-扩展8个输入端口设计.doc_第1页
单片机技术课程设计-扩展8个输入端口设计.doc_第2页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

课 程 设 计 说 明 书课程名称: 单片机技术 设计题目: 扩展8个输入端口设计 院 系: 电子信息与电气工程学院 学生姓名: 龚 亚 忠 学 号: 200902030046 专业班级: 电子信息工程(1)班 指导教师: 段 德 功 2012年 5月 18 日摘 要:本次课程设计的主要内容是扩展8个并行输入端口;硬件设计的电源部分由桥堆2w10和三端稳压集成电路实现,实现并入串出的电路部分主要由移位寄存器芯片74ls165与at89s52构成,输入信号通过74ls165芯片串行传送给单片机;编写程序通过对串行口接收中断标志位ri状态的查询控制程序的执行顺序并利用p1口输出低电平驱动发光二极管显示结果;电路系统的主要功能是扩展8个并行输入端口;该电路系统各模块工作正常,能够实现设计要求。关键词:7805;at89s52;74ls165;并行输入;串行通信课 程 设 计 任 务 书设计题目扩展8个输入端口设计学生姓名龚亚忠所在院系电子信息与电气工程学院专业、年级、班09级电子信息工程专业(1)班设计要求:1.单片机串行口工作于方式0,使用并入串出移位寄存器芯片74ls165扩展出8个输入口,接八只拨动开关,作为单片机数据输入端,控制单片机输出端口p1所接的8个led; 2.具有电源开关及指示灯,有复位按键;3.使八只拨动开关可以分别控制一个led灯的工作状态;4.正常工作时,拨动开关,即可以看到相应的二极管点亮与熄灭。学生应完成的工作: 1.用altium designer完成扩展8个输出端口的原理图设计;2.在keil上用汇编语言完成扩展8个输入端口的实现程序; 3.根据原理图完成实物焊接,将程序烧进单片机之后进行调试,直到达到设计要求;4.完成课程设计说明书;5.实习结束时,提交设计实物与课程设计说明书(打印版和电子稿);6.该生应完成原理图的设计、软件的调试、电路板的焊接工作和电路系统的最后调试工作。参考文献阅读:1 张毅刚,彭喜元,彭宇.单片机原理及应用.北京:高等教育出版社,2003.122 杜树春.单片机c语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.63 徐爱钧.智能化测量控制仪表原理与设计.北京:北京航空航天大学出版社,2007.84 于永,戴佳,常江.51单片机实例精讲.北京:电子工业出版社,2006.45 朱宇光.单片机应用新技术教程.西安:电子工业出版社,2004.工作计划: 5月7号5月9号完成原理图设计; 5月10号5月11号完成程序设计; 5月14号5月16号电路板的焊接和调试; 5月17号5月18号完成课程设计说明书。任务下达日期:2012 年5月 7 日 任务完成日期:2012 年5月 18 日指导教师(签名): 学生(签名): 目录1. 设计背景12. 设计方案12.1方案一12.2方案二13. 方案实施23.1硬件设计23.1.1 方案比较与选择23.1.2 系统框图23.1.3 主要元器件简介23.1.4 对altium designer软件的简单介绍33.1.5 电源电路的设计33.1.6 复位电路设计43.1.7 时钟电路设计43.1.8并行输入8位移位寄存器74ls165工作原理53.1.9单片机与移位寄存器74ls165的串行通信53.2软件设计63.2.1 软件流程图设计63.2.2程序的编写83.3 实物焊接94. 结果与结论95. 收获与致谢106. 参考文献117. 附件12附件一:系统电路原理图12附件二:程序流程图13附件三:源程序14附件四:元器件清单15附件五:系统实物图161. 设计背景at89s5x系列单片机有4个并行口(p0,p1,p2,p3口),但对一个稍微复杂的应用系统来说,真正可供用户使用的并行口数量是有限的,况且常常因扩展i2c和spi的器件需占用某些并行口,这就迫使我们不得不扩展并行口以满足实际的需要。在rxd和txd没被使用的情况下,可以利用rxd和txd端口和移位寄存器74ls165将串行口扩展为多组八位的并行输入口,这样就可以用本来闲置不用的端口进行并行口的扩展,能充分利用单片机有限的i/o资源,并扩展了并行口的数量。随着微电子技术的发展,越来越多的电子产品的设计都向数字化、智能化、自动化方向发展,各种电子设备及通信系统的复杂度、集成度越来越高,大批主导电子产品,如计算机、数字音响、数字电视、数控机床等都广泛应用了单片机技术。为了赶上时代的步伐,同时也为了培养大学生的实际动手能力、开发能力、独立思考能力分析实践能力,将理论应用于社会生产实践的能力,故而开展此次课程设计活动。2. 设计方案2.1方案一:使用74ls165实现并入串出查询方式和p1口低电平输出通过拨动开关将信号传送给移位寄存器芯片74ls165,实现信号的并行输入,然后将at89s52的(rxd)p3.0和(txd)p3.1与移位寄存器芯片74ls165的qh非和cp相接当s/l非=1时且时钟禁止端(第15脚)为低电平时,允许txd(p3.1)串行移位脉冲输入,这时在移位脉冲作用下,数据由右向左方向移动,以串行方式进入串行口的接收缓冲器中;编写程序通过对串行口接收中断标志位ri状态的查询控制程序的执行顺序并利用p1口输出低电平驱动发光二极管显示结果。2.2方案二:使用74ls165实现并入串出中断方式和p1口高电平输出 通过拨动开关将信号传送给移位寄存器芯片74ls165,实现信号的并行输入,然后将at89s52的(rxd)p3.0和(txd)p3.1与移位寄存器芯片74ls165的qh非和cp相接当s/l非=1时且时钟禁止端(第15脚)为低电平时,允许txd(p3.1)串行移位脉冲输入,这时在移位脉冲作用下,数据由右向左方向移动,以串行方式进入串行口的接收缓冲器中;编写程序通过对串行口接收中断标志位ri状态的查询产生中断请求,控制程序的执行顺序并利用p1口输出高电平驱动发光二极管显示结果。3. 方案实施3.1硬件设计3.1.1 方案比较与选择由于at89s52单片机本身的中断数量仅有5个,为了以后功能的扩展、节省中断源且本设计对效率要求不高,故采用查询方式。又考虑到灌电流与拉电流的优缺点,利用p1口输出低电平驱动发光二极管。基于以上两方面的考虑,本设计采用方案一实现设计要求。3.1.2 系统框图 根据课程设计要求,作为控制模块的at89s52单片机要工作需要最小系统,而最小系统由晶振电路部分、复位电路部分和电源模块组成,由于要扩展八位并行输入口必定有扩展部分,作为扩展成功的标志输出,显示部分是必不可少的,故系统框图如图3-1所示。 主控模块 at89s52单片机电源模块输 出显 示部 分复位电路时钟电路扩展部分图3-1 系统框图3.1.3 主要元器件简介下面对at89s52单片机进行和74ls165移位寄存器进行简介。at89s52 是一种低功耗、高性能cmos8位微控制器,具有 8k 在系统可编程flash 存储器。使用atmel 公司高密度非易失性存储器技术制造,与工业80c51 产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位cpu 和系统可编程flash,使得at89s52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 at89s52具有以下标准功能: 8k字节flash,256字节ram,32位i/o 口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,at89s52 可降至0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu 停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。74ls165是八位并行输入/串行输出移位寄存器。当1脚为低电平时,将输入数据d0 - d7存入q0 - q7,数据存入后,使1脚为高电平,10脚=0,15脚=0, cp2脚的8个时钟脉冲就能将并行数据从q7=9脚串行移出。/q7=7脚移出的数据是反相的。3.1.4 对altium designer软件的简单介绍先对altium designer进行一下简单的介绍,altium designer环境是一个软件集成平台,汇集了所有必要的工具来创建一个单一的应用程序中的电子产品开发完整的环境。 altium designer包括所有设计任务的工具:从原理图和hdl设计输入,电路仿真,信号完整性分析,pcb设计以及基于fpga的嵌入式系统设计和开发。此外,altium designer环境可定制,以满足用户的各种需求。在本次课程设计中主要使用altium designer软件绘制原理图。3.1.5 电源电路的设计利用桥堆2w10对变压器输出的9v交流电压进行整流并利用三端稳压器7805对其稳压和变压输出稳定的5v电压。注意在电路中接上开关和电源指示灯,指示灯要串接一个680欧姆的电阻。其中c4、c5、c6、c7作为旁路电容,滤除高频分量使输出稳定。具体电路原理图如图3-2所示。图3-2 电源电路3.1.6 复位电路设计为了防止程序出错(如程序跑飞)或操作错误使系统处于死锁状态,需设计复位电路使at89s52能够摆脱“跑飞”或“死锁”状态而重新启动程序。当给复位脚rst加上大于2个机器周期(即24个时钟振荡周期)的高电平就可以使at89s52复位,使程序从0000h单元开始执行。复位电路可采用上电自动复位和按键手动复位两种方式,而按键手动复位又可以分为按键电平复位和按键脉冲复位两种方式。本设计采用按键电平复位方式,电路图如下图3-3所示.图3-3 复位电路3.1.7 时钟电路设计时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式,本设计采用内部时钟方式。at89s52内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚xtal1,输出端为引脚xtal2。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器 。c1和c2的典型值通常选择为30pf,本设计采用的电容值为33pf。电容大小会影响振荡器频率高低、振荡器的稳定性和起振的快速性。晶振频率范围通常是1.212mhz,本设计采用晶振的频率为11.0592mhz。晶体频率越高,单片机速度就越快。速度快对存储器的速度要求就高,则要求线间的寄生电容要小。晶体和电容应尽可能与单片机靠近,以减少寄生电容,保证振荡器稳定、可靠地工作。本设计的时钟电路图如图3-4所示。图3-4 时钟电路3.1.8并行输入8位移位寄存器74ls165工作原理当74ls165的端口1由高到低跳变时,并行输入端的数据被置入寄存器;当端口1为高电平,且时钟禁止端(第15脚)为低电平时,允许txd(p3.1)串行移位脉冲输入,这时在移位脉冲作用下,数据由右向左方向移动,以串行方式进入串行口的接收缓冲器中。txd(p3.1)作为移位脉冲输出与所有75ls165的移位脉冲输入端cp相连;rxd(p3.0)作为串行数据输入端与74ls165的串行输出端7相连;p2.0与端口1相连,用来控制74ls165的串行移位或并行输入;74ls165的时钟禁止端(第15脚)接地,表示允许时钟输入。74ls165原理图如下图3-5所示。图3-5 74ls165芯片3.1.9单片机与移位寄存器74ls165的串行通信图3-6为串行口外接一片8位并行输入串行输出的寄存器74ls165扩展一个8位并行输入口的电路。当74ls165的s/l非端由高到低跳变时,并行输入端的数据被置入寄存器;当s/l非=1,且时钟禁止端(第15脚)为低电平时,允许txd(p3.1)串行移位脉冲输入,这时在移位脉冲作用下,数据由右向左方向移动,以串行方式进入串行口的接收缓冲器中。txd(p3.1)作为移位脉冲输出与75ls165的移位脉冲输入端cp相连;rxd(p3.0)作为串行数据输入端与74ls165的串行输出端qh相连;p2.0与s/l非端相连,用来控制74ls165的串行移位或并行输入;74ls165的时钟禁止端(第15脚)接地,表示允许时钟输入。在方式0,scon中的tb8、rb8位没有用到,发送或接收完8位数据由硬件使ti或ri中断标志位置“1”,cpu响应ti或ri中断,在中断服务程序中向发送sbuf中送入下一个要发送的数据或从接收sbuf中把接收到的1b存入内部ram中。注意,ti或ri标志位必须由软件清“0”,采用如下指令:clrti;ti位清“0”clrri ;ri位清“0”方式0时,sm2位(多机通信控制位)必须为0。图3-6 单片机与移位寄存器74ls165的串行通信3.2软件设计3.2.1 软件流程图设计根据课题要求,进行分析:(1)单片机工作在串行口方式0则需要对scon设置,sm0、sm1必须置0;(2)串行口中断,需要对ri,ti清零;(3)要使拨动开关能够控制相应的led的工作状态,则需要通过串行口向外依次向单片机输出不同的数据;(4)由晶振为11.0592mhz,频率过高,需要编写延时程序,每次对串行口输出数据后调用,才能够看清设计的结果是否满足课题要求。利用查询方式查询串行口接收中断标志位ri状态控制程序的执行顺序,若ri=1,则调用服务子程序,否则继续查询;并通过特殊功能寄存器a将数据送入p1口控制发光二极管的状态。软件流程图如图3-7所示。图3-7 程序流程图3.2.2程序的编写org 0000hljmp mainorg 0100hmain : mov sp,#30h ;设置堆栈指针 lcall delay ;调用延时子程序start: clr p2.0 ;并行置入数据 setb p2.0 ;允许串行移位 mov scon , #10h;设置串口方式0,允许接收,启动接收 sint: jnb ri ,sint;未接收完一帧,等待 clr ri;ri标志清零,准备下一次接收 mov a,sbuf;读入数据并送至p1口 mov p1,a lcall delay0;调用延时子程序 sjmp start sjmp $delay : mov r6,#100;延时子程序设计del0 : mov r5,#100del1 : mov r4,#50del2 : djnz r4,del2 djnz r5,del1 djnz r6,del0 ret delay0 : mov r3,#0ffh;延时子程序设计del00 : mov r2,#0ffhdel01 : djnz r2,del01 djnz r3,del00 ret end3.3 实物焊接在完成所有的准备工作之后,接下来就是实物焊接了;由于此次用的是万能板,所以我需要先对元器件有一个合理的布局,使焊接更容易的同时也要保证元器件的布局美观大方。焊接的技术要领:一,烙铁头同时接触元件的引脚和板子上要焊接的部位。二,送入焊锡丝。将焊锡丝向烙铁头上推送,可以看到焊锡边送边化,等焊锡量正好时停止送焊锡。三,保持烙铁头不动的状态,在焊锡完全熔化后继续加热3到5秒时间。四,烙铁头离开焊点。经验是让烙铁头的尖对着焊点退出。注意不要拉出焊锡的尖状毛刺。五,剪去多余的引脚。 由于此次使用的是万能板,所以对于导线的焊接是少不了的,下面简单叙述一下焊接导线的技术要领。导线的焊接,在焊接前一定先对导线处理,让导线上先挂上焊锡,需要焊接的板子上的相应部分也应该上锡。然后一只手拿导线对着要焊接的位置,另一只手拿烙铁,在烙铁头上熔化适量的焊锡去接触导线和板子的焊接部位。如果是焊接导线和开关等元件的连接,应该对导线和开关的引脚都进行上锡处理,这样才能保证焊接成功。最终经过两天的焊接工作,实物焊接顺利完成。在实物焊接完成之后,在不插入单片机的情况下,对电路板进行调试,用万用表检查一下电路是否有短路或者断路的情况。在初步调试结束之后,可以向单片机内烧写程序,然后把单片机插到40脚底座上,在没有接通电源之前,再次对电路进行调试,检查一下电路是否有短路或者断路的情况,以确保整个电路的安全可靠,在检查没有问题的情况下,接通电源。最终我们做的整个电路系统可以正常工作,并且满足设计要求。4. 结果与结论最终在我们小组的共同努力之下,我们完成了整个电路板的制作,在接上9v的交流电之后,然后打开电源开关,电源的指示灯亮,这说明电源模块可以正常工作(与此同时,我们看到8个led灯都瞬间亮了一下,然后又都熄灭了,这是因为在接通电源开关时,发光二极管的阳极瞬间得电,但是由于单片机需要一定的反应时间,在发光二极管的阳极得电的时候单片机的p1口还处于低电平,此时会有电流流过发光二极管,所以发光二极管会亮,但是瞬间亮一下就灭了,因为单片机已经处于正常工作的状态了);接下来我拨动8只拨动开关,对应的led灯会点亮,这说明我们的扩展模块可以正常工作,把8个拨动开关都拨到接通的位置,然后按下复位按键,8个led灯都灭了,松开复位按键后,过了几秒钟,8个led灯才重新点亮;因为8个led灯都是共阳极接法,而单片机在复位时,对应的i/o口都输出高电平,所以8个led灯都灭了,这是合理的,但是在松开复位按键时,8个led灯并不会立即点亮,这是因为在复位电路中有一个10uf电容和10k的电阻;在按下复位按键后,电容充电,在松开复位按键后,电容有一个放电的过程,在放电的过程中电容依然会保持一个使单片机复位的的电压,所以8个led灯不会立即点亮时正常的,这说明复位电路是可以正常工作的。根据以上各个模块的工作情况,我们可以得出结论:我们最终完成的电路系统可以满足设计要求。电路的部分工作状态如图3-8、图3-9、图3-10所示。图3-8 实物图展示 图3-9 实物图展示 图3-10 实物图展示5. 收获与致谢这次时间为两个星期的课程设计试验大大培养了我的动手能力和同学间的相互合作精神。从一开始我看到自己选定的题目,就在思考怎样才能设计出一个正确的原理图,这个很重要,也是所有工作的基础,如果要完成原理图设计工作,这就要求我们有足够的理论知识储备;原理图的设计是理论与实践的交叉点,也是这次课程设计的重中之重,所以我们必须确保原理图的百分百正确。在本次课程设计中,系统的原理图部分由我完成,在设计原理图的过程中,我查阅了大量的参考资料,对各个芯片的管脚功能和电路模块进行了深入的研究,这样才可以是我对原理图的设计有一个整体上的把握;在查阅资料的过程中,一方面加深了我对单片机系统的理解,另一方面增强了我对设计成功的信心。最终在我们组的努力下,一张完整并且正确的原理图绘制工作完成。在硬件原理图设计完成之后,接下来的工作是设计软件部分,这一部分工作由我们组共同完成,本次软件设计我们使用汇编语言进行编写,首先我们要进行需求分析,找出编写程序的思路,然后画出程序流程图,这样我们就可以按照流程图编写程序,最终我们编写的程序调试通过了,在编写程序的过程中,我们更深入的理解了一些基本的指令的使用方法和汇编语言的语法规则,同时使我们对单片机上的硬件资源有了更深入的理解。在一切准备工作都完成之后,接下来的任务就是实物的制作,由于原理图是由我绘制的,所以实物焊接的工作也由我来完成,由于本次课程设计使用的是万能板,跳线比较多,焊接工作有一定的难度;所以在实焊接的过程中一定要找准对应的管脚,不能接错,这份工作是对一个人细心程度的考验;最终经过两天的焊接工作,实物焊接顺利完成。并且我们做的整个电路系统可以正常工作,并且满足设计要求。通过焊接在电路板上焊接电子元器件,我再一次提高了自己的动手能力。在本次课程设计中我们组做的电路系统可以正常工作,并且满足设计要求,这个结果是对我们组所有成员的努力付出的肯定,与此同时这次课程设计要特别感谢段德功老师的耐心辅导以及在设计中给出的宝贵建议和意见,在此我表示深深的感谢!6. 参考文献1 张毅刚,彭喜元,彭宇.单片机原理及应用.北京:高等教育出版社,2003.122 杜树春.单片机c语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,200

温馨提示

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

评论

0/150

提交评论