单片机课程设计(论文)设计并实现可编倒计时装置

上传人:1777****777 文档编号:38696346 上传时间:2021-11-08 格式:DOC 页数:20 大小:200.03KB
收藏 版权申诉 举报 下载
单片机课程设计(论文)设计并实现可编倒计时装置_第1页
第1页 / 共20页
单片机课程设计(论文)设计并实现可编倒计时装置_第2页
第2页 / 共20页
单片机课程设计(论文)设计并实现可编倒计时装置_第3页
第3页 / 共20页
资源描述:

《单片机课程设计(论文)设计并实现可编倒计时装置》由会员分享,可在线阅读,更多相关《单片机课程设计(论文)设计并实现可编倒计时装置(20页珍藏版)》请在装配图网上搜索。

1、课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 设计并实现可编倒计时装置初始条件:1. Protues软件;2. 课程设计辅导资料:“可编倒计时装置设计与应用”、“电路设计技术与应用”等;3. 先修课程:模拟电子技术、数字电子技术、Protues电路设计教程及单片机原理及应用等课程要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1. 课程设计时间:1周;课程设计内容:按秒倒计时,键盘预置分、秒各两位数,键控启动计时,数码管显示倒计时。计时器归零时输出一音频信号。2. 本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分

2、析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结;3. 课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: 目录; 设计原理和方法; 系统硬件线路设计图; 程序框图; 资源分配表; 源程序 性能分析 课程设计的心得体会(至少500字); 参考文献;时间安排:指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录1.MCS-51单片机简介.22.系统硬件及主要模块设计原理 2.1 LED模块和显示原理.4 2.2震荡电路模块

3、和原理.6 2.3复位电路模块和原理.72.4按键电路和原理.82.5蜂鸣器电路和原理.92.6设计总电路和原理.103.程序框图.114.资源分配表.125.设计源程序.13.6.仿真与分析.167.心得体会.178.参考文献.181. MCS-51单片机简介单片机它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。作为嵌入式系统控制核心的单片机具有其体积小、功能全、性价比高等诸多优点。51系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51系列单片机的发展又进入了一个新的阶段。在今后很长一段时间内51系列单片机仍将占据嵌入

4、式系统产品的中低端市场。C语言是本设计的程序设计语言,它比低级语言更通俗易懂,设计更为方便,故采用它来设计程序。单片机全称为单片微型计算机(Single Chip Microcomputer)。因为单片机主要用于控制系统中,所以又称微控制器(Microcontroller Unit,MCU)或嵌入式控制器(Embedded Controller)。它具有嵌入式应用系统所要求的体系结构,微处理器,指令系统,总线方式,管理模式等。他把计算机的基本部件都微型化集成到一块芯片上了,通常片内部都含有中央处理部件(CPU),数据存储器(RAM),程序存储器(ROM,EPROM,Flsh ROM),定时器/

5、计数器和各种输入/输出(I/O)接口他们之间的相互连接结构如图1-1所示。CPU ROMRAM 定时器/ 计数器I/O 外设接口时钟 图1-1 单片机结构8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:·中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协

6、调的工作,完成运算和控制输入输出功能等操作。·数据存储器(RAM) 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。·程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。·定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。·并行输入输出(I/O)口

7、:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。·全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。·中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。·时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard

8、)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。本课设使用AT89S52 加上少许的外围电路就可做成一个秒分倒计时器,并在计时结束时发出报警声音。本文旨在从硬件和软件上具体分析其设计方法。系统由主单片机和外围电路构成,其功能框图如图:系统整体硬件电路包括,电源部分、显示部分、按键调整部分以及单片机主板部分主机包括秒定时输入电路、按键控制电路、电源电路、LED 显示电路等,从机包括LED 显示电路、扬声器输出电路

9、等。其中主机的秒分定时值由P2和P3口进行选择输入,设置3个按键分别控制时钟的走、停和清除(复位);主机LED 采用7 段共阴极数码管,从机LED 采用多个发光二极管阵列组成字形段码,以满足较远距离清晰显示。2.系统硬件及主要模块设计原理2.1 LED模块和显示原理LED显示器又称为数码管,LED显示器由8个发光二极管组成。中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LEDD显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴

10、极LED显示器下图为典型的数码管:图2-3 7段LED数码管数码管的分类 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用

11、时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。数码管的驱动方式 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×840根I/O端口来驱动,要知道一个89S52

12、1单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控

13、制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。本次电路设计采用的是共阴极数码管,通过动态扫描方式驱动,其电路模块如下:2.2震荡电路模块和原理本次设计要使用到AT89C52单片机的时钟振荡功能。AT89C52中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入和

