4位拨动开关控制数码管显示系统设计.docx
课程设计说明书课程名称:单片机技术设计题目:4位拨动开关限制数码管显示系统设计院(部):电子信息与电气工程学院学生姓名:学号:学10020400专业班级:2010级电气工程及其自动化指导老师:申庆超2013年5月17日课程设计任务书设计题目4位拨动开关限制数码管显示系统设计学生姓名11A士本由大R士加电子信息与电士山zrTtt电气工程及其自刖心森所在院部气工程学院<业、年及班动化2010级设计要求:1 .具有电源开关及指示灯,有复位按键;2 .用DlP开关的低四位为输入,限制输出端数码管显示器的输出。实现如下功能:上电后默认为“8”,调整4位DIP开关按二进制输入,按确定键后数码管显示对应的数字“0”-“F”。学生应完成的工作:1.通过单片机原理课程设计,使之较系统地、全面地驾驭单片机应用系统的基本设计方法,设计步骤,熟识和掌电路参数的计算。2 .多位同学共同探讨设计出最佳方案。3 .通过查阅手册和文献资料,培育学生分析和解决实际问题的实力与技巧。4 .进一步熟识软件的正确运用方法,原理图设计。5 .学会撰写课程设计总结报告。6 .培育肃穆仔细的工作作风和严谨的科学看法。7 .该生负责系统硬件电路的设计。参考文献阅读:1张毅刚,彭喜元,彭宇.单片机原理及应用M.北京:高等教化出版社,2009.2杜树春.单片机C语言和汇编语言混合编程实例详解M.北京:北京航空航天高校出版社,2006.3童诗白,华成英.模拟电子技术基础(第四版)M.北京:高等教化出版社,2006.4林志琦.基于ProteUS的单片机可视化软硬件仿真M.北京:北京航空航天高校出版社,2006.工作安排:5月6日:查阅相关资料,拟定方案;5月7日:进行方案论证,完善设计方案;5月8日:完成硬件设计;5月9日:设计程序流程图;5月10日:完成软件设计,并进行仿真和调试;5月13日:进行焊接;5月14日:烧写程序;5月15日:调试电路;5月16日:与辅导老师沟通,写课程设计报告;5月17日:上交课程设计报告及实物。任务下达日期:2013年5月6日任务完成日期:2013年5月17日指导老师(签名):学生(签名):4位DIP开关限制数码管显示系统设计摘要:以单片机AT89S52芯片为核心,用7805、桥堆、拨动开关等器件设计一个限制电路,实现由4位拨动开关限制共阳极数码管显示系统的设计。电路由电源模块、复位模块、时钟模块、显示模块等。它由5V直流电源供电,用拨动开关的低四位为输入,限制输出端数码管显示器的输出。用编程语言编写程序,系统能够实现如下功能:上电后数码管默认显示为“8”,调整4位拨动开关按二进制输入,按确定键后数码管显示对应的数字或字母“0”-“F”。关键词:4位拨动开关;单片机;共阳极数码管;编程语言书目1 .设计背景11.1 单片机设计背景11.2 设计目的12 .设计方案22.1 方案一22.2 方案二22.3 方案三33 .方案实施33.1 系统组成框图43.2 输入输出电路设计43.3 时钟电路与复位电路设计53.4 电源电路设计63.5 程序设计63.6 仿真结果74 .结果与结论94.1 结果94.2 结论95 .收获与致谢106 .参考文献107 .附件111 .设计背景1.1 单片机设计背景目前单片机渗透到我们生活的各个领域。导弹的导航装置,飞机上各种仪表的限制,计算机的网络通讯与数据传输,工业自动化过程的实时限制和数据处理,广泛运用的各种智能IC卡,民用豪华轿车的平安保障系统,录像机、摄像机、全自动洗衣机的限制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动限制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化限制的科学家、工程师。1.2 设计目的在理论学习的基础上,通过完成一个单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,能够增加我们理论联系实际的实力,进一步娴熟相关专业基础学问的综合应用,提高实际动手实力和设计实力。对电子电路、电子元器件、印制电路板等方面的学问进一步加深相识,同时在软件编程、排错调试、焊接技术、相关仪器设备的运用技能等方面得到全面的熬炼和提高。2 .设计方案2.1 方案一运用单片机PI口,由4位DIP开关从Pl口低四位输入,高四位输出,译码部分采纳741.S247译码器,送往七段数码管显示。本方案编程简洁,占用I/O端口少,但电路设计较困难,硬件增多,成本增高。2.2 方案二用四一十六译码器741.S47将四位二进制数转换成十进制“0T5”,依据七段数码管显示特性将对应的数字表示出来。利用卡诺图化简输出表达式为最小项和形式,由与非门构建驱动显示电路。该方案思路清楚,不涉及软件程序,完全由硬件电路构成。741.S47有十六个输出端口,因此电路结构困难。2.3 方案三本方案的译码部分由单片机编程实现,PO口接共阳数码管,由4位DIP开关从PI口低四位输入,经软件译码,送往PO口,在数码管显示相应的数字。由于译码部分采纳了软件实现,省去了译码电路,成本降低,电路设计简洁,但编程较方案一困难,而且占用I/O端口多,占用系统资源。综合考虑,确定采纳方案三实现。3方案实施1.1 系统组成框图设计以AT89S52芯片为核心,用7805、桥堆、拨动开关等器件设计一个限制电路,实现由4位拨动开关限制共阳极数码管显示系统的设计。系统组成框图应包括单片机、电源电路、复位电路、显示电路、时钟电路等。系统组成框图如图1所示。图1系统组成框图七段数码管1.2 输入输出电路设计本设计是以AT89S52单片机为核心部件来实现设计要求的,AT89S52单片机有四个双向的八位I/O口。本次试验只用到了PO,Pl口,以PO口作为输出口,Pl口作为输入o本试验中我们是要以PO口输出去限制显示模块,因此在设计时主要考虑PO口作为通用型I/O口的输出特性。当Po口作输出口时,输出为漏极开路,但是本试验用的是共阳极数码管,低电平驱动,可以不加上拉电阻。这次试验用Pl口的低四位作拨码开关的输入,Pl口作为输入口时,分为“读锁存器”和“读引脚”两种方式。“读引脚”时,先向锁存器写1,使场效应管截止,这一步应在后期的程序中表达出来。同时Pl口的高四位屏蔽。电路如图2所示。图2输入输出电路1.3 时钟电路和复位电路设计AT89S52单片机各功能部件的运行都是以时钟限制信号为基准,有条不紊地一拍一拍地工作。因此,时钟频率干脆影响单片机的速度,时钟电路的质量也干脆影响单片机系统的稳定性。本设计采纳的时钟电路如图3所示。图3时钟电路AT89S52的复位是由外部复位电路实现,本设计除了上电自动复位外,还设计了按键手动复位,利用Re微分电路产生的正脉冲来实现。电路如图4所示。图4复位电路1.4 电源电路为了使单片机正常工作,我们设计了电源电路。通过电源电路实现变压、整流、滤波和稳压的作用,使单片机工作在稳定的5V直流激励下。电源电路的电路图如图5所图5电源电路1.5 程序设计依据要求,上电后默认为“8”然后波动DlP开关,数码管显示对应的数字。为了能精确分辨显示的内容我们要区分字母的大小写。数码管对应显示的内容为“0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F”程序流程图如图6所示。图6程序流程图DlP开关在断开和闭合过程中呈现一串负脉冲,抖动时间的长短与开关的机械特性有关。常用的开关去抖动方法是用软件延时来消退,在检测到有开关打开时,该管脚变为低电平,执行一段延时TnIS的子程序后,确认该管脚电平是否仍为低电平,这确认该开关的确打开。本次试验用的约是12MHz的晶振,一个机器周期为IuS,须要1000个机器周期的延时,。而一个八位的寄存器最多能表示到255,那么要实现要求就只能用延时程序的嵌套。把要在数码管上显示的内容“1-F”所点亮的发光二极管的段用二进制表示出来,构造查表的表格。将从P1.O至P1.3管脚的值按其对应的“权”相加的和作为查表的的变址,以表格的首地址作为基址打造查表指令。按要求用汇编语言编写如下。程序见附件。1.6 仿真结果在Proteus软件中搭建仿真电路,并在软件Keil中用汇编语言编程并将编译的无误的程序转换成十六进制的hex文件导入到Proteus中。经过反复调整和修改仿真结果完全符合课题要求。如拨动开关为OOIO时.,对应仿真结果如图7所示。R-R13ClT卜33Ko-X1XTA1.ICRYSTIXTA1.2R5TP0AD0MlJADlPG2'An2PaaAmPC1.4AMPaMAaP1.'AD6”7JAD7377DSW1AUP2.*P2JWP22A1OP23'A11P2.4,A12P25'A13P2(Al4P2Z'A15T%R3p.2P1.1/T2EXPI2P13PMPiSPlJeP1.7P3.,RXDP3.1/TOP32而P33W11P34<T>P3T1F?AT89C52TR1TRAN2P2S2W1(K1Dl阳V-50<H6l4 .结果与结论4.1 结果将元器件焊好检查无误后,把程序下载到单片机内,然后接到9V电源上调试。调试结果如下所示。上电后默认为“8”,调整4位DIP开关按二进制输入。当DIP开关为“0000”,数码管显示iiOff;当DlP开关为“0001”,数码管显示“1”;当DIP开关为“0010”,数码管显示“2”;当DIP开关为“0011”,数码管显示“3”;当DIP开关为“0100”,数码管显示“4”;当DIP开关为“0101”,数码管显示“5”;当DIP开关为“0110”,数码管显示“6”;当DIP开关为“0111”,数码管显示“7”;当DIP开关为“1000”,数码管显示“8”;当DlP开关为“1001”,数码管显示“9”;当DIP开关为“1010”,数码管显示“A”;当DIP开关为“1011”,数码管显示“b”;当DIP开关为“1100”,数码管显示“C”;当DIP开关为“1101”,数码管显示“d”;当DIP开关为“1110”,数码管显示“E”;当DIP开关为“1111”,数码管显示“F”;按复位键后显示为“8”。4.2 结论单片机具有人机对话功能,开关,键盘是实现人机对话的主要输入设备,也是最常用的设备,通过它能发出各种限制指令和数据到单片机。而二极管,数码管,1.CD显示器是常用的输出设备,单片机接受一系列指令到,执行肯定功能后,可通过这些设备输出。我主要负责单片机外围硬件电路的设计,在初始设计时,由于惯性思维干脆在PO口接上拉电阻。后来检查发觉本次设计显示电路的数码管是共阳极的,低电平就可使其点亮,根本就用不到高电平,这样不光节约资源而且电路能简洁很多。在本次设计中有一个失误,数码管上没有加上拉电阻,5V电压干脆加到数码管上长时间工作很简洁烧毁。对这些细微环节问题的把握必需建立在坚固的专业学问基础之上。在刚起先学习单片机的并行I/O口时我不理解为什么要分通用口和专用口?为什么PO作为通用口输出时要接上拉电阻,为什么P作通用口输入读引脚时都要先向锁存器写入1?通过这次试验我逐个分析了P口的电路图结构图,是内部的电路的不同结构所导致的。这就要求我们敏捷运用所学学问,熟知并驾驭单片机片内硬件的基本结构和特点,这样才能在设计时做到心中有数。5 .收获与致谢通过这两周的课程设计,我学到了不少东西。课程设计不仅考察我们的动手实力,理论联系实际的实力,还考察我们的团队合作实力,小组成员分工合作共同探讨,主动努力完成了这次课程设计。这次课程设计不仅提高了自己的动手实力,拓展了自己的思维,增加了将理论学问和实际动手操作相结合的实力。虽然我们所设计的4位拨动开关限制数码管显示系统相对简洁一些,但是过程相当困难,刚起先焊接好元器件,程序烧写好后,我们的实物不能正常的工作,经过各成员的反复分析和推敲认定是七段数码管的封装有误。可是我们是依据课本上的封装图焊接元件的,这也能有错?事实是检验真理的唯一标准,我们将数码管的c、e管脚调换后,电路能正常工作了。通过本次课程设计,我受益匪浅。在此,真诚感谢两周来耐性辅导我们的申庆超老师和我们的每一位组员。感谢!6 .参考文献1张毅刚.单片机原理及应用M.北京:高等教化出版社,2009.2杜尚丰.CAN总线测控技术及其应用M.北京:电子工业出版社,2007.3杜树春.单片机C语言和汇编语言混合编程详解M.北京:北京航空航天高校出版社,2006.4胡汉才.单片机原理及其接口技术M.北京:清华高校出版社996.5施隆照.数码管显示驱动和键盘扫描限制器CH51及其应用J.国外电子元器件,2004.6谢嘉奎.电子线路M北京:高等教化出版社2004.7臧春华.电子线路设计与应用M.北京:高等教化出版社,2005.8王守中,聂元铭.51单片机开发与典型事例M.北京:人民邮电出版社,2009.9陈粤初.单片机应用系统技术与实践M.北京:北京航空航天高校出版社,1991.IOJ何立民.单片机应用技术选编M.北京:北京航空航天高校出版社,1993.7.附件7.1电路硬件原理图如图8所示。T-HT-.二FF一-m11111.当拨动开关为IOlO时,系统显示如图9所示。图9实物图A_BITEQU20HYIEQU21HEREQU22HSIEQU23HBAEQU24HP1_BUFEQU25H1.JMPPOWER.ONORGOOHORG30HPOWER_ON:;上电程序从今处起先进行MOVA_BIT,#OOH;初始化寄存器MOVPO,#OFFHMOVP1,#OFFHMOVP2,#OFFHMOVP3,#OFFH;读端口前初始化端口MOVA,PlMOVP1.BUF,A;读一下Pl端口,保存当前端口状态1.CA1.1.DE1.AYPPT:;调延时MOVA,PlCJNEA,P1_BUF,START;再读端口状态MOVPO,#OOH;没改变,显示81.JMPPPTSTART:;跳回重新检测1.CA1.1.DISP:调显示子函数MOVYI,#0MOVERJO;清每个开关按下代表的值寄存器MOVSI,#0MOVBA,#OMOVA_BIT,#OOH;清开关值和寄存器MOVA,Pl;读Pl口AN1.A,#OFH;屏蔽高4位(P1.7P1.4)1.CA1.1.DE1.AY;调延时,按键消抖JBPl.0,STARTl;P1.0口没合上,跳转推断P1.l口MOVYI,#1;P1.0口开关合上,键值赋1STARTl:JBP1.1,START2;P1.1口没合上,跳转推断P1.2口MOVER,#2;P1.l口开关合上,键值赋2START2:JBP1.2,START3;P1.2口没合上,跳转推断P1.3口MOVSI,#4;P1.2口开关合上,键值赋4START3:JBP1.3,START4;P1.3口没合上,跳转键值累加MOVBA,#8;P1.3口开关合上,键值赋8START4:C1.RCMOVA,YI;键值累加ADDA,ERADDA,SIADDA,BAMOVA_BIT,A1.JMPSTART;返回主循环DISP:MOVDPTR,#NUMTAB;指定查表起始地址MOVA,A_BIT;取和各位数MOVCA,A+DPTR;查各位数的7段代码MOVPO,A;送出各位的7段代码到PO口RETDE1.AY:;ImS延时子程序MOVR4,#250Dl:NOPNOPDJNZR4,D1RETNUMTAB:;对应数据代码DBOCOH,0F9H,0A4H,OBOH,99H,92H,82H,0F8HDB80H,90H,88H,83H,0C6H,0A1H,86H,8EHEND表1元件清单元器件名称型号规格数量单片机AT89S521晶振11.0592MHZ1发光二级管1共阳极数码管1桥堆2W101底座AT89S521电解电容30pf2电解电容100uf1极性电容22uf1极性电容100uf1拨动开关4位1一般掘键2电阻2k1电阻lk1378051指导老师评语:课程设计报告成果:,占总成果比例:30%课程设计其它环节成果:环节名称:考勤,成果:,占总成果比例:20%环节名称:综合,成果:,占总成果比例:50%总成绩:指导老师签字:年月日本次课程设计负责人看法:负责人签字: