4位拨动开关控制数码管显示系统设计.docx

上传人:牧羊曲112 文档编号:4881845 上传时间:2023-05-21 格式:DOCX 页数:23 大小:316.62KB
返回 下载 相关 举报
4位拨动开关控制数码管显示系统设计.docx_第1页
第1页 / 共23页
4位拨动开关控制数码管显示系统设计.docx_第2页
第2页 / 共23页
4位拨动开关控制数码管显示系统设计.docx_第3页
第3页 / 共23页
4位拨动开关控制数码管显示系统设计.docx_第4页
第4页 / 共23页
4位拨动开关控制数码管显示系统设计.docx_第5页
第5页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《4位拨动开关控制数码管显示系统设计.docx》由会员分享,可在线阅读,更多相关《4位拨动开关控制数码管显示系统设计.docx(23页珍藏版)》请在三一办公上搜索。

1、书 明 说 计 设 程 0F院(部):学生姓名:学 号:专业班级:指导教师:电子信息与电气工程学院课程名称:单片机技术 设计题目:4位拨动升关控制数码管显示系统设计20100204002010级电气工程及其自动化申庆超2013年 5月17 日课程设计任务书设计题目4位拨动开关控制数码管显示系统设计学生姓名喻志森所在院部电子信息与电气工程学院专业、年级、班电气工程及其自动化2010级设计要求:1. 具有电源开关及指示灯,有复位按键;2. 用DIP开关的低四位为输入,控制输出端数码管显示器的输出。实现如下功能:上电后默认 为“8”,调整4位DIP开关按二进制输入,按确定键后数码管显示对应的数字“0

2、” - “F”。学生应完成的工作:1. 通过单片机原理课程设计,使之较系统地、全面地掌握单片机应用系统的基本设计方法,设计 步骤,熟悉和掌电路参数的计算。2. 多位同学共同研究设计出最佳方案。3. 通过查阅手册和文献资料,培养学生分析和解决实际问题的能力与技巧。4. 进一步熟悉软件的正确使用方法,原理图设计。5. 学会撰写课程设计总结报告。6. 培养严肃认真的工作作风和严谨的科学态度。7. 该生负责系统硬件电路的设计。参考文献阅读:1 张毅刚,彭喜元,彭宇.单片机原理及应用M.北京:高等教育出版社,2009.2 杜树春.单片机C语言和汇编语言混合编程实例详解M.北京:北京航空航天大学出版社,

3、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、生(签名):4位DIP开关控制数码管显示系统设计摘 要:以单片机AT89S52芯片为核心,用7805、桥堆、拨动开关等器件设计一个控 制电路,实现由4位拨动开关控制共阳极数码管显示系统的设计。电路由电源模块、复 位模块、时钟模块、显示模块等。它由5V直流电源供电,用拨动开关的低四位为输入, 控制输出端数码管显示器的输出。用编程语言编写程序,系统能够实现如下功能:上电 后数码管默认显示为“8”,调整4位拨动开关按二进制输入,按确定键后数码管显示对 应的数字或字母“0” - “F”。关键词:4位拨动开关;单片机;共阳极数码管;编程语言目录1. 设计背景11.1单片机设计背景 11.2设计目的12.

5、 设计方案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卡,民用豪华轿车的安全保障系统,录像机、摄像机、全 自动洗衣机的控制,以及程控玩具、电子宠物等

6、等,这些都离不开单片机。更不 用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开 发与应用将造就一批计算机应用与智能化控制的科学家、工程师。1.2设计目的在理论学习的基础上,通过完成一个单片机多种资源应用并具有综合功能的小系统 目标板的设计与编程应用,能够增强我们理论联系实际的能力,进一步熟练相关专业基 础知识的综合应用,提高实际动手能力和设计能力。对电子电路、电子元器件、印制电 路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器 设备的使用技能等方面得到全面的锻炼和提高。2. 设计方案2.1方案一使用单片机P1 口,由4位DIP开关从P1 口低四

