4位DIP开关控制数码管课程设计.docx

上传人:b****5 文档编号:7380167 上传时间:2023-01-23 格式:DOCX 页数:19 大小:265.59KB
下载 相关 举报
4位DIP开关控制数码管课程设计.docx_第1页
第1页 / 共19页
4位DIP开关控制数码管课程设计.docx_第2页
第2页 / 共19页
4位DIP开关控制数码管课程设计.docx_第3页
第3页 / 共19页
4位DIP开关控制数码管课程设计.docx_第4页
第4页 / 共19页
4位DIP开关控制数码管课程设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

4位DIP开关控制数码管课程设计.docx

《4位DIP开关控制数码管课程设计.docx》由会员分享,可在线阅读,更多相关《4位DIP开关控制数码管课程设计.docx(19页珍藏版)》请在冰豆网上搜索。

4位DIP开关控制数码管课程设计.docx

4位DIP开关控制数码管课程设计

 

课程设计说明书

 

课程名称:

《单片机技术》

设计题目:

4位DIP开关控制数码管

显示系统设计

学院:

电子信息与电气工程学院

学生姓名:

学号:

201106010066

专业班级:

自动化级

指导教师:

 

2014年6月13日

课程设计任务书

设计题目

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

学生姓名

所在学院

电子信息与电气工程学院

专业、年级、班

设计要求:

1.电源电路具有电源开关及指示灯,有复位按键;

2.高4位开关屏蔽;

3.用4位拨码开关为输入,控制数码管显示器的输出;

4.实现功能:

通电复位后数码管全显,即显“8”,数码管对应4位DIP开关的二进制输入显示十六进制全部字符,从“0”到“F”。

学生应完成的工作:

1.了解单片机系统的设计方法,设计步骤;

2.查找并收集相关资料书籍;

3.完成硬件、软件原理图和流程图的设计;

5.对系统进行仿真;

6.焊接电路板,调试系统;

7.认真撰写课程设计报告;

参考文献阅读:

[1]张毅刚.单片机原理及应用[M].北京:

高等教育出版社,2010.

[2]杜尚丰.CAN总线测控技术及其应用[M].北京:

电子工业出版社,2007.

[3]张毅刚.单片机原理与应用设计[M].北京:

电子工业出版社,2008.

[4]童诗白,华成英.模拟电子技术基础(第四版)[M].北京:

高等教育出版社,2006.

工作计划:

6月3日:

阅读课程设计任务书,了解课程设计整体情况,查阅资料;6月4日:

根据课题需要,拟定系统硬件方案;6月5日:

讨论,优化并确定系统硬件方案;6月6日:

讨论并确定程序流程,逐步开始撰写课程设计报告;6月7日-8日:

根据程序流程图,编写程序;6月9日:

讨论、优化最终完成系统软件设计;6月10日-11日:

系统硬件电路制作;6月12日:

烧录程序,系统调试;6月13日:

完成课程设计报告的撰写,作品上交。

任务下达日期:

2014年6月3日

任务完成日期:

2014年6月13日

指导教师(签名):

学生(签名):

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

摘要:

本次课程设计以AT89S52单片机为电路的核心,通过7805、桥堆2W10、四位DIP开关、时钟晶振12M、四脚按键等元件组成直流稳压电源和显示控制电路。

然后用汇编语言编写数码管控制程序,通过写入单片机实现四位DIP控制共阳极数码管显示。

在本次设计中,控制系统由+5V直流电源供电,而+5V直流电由直流稳压电源提供。

利用拨动开关的低四位输入控制信号,每一位拨码开关接通时为“1”,断开时为“0”,以四位二进制的方式控制数码管显示器的输出,拨码范围为“0000”-“1111”,对应数字分别为“0”-“F”,而按下复位按键后,程序复位到初始状态,此时数码管全亮,即显示数字“8”的字样。

关键词:

AT89S52芯片;四位DIP开关;共阳极数码管;复位按键。

 

目录

1.设计背景……………….…………….………………………………………1

1.1单片机设计背景………….…………………………………………………1

1.2设计目的………….…………………………………………………………1

2.设计方案………………………………………………………..……………1

2.1方案一……………………………………………………………………1

2.2方案二……………………………………………………………………1

3.方案实施………………………………………………………..……………2

3.1单片机基本结构……………………………………………………………2

