当前位置:文档之家› 4位拨动开关控制数码管显示系统设计

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

课程设计说明书课程名称:《单片机技术》设计题目:4位拨动开关控制数码管显示系统设计院(部):电子信息与电气工程学院学生姓名:学号:2010020400专业班级:2010级电气工程及其自动化指导教师:申庆超2013年 5 月17 日课程设计任务书4位DIP开关控制数码管显示系统设计摘要:以单片机AT89S52芯片为核心,用7805、桥堆、拨动开关等器件设计一个控制电路,实现由4位拨动开关控制共阳极数码管显示系统的设计。

电路由电源模块、复位模块、时钟模块、显示模块等。

它由5V直流电源供电,用拨动开关的低四位为输入,控制输出端数码管显示器的输出。

用编程语言编写程序,系统能够实现如下功能:上电后数码管默认显示为“8”,调整4位拨动开关按二进制输入,按确定键后数码管显示对应的数字或字母“0”-“F”。

关键词:4位拨动开关;单片机;共阳极数码管;编程语言目录1. 设计背景 (1)1.1单片机设计背景 (1)1.2设计目的 (1)2.设计方案 (2)2.1方案一 (2)2.2方案二 (2)2.3方案三 (3)3.方案实施 (3)3.1系统组成框图 (4)3.2输入输出电路设计 (4)3.3时钟电路与复位电路设计 (5)3.4电源电路设计 (6)3.5程序设计 (6)3.6仿真结果 (7)4.结果与结论 (9)4.1结果 (9)4.2结论 (9)5. 收获与致谢 (10)6. 参考文献 (10)7.附件 (11)1. 设计背景1.1单片机设计背景目前单片机渗透到我们生活的各个领域。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械了。

因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

1.2设计目的在理论学习的基础上,通过完成一个单片机多种资源应用并具有综合功能的小系统目标板的设计与编程应用,能够增强我们理论联系实际的能力,进一步熟练相关专业基础知识的综合应用,提高实际动手能力和设计能力。

对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到全面的锻炼和提高。

2.1方案一使用单片机P1口,由4位DIP开关从P1口低四位输入,高四位输出,译码部分采用74LS247译码器,送往七段数码管显示。

本方案编程简单,占用I/O端口少,但电路设计较复杂,硬件增多,成本增高。

2.2方案二用四—十六译码器74LS47将四位二进制数转换成十进制“0-15”,根据七段数码管显示特性将对应的数字表示出来。

利用卡诺图化简输出表达式为最小项和形式,由与非门构建驱动显示电路。

该方案思路清晰,不涉及软件程序,完全由硬件电路构成。

74LS47有十六个输出端口,因此电路结构复杂。

2.3方案三本方案的译码部分由单片机编程实现,P0口接共阳数码管,由4位DIP开关从P1口低四位输入,经软件译码,送往P0口,在数码管显示相应的数字。

由于译码部分采用了软件实现,省去了译码电路,成本降低,电路设计简单,但编程较方案一复杂,而且占用I/O端口多,占用系统资源。

综合考虑,确定采用方案三实现。

3.1系统组成框图设计以AT89S52芯片为核心,用7805、桥堆、拨动开关等器件设计一个控制电路,实现由4位拨动开关控制共阳极数码管显示系统的设计。

系统组成框图应包括单片机、电源电路、复位电路、显示电路、时钟电路等。

系统组成框图如图1所示。

图1 系统组成框图3.2输入输出电路设计本设计是以AT89S52单片机为核心部件来实现设计要求的,AT89S52单片机有四个双向的八位I/O 口。

本次实验只用到了P0,P1口,以P0口作为输出口,P1口作为输入口。

本实验中我们是要以P0口输出去控制显示模块,因此在设计时主要考虑P0口作为通用型I/O 口的输出特性。

当P0口作输出口时,输出为漏极开路,但是本实验用的是共阳极数码管,低电平驱动,可以不加上拉电阻。

这次实验用P1口的低四位作拨码开关的输入,P1口作为输入口时,分为“读锁存器”和“读引脚”两种方式。

“读引脚”时,先向锁存器写1,使场效应管截止,这一步应在后期的程序中表达出来。

同时P1口的高四位屏蔽。

电路如图2所示。

图2 输入输出电路3.3时钟电路和复位电路设计AT89S52单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作。