7、位输入,高四位输出,译码部分采 用74LS247译码器,送往七段数码管显示。本方案编程简单,占用I/O端口少,但电路 设计较复杂,硬件增多,成本增高。2.2方案二用四一十六译码器74LS47将四位二进制数转换成十进制“0-15”,根据七段数码管 显示特性将对应的数字表示出来。利用卡诺图化简输出表达式为最小项和形式,由与非 门构建驱动显示电路。该方案思路清晰,不涉及软件程序,完全由硬件电路构成。74LS47 有十六个输出端口,因此电路结构复杂。2.3方案三本方案的译码部分由单片机编程实现,P0 口接共阳数码管,由4位DIP开关从P1 口低四位输入,经软件译码,送往P0 口,在数码管显示相应的数字

8、。由于译码部分采 用了软件实现,省去了译码电路,成本降低,电路设计简单,但编程较方案一复杂,而 且占用I/O端口多,占用系统资源。综合考虑,确定采用方案三实现。3. 方案实施3.1系统组成框图设计以AT89S52芯片为核心,用7805、桥堆、拨动开关等器件设计一个控制电路,实 现由4位拨动开关控制共阳极数码管显示系统的设计。系统组成框图应包括单片机、电 源电路、复位电路、显示电路、时钟电路等。系统组成框图如图1所示。图1系统组成框图3.2输入输出电路设计本设计是以AT89S52单片机为核心部件来实现设计要求的,AT89S52单片机有四个 双向的八位I/O 口。本次实验只用到了 P0,P1 口,

9、以P0 口作为输出口,P1 口作为输入 口。本实验中我们是要以P0 口输出去控制显示模块,因此在设计时主要考虑P0 口作为 通用型I/O 口的输出特性。当P0 口作输出口时,输出为漏极开路,但是本实验用的是 共阳极数码管,低电平驱动,可以不加上拉电阻。这次实验用P1 口的低四位作拨码开 关的输入,P1 口作为输入口时,分为“读锁存器”和“读引脚”两种方式。“读引脚” 时,先向锁存器写1,使场效应管截止,这一步应在后期的程序中表达出来。同时P1 口的高四位屏蔽。电路如图2所示。图2输入输出电路3.3时钟电路和复位电路设计AT89S52单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍

10、一 拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机 系统的稳定性。本设计采用的时钟电路如图3所示。图3时钟电路AT89S52的复位是由外部复位电路实现,本设计除了上电自动复位外,还设计了按键手动复位,利用RC微分电路产生的正脉冲来实现。电路如图4所示。图4复位电路3.4电源电路为了使单片机正常工作,我们设计了电源电路。通过电源电路实现变压、整流、滤 波和稳压的作用,使单片机工作在稳定的5V直流激励下。电源电路的电路图如图5所 示。图5电源电路3.5程序设计根据要求,上电后默认为“8”然后波动DIP开关,数码管显示对应的数字。为了能准确辨认显示的内容我们要区分字母的

11、大小写。数码管对应显示的内容为“0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F” 程序流程图如图 6 所示。图6程序流程图DIP开关在断开和闭合过程中呈现一串负脉冲,抖动时间的长短与开关的机械特性 有关。常用的开关去抖动方法是用软件延时来消除,在检测到有开关打开时,该管脚变 为低电平,执行一段延时1mS的子程序后,确认该管脚电平是否仍为低电平,这确认该 开关确实打开。本次试验用的约是12MHz的晶振,一个机器周期为1uS,需要1000个机 器周期的延时,。而一个八位的寄存器最多能表示到255,那么要实现要求就只能用延时 程序的嵌套。把要在数码管上显示的内容“ 1-F”所点亮的发

12、光二极管的段用二进制表 示出来,构造查表的表格。将从P1.0至P1.3管脚的值按其对应的“权”相加的和作为 查表的的变址,以表格的首地址作为基址打造查表指令。按要求用汇编语言编写如下。 程序见附件。3.6仿真结果在Proteus软件中搭建仿真电路,并在软件Keil中用汇编语言编程并将编译的无误的程序转换成十六进制的hex文件导入到Proteus中。经过反复调整和修改仿真结果完全符合课题要求。如拨动开关为0010时,对应仿真结果如图7所示。-51 .162-J-h Q.81-4r ik hr ik hr* ik *1二XTALiP0.0/AD0P0.i/ADiP0.2/AD2XTAL2P0.3/