3.2硬件模块电路……………………………………………………………3

3.3软件程序设计……………………………………………………………5

3.4软件模拟……………………………….…………………………………5

3.5PCB制作………………………………….…..………………………..……6

3.6安装与调试………………………………………..………………………7

4.结果与结论…..……………………………………………….….…………7

4.1结果………………………………………………………….….…………7

4.2结论…………………………………..……………….…….…..…………8

5.收获与致谢…………………………………………………………………9

6.参考文献………………………..………….………………………………9

7.附件………………………………….………………………...…………10

7.1程序…………………..………………………..…………………..………10

7.2电路原理图…………..………………………..…………………..………12

7.3PCB布线图………….…….……………….……………….……………14

7.4元器件清单………………………………………………………….……15

7.5实物图……………………..……………………………………………..16

1.设计背景

1.1单片机设计背景

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能,可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路,集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。

本次设计使用的单片机是AT89S52,是一种低功耗、高性能CMOS8位微控制器,具有功能全面、技术成熟、性价比高等优点,在实践生产中被大量使用,可为许多嵌入式控制应用系统提供高性价比的解决方案。

1.2设计目的

以之前在书本上所学的单片机基础知识为主导,通过对相关资料的查询,设计完成一个由AT89S52控制的四位拨动开关数码管显示系统,从而加深对之前所学内容的认识,加深对单片机工作过程的理解,同时也很好的对大二所学习的电路板设计、制作进行了巩固复习,提高自己的设计能力和实际动手能力。

2.设计方案

2.1方案一

4位DIP开关从AT89S52的P1口低四位输入,高四位输出,经74LS247译码器译码后控制共阳极数码管的显示,P3口接刷新电路,每次拨动开关都要刷新一次电路。

该方案虽然编程相对简单,但原件较多,设计繁琐,且没有发挥单片机的相应优势,不符合最简原则。

2.2方案二

相比第一种方案,方案二的译码部分改由了通过单片机编程实现,共阳数码管接在P0口,由4位DIP开关从P1口低四位输入,经预先编写的程序译码,P0口输出到数码管显示相应的数字。

由于译码部分采用了软件编程实现,省去了译码电路,电路简单,能更好的发挥单片机功能,符合本次课程设计的初衷,因此选用了第二个方案。

3.方案实施

3.1单片机基本结构

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器。

单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。

AT89S52单片机的引脚分布如图1所示:

图1AT89S52引脚图

3.1.1单片机引脚介绍:

VCC:

电源。

GND:

地线。

P0口:

8位漏极开路双向I/O口,每个引脚可吸收8TTL门电流。

当P1口的管脚第一次写“1”时,被定义为高阻输入。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

P3口也可作为AT89C51的一些特殊功能口。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

系统由4位拨动开关、AT89S52单片机、时钟电路、复位电路、一位共阳极数码管、输入输出电路组成。

3.2硬件模块电路

3.2.1电源电路设计

电源电路由桥堆2W10、1个22uF电解电容、7805、1个33pF瓷片电容、一个电源指示灯和一个10k欧姆电阻组成,通过电源电路实现整流、滤波和稳压的作用,能够输出5V的稳定直流电压使单片机工作在稳定的5V直流激励下。

但输出电压并打不到准确的5V直流。

电源电路模块原理图如图2所示。

图2电源电路模块原理图

3.2.2时钟电路设计

时钟电路由2个33pF的瓷片电容和1个12M晶振,连接到AT89S52的18、19管脚,两电容之间通过导线接地。

AT89S52单片机各部件都以晶振产生的时钟控制信号为基准,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性,本次课程设计的电路为外部时钟方式,如图4所示。

图3时钟电路设计图

3.2.3复位电路设计

AT89S52的复位是由外部的复位电路实现的。

设计复位电路是通过四角按键高电平复位,由1个22uF的电解电容和1个按键及1个1k欧姆的电阻组成,电路模块一端接VCC一端接AT89S52的RST引脚。

电路如图5所示。

图4复位电路设计图

3.2.4数码管电路设计

常见的数码管由七个条状和一个点状发光二极管制成,称为七段数码管,如图6所示。

图5数码管设计图

共阳极数码管里面的发光二极管阳极接在一起作为公共引脚,在正常使用时此引脚接电源正极,当发光二极管的阴极接低电平时,发光二极管被点亮,从而显示相应的数字。