因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。

本设计采用的时钟电路如图3所示。

图3 时钟电路AT89S52的复位是由外部复位电路实现,本设计除了上电自动复位外,还设计了按键手动复位,利用RC微分电路产生的正脉冲来实现。

电路如图4所示。

图4 复位电路3.4电源电路为了使单片机正常工作,我们设计了电源电路。

通过电源电路实现变压、整流、滤波和稳压的作用,使单片机工作在稳定的5V直流激励下。

电源电路的电路图如图5所示。

图5 电源电路3.5程序设计根据要求,上电后默认为“8”然后波动DIP开关,数码管显示对应的数字。

为了能准确辨认显示的内容我们要区分字母的大小写。

数码管对应显示的内容为“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”所点亮的发光二极管的段用二进制表示出来,构造查表的表格。

将从P1.0至P1.3管脚的值按其对应的“权”相加的和作为查表的的变址,以表格的首地址作为基址打造查表指令。

按要求用汇编语言编写如下。

程序见附件。

3.6仿真结果在Proteus软件中搭建仿真电路,并在软件Keil中用汇编语言编程并将编译的无误的程序转换成十六进制的hex 文件导入到Proteus中。

经过反复调整和修改仿真结果完全符合课题要求。

如拨动开关为0010时,对应仿真结果如图7所示。

图7 仿真结果4. 结果与结论4.1结果将元器件焊好检查无误后,把程序下载到单片机内,然后接到9V电源上调试。

调试结果如下所示。

上电后默认为“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开关为“1011”,数码管显示“b”;当DIP开关为“1100”,数码管显示“C”;当DIP开关为“1101”,数码管显示“d”;当DIP开关为“1110”,数码管显示“E”;当DIP开关为“1111”,数码管显示“F”;按复位键后显示为“8”。

4.2结论单片机具有人机对话功能,开关,键盘是实现人机对话的主要输入设备,也是最常用的设备,通过它能发出各种控制指令和数据到单片机。

而二极管,数码管,LCD显示器是常用的输出设备,单片机接受一系列指令到,执行一定功能后,可通过这些设备输出。

我主要负责单片机外围硬件电路的设计,在初始设计时,由于惯性思维直接在P0口接上拉电阻。

后来检查发现本次设计显示电路的数码管是共阳极的,低电平就可使其点亮,根本就用不到高电平,这样不光节约资源而且电路能简洁许多。

在本次设计中有一个失误,数码管上没有加上拉电阻,5V电压直接加到数码管上长时间工作很容易烧毁。

对这些细节问题的把握必须建立在牢固的专业知识基础之上。

在刚开始学习单片机的并行I/O口时我不理解为什么要分通用口和专用口?为什么P0口作为通用口输出时要接上拉电阻,为什么P口作通用口输入读引脚时都要先向锁存器写入1?通过这次实验我逐个分析了P口的电路图结构图,是内部的电路的不同结构所导致的。

这就要求我们灵活运用所学知识,熟知并掌握单片机片内硬件的基本结构和特点,这样才能在设计时做到心中有数。

5. 收获与致谢通过这两周的课程设计,我学到了不少东西。

课程设计不仅考察我们的动手能力,理论联系实际的能力,还考察我们的团队合作能力,小组成员分工合作共同探讨,积极努力完成了这次课程设计。

这次课程设计不仅提高了自己的动手能力,拓展了自己的思维,增强了将理论知识和实际动手操作相结合的能力。

虽然我们所设计的4位拨动开关控制数码管显示系统相对简单一些,但是过程相当复杂,刚开始焊接好元器件,程序烧写好后,我们的实物不能正常的工作,经过各成员的反复分析和推敲认定是七段数码管的封装有误。

可是我们是按照课本上的封装图焊接元件的,这也能有错?事实是检验真理的唯一标准,我们将数码管的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] 臧春华. 电子线路设计与应用[M]. 北京:高等教育出版社,2005.[8] 王守中,聂元铭. 51单片机开发与典型事例[M]. 北京:人民邮电出版社,2009.[9] 陈粤初. 单片机应用系统技术与实践[M]. 北京:北京航空航天大学出版社,1991.[10] 何立民. 单片机应用技术选编[M]. 北京:北京航空航天大学出版社,1993.7. 附件7.1电路硬件原理图如图8所示。

相关主题