13、AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.i/A9P2.2/Ai0PSENP2.3/AiiALEP2.4/Ai2EAP2.5/Ai3P2.6/Ai4P2.7/Ai5Pi.0/T2P3.0/RXDPi.i/T2EXP3.i/!XDPi.2P3.2/INT0Pi.3P3.3/INTiPi.4P3.4/T0Pi.5P3.5ZHPi.6P3.6/WR.r ik h r ik h r ik h r ik h r ik nr1 ik 气 ik38363534图7仿真结果4. 结果与结论4.1结果将元器件焊好检查无误后,把程序下载到单片机内,然后接到9V

14、电源上调试。调 试结果如下所示。上电后默认为“8”,调整4位DIP开关按二进制输入。当DIP开关为“0000”,数码管显示“0”;当DIP开关为“0001”,数码管显示“ 1”;当DIP开关为“0010”,数码管显示“2”;当DIP开关为“0011”,数码管显示“3”;当DIP开关为“0100”,数码管显示“4”;当DIP开关为“0101”,数码管显示“5”;当DIP开关为“0110”,数码管显示“6”;当DIP开关为“0111”,数码管显示“7”;当DIP开关为“1000”,数码管显示“8”;当DIP开关为“1001”,数码管显示“9”;当DIP开关为“1010”,数码管显示“A”;当DIP

15、开关为“1011”,数码管显示“b”;当DIP开关为“1100”,数码管显示“C”;当DIP开关为“1101”,数码管显示“d”;当DIP开关为“1110”,数码管显示“E”;当DIP开关为“1111”,数码管显示“F”;按复位键后显示为“8”。4.2结论单片机具有人机对话功能,开关,键盘是实现人机对话的主要输入设备,也是最常 用的设备,通过它能发出各种控制指令和数据到单片机。而二极管,数码管,LCD显示 器是常用的输出设备,单片机接受一系列指令到,执行一定功能后,可通过这些设备输 出。我主要负责单片机外围硬件电路的设计,在初始设计时,由于惯性思维直接在P0 口接上拉电阻。后来检查发现本次设计

16、显示电路的数码管是共阳极的,低电平就可使其 点亮,根本就用不到高电平,这样不光节约资源而且电路能简洁许多。在本次设计中有 一个失误,数码管上没有加上拉电阻,5V电压直接加到数码管上长时间工作很容易烧毁。 对这些细节问题的把握必须建立在牢固的专业知识基础之上。在刚开始学习单片机的并 行I/O 口时我不理解为什么要分通用口和专用口?为什么P0 口作为通用口输出时要接 上拉电阻,为什么P 口作通用口输入读引脚时都要先向锁存器写入1?通过这次实验我 逐个分析了P 口的电路图结构图,是内部的电路的不同结构所导致的。这就要求我们灵 活运用所学知识,熟知并掌握单片机片内硬件的基本结构和特点,这样才能在设计时

17、做 到心中有数。5. 收获与致谢通过这两周的课程设计,我学到了不少东西。课程设计不仅考察我们的动手能力, 理论联系实际的能力,还考察我们的团队合作能力,小组成员分工合作共同探讨,积极 努力完成了这次课程设计。这次课程设计不仅提高了自己的动手能力,拓展了自己的思 维,增强了将理论知识和实际动手操作相结合的能力。虽然我们所设计的4位拨动开关 控制数码管显示系统相对简单一些,但是过程相当复杂,刚开始焊接好元器件,程序烧 写好后,我们的实物不能正常的工作,经过各成员的反复分析和推敲认定是七段数码管 的封装有误。可是我们是按照课本上的封装图焊接元件的,这也能有错?事实是检验真 理的唯一标准,我们将数码管