3.3软件程序设计

程序编写要求数码管刚通电时全亮,即显示数字“8”,然后等待4位按键动作,当有按键按下,单片机P1口读入数据相应数据,即4位二进制信号,输出到P0在数码管显示相应数字,程序流程图如图6所示。

软件程序见附件7.1。

图6程序流程图

图6程序流程图

3.4软件模拟

原理图设计完成之后就可以利用电脑预先进行模拟,从而检查设计的可行性。

本次课程设计使用的有Proteus7Professional和KeilC51这两个软件。

首先在Proteus7上新建设计,然后根据之前设计的方案就行绘图,这需要注意调整选择正确的器件和相关的器件参数,将器件按正确的顺序链接,完成后进行详细的检查,确保绘图无误。

整体绘制的模拟电路图见附件7.1。

Proteus7绘图完成后就进入了正式的模拟测试阶段,测试之前就需要使用另外一个重要的编程软件KeilC51进行编程文件的导出。

打开KeilC51,新建一个工程保存到相应文件夹,然后选择相应的单片机型号,本次课程设计使用的是AT89S52,选择完毕之后工程项目就建立了。

立了工程项目之后就是为工程添加程序,点击“文件”中的“新建”,新建一个空白文档,在这个空白文档中写入之前编写好的单片机程序,检查无误后保存文件,保存文件时,其文件名要与前面建立的工程名相同,其扩展名必须为“.Asm”,保存后回到编程界面会发现文档彩色语法会起了作用,关键字自动实行了彩色显示。

保存了“.Asm”文件后,在左侧用鼠标右键点击“SourceGroup1”,在弹出的菜单中选“增加文件到组SourceGroup1”将刚保存的程序添加到工程中。

在接下来弹出的窗口中,选择刚刚保存的“.Asm”文件,点击“Add”,再按“关闭”,文件就成功添加到了工程中。

向工程添加了程序文件后,鼠标右键点击“TarGet1”,在弹出的菜单中选则“目标Target1属性”打开对话框,在打开的话框中,选择“输出”选项卡,在这个选项卡中勾选“E生成hex文件”后,点击“确定”。

最后,从菜单的“工程”中执行“R重新构造所有目标”,创建“hex”文件,它就是要烧写到单片机中的最终代码,也就是单片机可以执行的程序,生成之后就可以写入单片机。

完成后回到Proteus7软件中,双击AT89S52,在“programfile”中选择刚刚生成的“.hex”文件,模拟电路图的程序写入就完成了。

点击Proteus7左下角的运行按键就可进行模拟实现四位DIP控制数码管显示十六进制“1-F”了。

3.5PCB制作

在布线前要在AltiumDesigner中完成对电路图元件的封装。

在封装时,要注意,因为对于同一个元件可能有多种封装方式。

封装时根据所给元件的类型选择合适的封装对各个元件进行封装。

封装完成后,把原理图导入PCB板。

导入PCB板后,再对元件的位置重新手动摆放,使尽量少的线重叠,以减少布线时的跳线出现。

根据ProteusPro仿真原理图画出AltiumDesigner原理图,根据需求布线布局,画成的PCB图见附件7.2。

作PCB中,根据制作过程的要求,制成单层板,PCB制版中焊盘半径设置为0.9mm,电源和地导线的宽度设置为0.6到0.8mm,信号线设置为0.5mm,当导线从两个焊盘之间穿过时设置宽度为0.5mm。

印刷电路板的流程:

首先,在制作单层板时把PCB布线图打印为PDF文件,使用油光纸,留bottomlayer、multi-layer、keep-outlayer;其次,把覆铜板切割成设计要求的尺寸,把打印好的图纸放在覆铜板上,并在转印机上转印,转印后如果有个别断线可用黑色油墨笔补全;再次,将做好的板子放在盐酸溶液中腐蚀,直到导线周围的铜箔被腐蚀掉然后洗净钻孔,之后用砂纸把覆铜板导线表面的墨擦掉,把铜露出来,在打磨过程中注意不要将比较细的铜线磨掉了。

3.6安装与调试

3.6.1测量电压法

首先要确认的是各芯片电源引脚的电压是否正常,其次检查各种参考电压是否正常,另外还有各点的工作电压是否正常等。