14、输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自激振荡器。振荡电路如下图所示图3-6 时钟振荡电路如图所示,外接石英晶体或者陶瓷谐振器以及电容C1,C2接在放大器的反馈电路中构成并联谐振电路。谐振器本身对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度以及温度的稳定性,如果使用石英晶体,推荐使用30pF,而使用陶瓷谐振器建议选择40pF。本次设计使用的是石英晶体谐振器,因此采用30pF的电容,频率大小采用12MHZ与6MHZ均可,这里采用的是12MHZ晶振。2.3复位电路模块和原理复位电路虽然简单,但其

15、作用非常重要。一个单片机系统能复正常运行,首先要检查是否能复位成功,其中手动复位开关比较常用,图4-3手动开关复位电路手动开关未按下之前,电容正极处于充电状态,当按键按下去后,VCC与GND导通,电容放电,从而实现放电。2.4按键电路和原理采用一一对应式方式输入设计键盘控制电路部分,其键盘结构图如下所示:那么在什么时候使用上拉电阻呢?总结如下: (1)、当TTL电路驱动CMOS电路时,如果TTL电路输出的高电平低于CMOS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。 (2)、OC门电路必须加上拉电阻,以提高输出的搞电平值。(3)、为加大输出引

16、脚的驱动能力,有的单片机管脚上也常使用上拉电阻。(4)、在CMOS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻降低输入阻抗,提供泄荷通路。 (5)、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限,增强抗干扰能力。 (6)、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。 (7)、长线传输中电阻不匹配容易引起反射波干扰,加上拉电阻使电阻匹配,有效的抑制反射波干扰10。另外,上拉电阻阻值的选择原则包括: (1)、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。(2)、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。(3)、对于

17、高速电路,过大的上拉电阻可能边沿变平缓。综合考虑以上三点,上拉电阻阻值通常在1k到10k之间选取。根据以上原则,本设计所选择的是10K的电阻。2.5蜂鸣器电路和原理 蜂鸣器部分采用IO口输出,单片机P1端口驱动蜂鸣器。蜂鸣器有两类3大品种。一类是压电式,一类是电磁式,电磁式又有两大品种,铁振膜式和动圈式,二者原理一样只是结构不同。所有蜂鸣器都有两种类型:纯蜂鸣器和带驱动的蜂鸣器,蜂鸣器都是用音频信号驱动的,都是交流驱动。报警器的种类很多,比如:扬声器,蜂鸣器等,本次设计采用的是电磁式蜂鸣器作为报警器。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、震动膜片以及外壳等组成。接通电源后,振荡器产生的音频信号

18、通过电磁线圈,使得电磁线圈产生了一个磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。蜂鸣器电路图如图所示:2.6设计总电路和原理本课设使用AT89S52 加上少许的外围电路就可做成一个秒分倒计时器,并在计时结束时发出报警声音。本文旨在从硬件和软件上具体分析其设计方法。系统由主单片机和外围电路构成。系统整体硬件电路包括,电源部分、显示部分、按键调整部分以及单片机主板部分主机包括秒定时输入电路、按键控制电路、电源电路、LED 显示电路等,从机包括LED 显示电路、扬声器输出电路等。其中主机的秒分定时值由P2和P3口进行选择输入,设置3个按键分别控制时钟的走、停和清除(复位);主机LE

19、D 采用7 段共阴极数码管,从机LED 采用多个发光二极管阵列组成字形段码,以满足较远距离清晰显示。其功能框图如图:3.程序框图程序流程图如图所示:4.单片机资源分配表编程之前,应先将可用资源和需要资源列举出来,一一分配后就能清楚的了解整个设计结构,不易出错。AT89S52单片机IO口有P0、P1、P2、P3,中断源有外部中断0、1两个,定时器中断0、1两个,一个串口中断。外围电路为2个4位数码管,8个上拉电阻,2个蜂鸣器,2个LED,8个轻触式按键,并要求能够计时1秒。现分配如下:4位数码管的数据端连接在一起,然后接入AT89S52 P2端口;其8个共阴极引脚接入P3口作为选通。P1为标准双

20、向IO口,因而将4个按键接到P1上。蜂鸣器则接到P1口上,使用P1.1端口。为了计时1秒以及动态扫描数码管,使用一个定时器0作为时钟。表3-1 单片机资源使用分配P0 未使用P14个按键,按键另一端接地. P1.4接蜂鸣器P2数码管数据端P3数码管的选通端5.设计源程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intcode char table10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;uchar temp ,num,d11,d2

21、1;uint miao;uint ge,shi,bai,qian,i,j;sbit d1=P10;sbit d2=P11;sbit d3=P12;sbit d4=P14;void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void display(uint ge,uint shi,uint bai,uint qian) P3=0x01;P2=tableqian; delay(5); P3=0x02;P2=tablebai; delay(5);P3=0x04;P2=tableshi;delay(5);P3=0x08;

