您的当前位置:首页正文

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

来源:筏尚旅游网


课 程 设 计 任 务 书

设计题目 学生姓名 设计要求: 1.电源电路具有电源开关及指示灯,有复位按键; 2.高4位开关屏蔽; 3.用4位拨码开关为输入,控制数码管显示器的输出; 4.实现功能:通电复位后数码管全显即显“8”,数码管对应4位DIP开关的二进制输入显示十六进制全部字符即从“0”到“F”。 4位拨动开关控制数码管显示系统设计 学生应完成的工作: 1.了解单片机系统的设计方法,设计步骤; 2.查找并收集相关资料书籍; 3.完成硬件原理图设计; 4.完成软件和流程图的设计; 5.对系统进行仿真; 6.焊接电路板,调试系统; 7.认真撰写课程设计报告; 8.该同学主要负责电路的焊接。 参考文献阅读: [1] 张毅刚. 单片机原理及应用[M]. 北京:高等教育出版社,2010. [2] 杜尚丰. CAN总线测控技术及其应用[M]. 北京:电子工业出版社,2007. [3] 张毅刚. 单片机原理与应用设计[M]. 北京:电子工业出版社,2008. [4] 童诗白,华成英. 模拟电子技术基础(第四版)[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位拨动开关控制数码管显示系统设计

摘 要:以AT89S52单片机为核心,通过7805、桥堆、拨动开关等器件设计一个控制

电路,加以时钟、复位、电源模块等必要的电路,用汇编语言编写控制数码管显示的程序,实现由四位拨动开关控制共阳极数码管显示系统的设计。该系统由5V直流电源供电,利用拨动开关的低四位为输入,控制输出端数码管显示器的输出。该系统实现以下功能:通电后数码管默认显示为“8”,调整4位拨动开关按二进制输入,按确定键后数码管显示对应的数字“0”-“F”。

关键词:单片机;拨动开关;共阳极数码管;复位

目录

1.设计背景……………………………………………………………1 1.1单片机设计背景…………………………………………… 1 1.2设计目的……………………………………………………1 2.设计方案……………………………………………………………2 2.1方案一…………………………………………………………2 2.2方案二…………………………………………………………2 2.3 方案三…………………………………………………………2 3.方案实施……………………………………………………………3 3.1整体设计……………………………………………3 3.2电源电路设计…………………………………………………4 3.3时钟电路设计…………………………………………………5 3.4复位电路设计…………………………………………………5 3.5软件设计………………………………………………………6 3.6电路仿真………………………………………………………7 3.7实物制作………………………………………………………7 4.结果与讨论…………………………………………………………8 4.1结果……………………………………………………………8 4.2结论……………………………………………………………8 5.收获与致谢…………………………………………………………10 6.参考文献……………………………………………………………11 7.附件…………………………………………………………………12

7.1软件程序……………………………………………………………12 7.2元器件清单…………………………………………………………15 7.3电路原理图…………………………………………………………16 7.4实物图………………………………………………………………17

1. 设计背景

1.1单片机设计背景

单片机具有人机对话功能,开关、键盘是实现人机对话的主要输入设备,也是最常用的设备,通过它能发出 各种控制指令和数据到单片机。目前单片机渗透到我们生活的各个领域。最基本的例如:自动控制领域的机器人、智能仪表、医疗器械等。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的精英阶层。

1.2设计目的

通过所学的理论基础知识完成一个单片机的最小系统即四位拨动开关控制数码管显示系统。借以增强我们理论联系实际的能力,从而更好的掌握单片机的硬件特性以及汇编语言的程序设计,提高我们的实际动手能力和设计能力。

1

2. 设计方案

2.1方案一

这个案使用单片机P1口,由4位拨码开关从P1口低四位输入,高四位输出,经74LS247译码器部分送往共阳极数码管显示,P3口接刷新电路,每次跳动薄码开关都需要刷新电路。但是该方案编程简单,但控制时过于麻烦,硬件增多,成本增高。

2.2方案二

本方案的译码部分仍由软件实现,由4位DIP开关作为输入,共阳极数码管作为输出,软件译码按照译码器实现原理编写,在数码管显示相应的数字。由于译码部分软件采用译码器原理编写,使得编程非常复杂,占用系统内存,不符合精简系统的思想。

2.3方案三

本方案的译码部分由单片机编程实现,P0口接共阳数码管,由4位DIP开关从P1口低四位输入,经软件译码,送往P0口,在数码管显示相应的数字。由于译码部分采用了软件实现,省去了译码电路,成本降低,电路设计简单,但编程较复杂,而且占用I/O端口多,占用系统资源。

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

2

3. 方案实施

3.1整体设计

1.系统组成图

4位拨动开关 AT89S52单片机 一位共阳极数码管 时钟电路

复位电路 图1 系统组成图

系统组成图如图1所示。该系统由4位拨动开关、 AT89S52单片机、时钟电路、复位电

路、一位共阳极数码管、输入输出电路组成。

2.输入输出电路设计

图2 输入输出电路

3

本设计以AT89S52单片机为核心,该单片机有4个双向的8位并行I/O端口,分别记以P0、P1、P2和P3口。此次设计主要用P0口作为输入,P1口作为输出。输入输出电路如图2所示。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

3.2电源电路设计

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

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

图3 电源电路

4

3.3时钟电路设计

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

AT89S52单片机各功能部件的运行都以时钟控制信号为基准工作的,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性,设计电路为外部时钟方式,如图4所示。

图4 时钟电路

3.4复位电路设计

AT89S52的复位是由外部的复位电路实现的。设计复位电路为采用按键电平复位电路,复位电路由1个22uF的电解电容和1个按键及1个300欧姆的电阻组成,电路模块一端接VCC一端接AT89S52的RST管脚。复位电路采用按键手动复位的电平方式,电路如图5所示。

图5 复位电路

5

3.5软件设计

程序先给数码管送数字“8”,然后等待K1键按下,当K1键按下时,从P1口读入数据,送到P0在数码管显示。软件程序见附件。程序流程图如图6所示。

开始 数码管显示“8” DIP是否按N Y DIP开关输入数据 查表送数码管显示

图6 程序流程图

6

3.6电路仿真

图7 仿真图

用Proteus软件在各单元电路设计的基础上把各单元电路连接起来,画出符合软件要求的系统整体逻辑电路图。按照总体电路图在仿真软件Proteus上一一选择元件并进行连接,然后启动开关观察。

通过仿真,我们的电路原理图无误,可以实现功能通电复位后数码管全显即显“8”,数码管对应4位DIP开关的二进制输入显示十六进制全部字符即从“0”到“F”。因此,可以进行焊接。仿真图如图7所示。

3.7实物制作

根据附件的原理图可以设计出实物图,本着布局合理和接线简单以及整体美观的原则进行实物组装和焊接。

由于元器件较多,线路较为复杂,焊接时要细心认真,避免 出现虚焊和短路现象。为了减少寄生电容,保证振荡器安全稳定工作,电容和晶体管应尽可能安装的与单片机芯片靠近。由于芯片易烧坏,所以等到焊接完成后调试时,再按上单片机芯片。

7

4. 结果与结论

4.1结果

万能电路板装好元件并成功焊接后,往AT89S52芯片中烧写好程序,通电电后默认为“8”,调整4位DIP开关按二进制输入:

当拨码开关位为“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结论

本次课程设计实现了单片机的人机对话功能,开关、键盘是实现人机对话的主要输入设备,通过它发出的各种控制指令和数据到单片机。用拨码开关的低四位为输入,控制端数码管显示器的输出,数码管上显示的数字可以得出所设计的硬件原理图和软件能够实现设计要求的拨动开关控制数码管显示系统,每个电路模块包括电源模块、时钟电

8

路模块以及复位模块都正常的工作实现功能。

焊接任务是我本次课程设计中重点负责的。焊接时应当注意电烙铁的使用。当电烙铁温度升高后,首先应将烙铁尖点上薄薄的一层焊锡,避免烙铁尖因氧化而不沾锡。使用过程中,烙铁尖表面应一直保持有薄薄的焊锡层,多余的焊锡可轻轻甩在烙铁架上,或用一块湿布(湿海绵)擦拭一下。暂时不用时,应将电烙铁温度调至最低。

此次焊接的过程当中也出现了一些问题。当焊接完成后,把单片机按上,调试时系统无法工作,在老师的指导与组员的合作下发现焊接的电路板不工作是由一处短路造成的。造成焊接短路是由于我对焊锡量的把握不够准确。如果焊点上焊锡过少,机械强度低;如果焊锡过多,会容易造成绝缘距离减小、焊点短路或跳锡等现象。之后经过对该处的重新焊接,系统得以正常工作。

9

5. 收获与致谢

通过这两周的课程设计,我们完成了一个单片机的最小系统即四位拨动开关控制数码管显示系统。

本次课程设计让我对所学的理论知识有了更深切的认识,我们理论联系实际的能力得到了增强,更好的掌握单片机的硬件特性以及汇编语言的程序设计,我们的实际动手能力和设计能力得到了实际地提高。同时本次课程设计也历练了我们的团队合作意识,分工合作机制是按时完成课程设计的保障,尽管刚开始实物不能正常工作,但在申庆超老师的耐心指导下,我们最终调试成功了。另外,本次课程设计中我还学会了DXP以及protues和keil软件的基本使用,为以后的学习和生活奠定了一定的实践基础。

需要格外提出的是在这次课程设计中要特别感谢申庆超老师和段德功老师的耐心辅导以及在设计中给出的宝贵建议和意见,作为指导老师,他们尽心尽责帮助我们解决问题和不辞辛劳的指导我们的实习工作。同时也要感谢每一位组员的默契合作。

10

6. 参考文献

[1] 张毅刚. 单片机原理及应用[M]. 北京:高等教育出版社,2010.

[2] 杜尚丰. CAN总线测控技术及其应用[M]. 北京:电子工业出版社,2007.

[3] 施隆照. 数码管显示驱动和键盘扫描控制器CH51及其应用[J]. 国外电子元器件,2004. [4] 童诗白,华成英. 模拟电子技术基础(第四版)[M]. 北京:高等教育出版社,2006. [5] 臧春华. 电子线路设计与应用[M]. 北京:高等教育出版社,2005. [6] 谢嘉奎. 电子线路. 北京:高等教育出版社[M]. 2004.

[7] 胡汉才. 单片机原理及其接口技术[M]. 北京:清华大学出版社,1996. [8] 王守中,聂元铭. 51单片机开发与典型事例[M]. 北京:人民邮电出版社,2009. [9] 陈粤初. 单片机应用系统技术与实践[M]. 北京:北京航空航天大学出版社,1991. [10] 何立民. 单片机应用技术选编[M]. 北京:北京航空航天大学出版社,1993.

11

7. 附件

7.1软件程序

A_BIT EQU 20H YI EQU 21H ER EQU 22H SI EQU 23H BA EQU 24H P1_BUF EQU 25H ORG 00H LJMP POWER_ON ORG 30H

POWER_ON: MOV A_BIT,#00H MOV P0,#0FFH MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH

MOV A,P1 MOV P1_BUF,A

LCALL DELAY PPT:

MOV A,P1 CJNE A,P1_BUF,START MOV P0,#00H LJMP PPT START:

LCALL DISP ;上电程序从此处开始进行 ;初始化寄存器 ;读端口前初始化端口 ;读一下P1端口,保存当前端口状态 ;调延时 ;再读端口状态

;没变化,显示8 ;跳回重新检测 ;调显示子函数

12

MOV YI,#0 ;清每个开关按下代表的值寄存器 MOV ER,#0 MOV SI,#0 MOV BA,#0

MOV A_BIT,#00H ;清开关值和寄存器 MOV A,P1 ;读P1口

ANL A,#0FH ;屏蔽高4位(P1.7-P1.4) LCALL DELAY ;调延时,按键消抖

JB P1.0,START1 ;P1.0口没合上,跳转判断P1.1口 MOV YI,#1 ;P1.0口开关合上,键值赋1 START1:

JB P1.1,START2 ;P1.1口没合上,跳转判断P1.2口 MOV ER,#2 ;P1.1口开关合上,键值赋2 START2:

JB P1.2,START3 ;P1.2口没合上,跳转判断P1.3口 MOV SI,#4 ;P1.2口开关合上,键值赋4 START3:

JB P1.3,START4 ;P1.3口没合上,跳转键值累加 MOV BA,#8 ;P1.3口开关合上,键值赋8 START4: CLR C MOV A,YI ;键值累加 ADD A,ER ADD A,SI ADD A,BA MOV A_BIT,A

LJMP START ;返回主循环

DISP:

MOV DPTR,#NUMTAB ;指定查表起始地址 MOV A,A_BIT ;取和各位数

13

MOVC A,@A+DPTR ;查各位数的7段代码 MOV P0,A ;送出各位的7段代码到P0口 RET

DELAY: ;1ms延时子程序 MOV R4,#250 D1: NOP NOP

DJNZ R4,D1 RET

NUMTAB: ;对应数据代码 DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH END

14

7.2元器件清单

表1 元器件清单

元器件名称 单片机 晶振 发光二级管 共阳极数码管 桥堆 底座 电解电容 极性电容 极性电容 拨动开关 普通摁键 电阻 电阻 7805 型号规格 AT89S52 11.0592MHZ 2W10 AT89S52 33pf 10uf 1000uf 2k 1k 数量 1 1 1 1 1 1 4 1 1 1 2 1 13 1

15

7.3电路原理图

图8 原理图

16

7.4实物图

图9 实物运行图

指导教师评语: 17

课程设计报告成绩: ,占总成绩比例: 30% 课程设计其它环节成绩: 环节名称: 考勤 ,成绩: ,占总成绩比例: 20% 环节名称: 综合 ,成绩: ,占总成绩比例: 50% 总 成 绩: 指导教师签字: 年 月 日 本次课程设计负责人意见: 负责人签字: 年 月 日

18

因篇幅问题不能全部显示,请点此查看更多更全内容