3.6.2信号注入法

将信号源加至输入端,然后依次往后测量各点的波形,看是否正常,以找到故障点。

有时我们也会用更简单的办法,例如用手握一个镊子,去碰触各级的输入端,看输出端是否有反应,这在音频、视频等放大电路中常使用(但要注意,热底板的电路或者电压高的电路,不能使用此法,否则可能会导致触电)。

如果碰前一级没有反应,而碰后一级有反应,则说明问题出在前一级,应重点检查。

3.6.3其它的寻找故障点的方法

例如看、听、闻、摸等。

听工作声音是否正常,用手去试探器件的温度是否正常,检查是否有异味。

4.结果与结论

4.1结果

电路板成功焊接,检查焊接无误后,在指导老师处向AT89S52芯片中烧入之前编程生成的“hex”程序文件,通电后打开开关,数码管默认显示为“8”,调整拨动4位DIP开关按二进制“0000-1111”进行输入:

拨码开关位为“0000”,数码管显示“0”;

拨码开关位为“0001”,数码管显示“1”;

拨码开关位为“0010”,数码管显示“2”;

拨码开关位为“0011”,数码管显示“3”;

拨码开关位为“0100”,数码管显示“4”;

拨码开关位为“0101”,数码管显示“5”;

拨码开关位为“0110”,数码管显示“6”;

拨码开关位为“0111”,数码管显示“7”;

拨码开关位为“1000”,数码管显示“8”;

拨码开关位为“1001”,数码管显示“9”;

拨码开关位为“1010”,数码管显示“A”;

拨码开关位为“1011”,数码管显示“B”;

拨码开关位为“1100”,数码管显示“C”;

拨码开关位为“1101”,数码管显示“D”;

拨码开关位为“1110”,数码管显示“E”;

拨码开关位为“1111”,数码管显示“F”;

按复位键后数码管显示为“8”。

4.2结论

本次课程设计主要依靠了单片机的人机对话,以4为DIP开关作为输入设备,通过关断将信号输出到单片机AT89S52的输入端口中,经单片机译码,转化为控制端数码管显示器的输出信号,从而使数码管上显示的数字可以得出之前设计要求的相应内容,在本次课程设计中就是实现1到F的十六个字符的显示。

虽然本次课程设计成功实现了预想功能,但中间也因为对知识技巧把握的不好而出了一些问题,例如在PCB板的设计中,因为并没有事先对数码管元件进行相应的引脚功能的测量和详细的元件参数查询,在进行AltiumDesigner选择原件时错误的将本应是a、b、c、d、e、f、g、DP、A、A对应7、6、4、2、1、9、10、5、3、8封装引脚的封装选择成了对应10、9、8、5、4、2、3、7、1、6封装引脚的错误封装,造成了数码管引脚的错位,不过因为发现及时,通过跳线进行了相应的补救,虽然影响了整体的布局和美观度,但也终归是实现了相应的设计要求。

这也给了我一个教训,在拿到元件之后第一件事就是要详细的搞清楚元件的封装和引脚,看看是否和自己设计时电路时预想使用的是一样的,不然轻者设计制作会失败无法工作,重则很可能会烧毁器件甚至发生事故。

5.收获与致谢

经过两个星期的单片机的课程设计,我们成功制作并实现了4位DIP开关控制数码管显示系统。

从最初的选题到制作直到完成论文,其间,查找资料,老师指导,与同学交流,反复修改,每一个过程都是对自己能力的一次检验和充实。

通过这次实践,我了解了AT89S52单片机的用法及工作原理,熟悉了单片机电路的设计步骤,更好的掌握单片机的硬件特性以及汇编语言的程序设计,锻炼了设计实践能力,学会了DXP以及Proteus7和keilc51软件的基本使用,为以后的学习奠定了一定的实践基础。

此次设计是对我专业知识和专业基础知识一次实际检验和巩固,同时也是走向工作岗位前的一次热身。

同时此次设计也暴露出自己专业基础的很多不足之处,比如缺乏综合应用专业知识的能力,对元件、软件的不了解等等,这都促使我对进一步学习产生了更浓厚的兴趣。

这次课程设计要特别感谢李志瑞老师的耐心辅导以及在设计和论文创作中给出的宝贵建议和意见,在他的指导下,我收获很多,对学习更加感兴趣,自身能力也得到了提升。