22、P2=tablege;delay(5);void main() ge=0;shi=0;bai=5;qian=0; P3=0xf0; d4=1; while(1) display(ge,shi,bai,qian); while(d1=0) delay(10); if(d1=0) ge=ge+1; if(ge>9) shi+; if(shi>5) shi=0; ge=0; while(d1=0)display(ge,shi,bai,qian); while(!d1); if(d2=0) delay(10); if(d2=0) bai=bai+1; if(bai>9) qian+;

23、 if(qian>5) qian=0; bai=0; while(d2=0)display(ge,shi,bai,qian); while(!d2); while(d3=0) miao=(qian*10+bai)*60+shi*10+ge; delay(10); if(d3=0) d3=0; miao-; for(i=1;i<60;i+) display(ge,shi,bai,qian); ge=(miao%60)%10; shi=(miao%60)/10; bai=(miao/60)%10; qian=(miao/60)/10; if(miao=0) d3=1; display(

24、0,0,0,0); for(j=0;j<100;j+) d4=0; display(0,0,0,0); d4=1; 6.仿真与分析本课设使用AT89S52 加上少许的外围电路就可做成一个秒分倒计时器,并在计时结束时发出报警声音。本文旨在从硬件和软件上具体分析其设计方法。系统由主单片机和外围电路构成。系统整体硬件电路包括,电源部分、显示部分、按键调整部分以及单片机主板部分。主机包括秒定时输入电路、按键控制电路、电源电路、LED 显示电路等,从机包括LED 显示电路、扬声器输出电路等。其中主机的秒分定时值由P2和P3口进行选择输入,设置3个按键分别控制时钟的走、停和清除(复位);主机LED

25、采用7 段共阴极数码管,从机LED 采用多个发光二极管阵列组成字形段码,以满足较远距离清晰显示。其仿真图如下图所示:7.心得体会通过本次课程设计,我对单片机和C语言的相关知识得到了进一步的,刚开始看到这个题目的时候,感觉倒计时不是很难,有对应的输入,在控制芯片的作用下,进行递减的控制,就可以达到效果。所以刚开始的时候,做的还不是很认真,当设计进行到具体环节的时候,问题就体现出来了,并不是像刚开始的那样简单。 首先要想到芯片的对应P口的功能,于是要对所学的单片机的知识进行复习,查找相关资料对那些知识进行扩充,于是就大量的查找相关资料和阅读,了解清楚了相应的功能后,开始了设计。接着就是具体的模块部

26、分的设计。我把整体模块分为三个部分进行滴,输入部分,即倒计时的预设置模块,用键盘作为输入模块。显示部分,由于我把设计的功能扩大到了小时,而且秒、分的设计要显示两位,所以需要用到4个七段数码管。而控制部分则有AT89S52芯片来完成其功能。 再就是进行相对应的仿真设计。由于再仿真用到的是Proteus软件,所以要对这个软件的应用进行学习。也是开始查找一些资料书和上网找一些应用方面的技巧,在做了充分的准备后,开始了仿真绘图。在绘图的过程中,有时候也是弄错了,导致仿真的结果出不来,在同学的帮助下,仔细查找和修改,还是完成了本设计,感觉集体的智慧还是很强大的。 最后就是程序的设计和完成,本次设计既可以

27、用C语言,也可以用汇编来写,于是我就尝试着,用两种语言来写。刚开始,着手用汇编写的时候,刚开始的功能还可以很顺利的完成,但是到多位数字输入的时候,感觉用汇编来写就有点复杂了,于是换成用C语言来写,这样就轻松多了,正是在这种思路的转换下,顺利的完成了程序编写和修改的过程,对其进行多次调试后,可以正确的运行出倒计时的功能了。 在看到数码管上的数字一个一个的递减的时候,心里感觉还是蛮高兴的。虽然在这次设计的过程中,困难不少,但是正是在自己的努力,同学们的帮助下,自己能够顺利的完成,确实还是蛮欣慰的。感谢这次课程设计给了自己锻炼的机会,自己在今后的学习和生活中,会更加的努力,争取更大的进步!8.参考文献1李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,19982李广弟.单片机基础.北京:北京航空航天大学出版社,19943阎石.数字电子技术基础(第三版). 北京:高等教育出版社,19894廖常初.现场总线概述J.电工技术,1999.5吴国经主编 单片机应用技术 中国电力出版社 20046徐泳龙主编 单片机原理及应用 机械工业出版社 2004本科生课程设计成绩评定表姓 名性 别专业、班级课程设计题目:设计并实现可编倒计时装置课程设计答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日19

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!