18、的c、e管脚调换后,电路能正常工作了。通过本次课程设计,我受益匪浅。在此,真诚感谢两周来耐心辅导我们的申庆超老 师和我们的每一位组员。谢谢!6.参考文献1 张毅刚.单片机原理及应用M.北京:高等教育出版社,2009.2 杜尚丰.CAN总线测控技术及其应用M.北京:电子工业出版社,2007.3 杜树春.单片机C语言和汇编语言混合编程详解M.北京:北京航空航天大学出版社,2006.4 胡汉才.单片机原理及其接口技术M.北京:清华大学出版社,1996.5 施隆照.数码管显示驱动和键盘扫描控制器CH51及其应用J.国外电子元器件,2004.6 谢嘉奎.电子线路M.北京:高等教育出版社2004.7 臧春

19、华.电子线路设计与应用M.北京:高等教育出版社,2005.8 王守中,聂元铭.51单片机开发与典型事例M.北京:人民邮电出版社,2009.9 陈粤初.单片机应用系统技术与实践M.北京:北京航空航天大学出版社,1991.10 何立民.单片机应用技术选编M.北京:北京航空航天大学出版社,1993.7.1电路硬件原理图如图8所示。7.附件图8电路原理图当拨动开关为1010时,系统显示如图9所示。图9实物图A_BIT EQU 20HYI EQU 21HEREQU 22HSIEQU 23HBAEQU 24HP1_BUFEQU 25HLJMP POWER_ONORG 00HORG 30HPOWER_ON:

20、;上电程序从此处开始进行MOV A_BIT,#00H;初始化寄存器MOV P0,#0FFH;读端口前初始化端口MOV P1,#0FFHMOV P2,#0FFHMOV P3,#0FFHMOV A,P1;读一下P1端口,保存当前端口状态MOV P1_BUF,ALCALL DELAY;调延时PPT:MOVA,P1;再读端口状态CJNEA,P1_BUF,STARTMOVP0,#00H;没变化,显示8LJMPPPT;跳回重新检测START:LCALL DISP;调显示子函数MOVYI,#0;清每个开关按下代表的值寄存器MOVER,#0MOV SI,#0MOVBA,#0MOVA_BIT,#00H;清开关值

21、和寄存器MOVA,P1;读 P1 口ANLA,#0FH;屏敝高 4 位(P1.7-P1.4)LCALLDELAY;调延时,按键消抖JBP1.0,START1;P1.0 口没合上,跳转判断P1.1 口MOVYI,#1;P1.0 口开关合上,键值赋1START1:JBP1.1,START2;P1.1 口没合上,跳转判断P1.2 口MOVER,#2;P1.1 口开关合上,键值赋2START2:JBP1.2,START3;P1.2 口没合上,跳转判断P1.3 口MOVSI,#4;P1.2 口开关合上,键值赋4START3:JBP1.3,START4;P1.3 口没合上,跳转键值累加MOVBA,#8;P

22、1.3 口开大合上,键值赋8START4:CLRCMOVA,YI;键值累加ADDA,ERADDA,SIADDA,BAMOVA_BIT,ALJMPSTART;返回主循环DISP:DPTR,#NUMTABMOV;指定查表起始地址MOVA,A_BIT;取和各位数MOVCA,A+DPTR;查各位数的7段代码MOVP0,A;送出各位的7段代码到P0RETDELAY:;1ms延时子程序MOV R4,#250D1: NOPNOPDJNZ R4,D1RETNUMTAB:;对应数据代码DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB 80H,90H,88H,83H,0C6H,0A1H,86H,8EHEND7.4元器件清单如表1所示。表1元件清单元器件名称型号规格数量单片机AT89S521晶振11.0592MHZ1发光二级管1共阳极数码管1桥堆2W101底座AT89S521电解电容30pf2电解电容100uf1极性电容22uf1极性电容100uf1拨动开关4位1普通摁键2电阻2kQ1电阻1kQ1378051指导教师评语:课程设计报告成绩:,占总成绩比例:30%课程设计其它环节成绩:环节名称:考勤,成绩:,占总成绩比例:20%环节名称:综合,成绩:,占总成绩比例:50%总成绩:指导教师签字:年月日本次课程设计负责人意见:负责人签字:年月日

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号