在此我对李老师表示由衷的感谢。

 

6.参考文献

[1]张毅刚.单片机原理及应用[M].北京:

高等教育出版社,2010.

[2]杜尚丰.CAN总线测控技术及其应用[M].北京:

电子工业出版社,2007.

[3]施隆照.数码管显示驱动和键盘扫描控制器CH51及其应用[J].国外电子元器件,2004.

[4]童诗白,华成英.模拟电子技术基础(第四版)[M].北京:

高等教育出版社,2006.

[5]臧春华.电子线路设计与应用[M].北京:

高等教育出版社,2005.

[6]谢嘉奎.电子线路.北京:

高等教育出版社[M].2004.

[7]王守中,聂元铭.51单片机开发与典型事例[M].北京:

人民邮电出版社,2009.

 

7.附件

7.1程序

A_BITEQU20H

YIEQU21H

EREQU22H

SIEQU23H

BAEQU24H

P1_BUFEQU25H

ORG00H

LJMPPOWER_ON

ORG30H

POWER_ON:

;上电程序从此处开始进行

MOVA_BIT,#00H;初始化寄存器

MOVP0,#0FFH;读端口前初始化端口

MOVP1,#0FFH

MOVP2,#0FFH

MOVP3,#0FFH

MOVA,P1;读一下P1端口,保存当前端口状态

MOVP1_BUF,A

LCALLDELAY;调延时

PPT:

MOVA,P1;再读端口状态

CJNEA,P1_BUF,START

MOVP0,#00H;没变化,显示8

LJMPPPT;跳回重新检测

START:

LCALLDISP;调显示子函数

MOVYI,#0;清每个开关按下代表的值寄存器

MOVER,#0

MOVSI,#0

MOVBA,#0

MOVA_BIT,#00H;清开关值和寄存器

MOVA,P1;读P1口

ANLA,#0FH;屏蔽高4位(P1.7-P1.4)

LCALLDELAY;调延时,按键消抖

JBP1.0,START1;P1.0口没合上,跳转判断P1.1口

MOVYI,#1;P1.0口开关合上,键值赋1

START1:

JBP1.1,START2;P1.1口没合上,跳转判断P1.2口

MOVER,#2;P1.1口开关合上,键值赋2

START2:

JBP1.2,START3;P1.2口没合上,跳转判断P1.3口

MOVSI,#4;P1.2口开关合上,键值赋4

START3:

JBP1.3,START4;P1.3口没合上,跳转键值累加

MOVBA,#8;P1.3口开关合上,键值赋8

START4:

CLRC

MOVA,YI;键值累加

ADDA,ER

ADDA,SI

ADDA,BA

MOVA_BIT,A

LJMPSTART;返回主循环

DISP:

MOVDPTR,#NUMTAB;指定查表起始地址

MOVA,A_BIT;取和各位数

MOVCA,@A+DPTR;查各位数的7段代码

MOVP0,A;送出各位的7段代码到P0口

RET

DELAY:

;1ms延时子程序

MOVR4,#250

D1:

NOP

NOP

DJNZR4,D1

RET

NUMTAB:

;对应数据代码

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H

DB80H,90H,88H,83H,0C6H,0A1H,86H,8EH

END

7.2电路原理图

图7电路原理图1

图8电路原理图2

 

7.3PBC布线图

图9PCB原理图

 

7.4元器件清单

元器件清单

元器件名称

型号规格

数量

备注

单片机

AT89S52

1

晶振

11.0592MHZ

1

瓷片电容

33PF

2

电解电容

22UF

1

电容

20PF

4

电阻

1K

2

LED发光管

5mm红色

1

7805

1

四脚按键

1

桥堆

2W10

1

IC插座(圆孔)

40脚

1

排线

若干

四位Pid开关

1

Header2

2

共阳极数码管

1

四角开关

1

 

7.5实物图

图10实物图

 

指导教师评语:

 

课程设计报告成绩:

,占总成绩比例:

30%

课程设计其它环节成绩:

环节名称:

考勤,成绩:

,占总成绩比例:

20%

环节名称:

综合,成绩:

,占总成绩比例:

50%

总成绩:

指导教师签字:

年月日

本次课程设计负责人意见:

 

负责人签字:

年月日

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1