


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告课程名称单片机原理及应用设计题目基于单片机的秒表系统设计系部名称机械电子工程系专业班级电子信息工程2014级2班姓名学号成绩指导教师2016年12月摘要秒表主要有机械和电子两大类, 电子表又可分为三按键和四按键两大类。 绝 大部分体育教师使用的多是电子秒表, 机械秒表在很多地方已经成为历史。 电子 秒表是一种较先进的电子计时器, 国产的电子秒一般都是利用石英振荡器的振荡 频率作为时间基准,采用 6 位液晶数字显示时间,具有显示直观、读取方便、功 能多等优点。广泛运用于学校、小型比赛等计时时间较短的场所。单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,近几年得 到迅猛发展和
2、大范围推广, 广泛应用于工业控制系统, 数据采集系统、 智能化仪 器仪表,及通讯设备、日常消费类产品、玩具等。并且已经深入到工业生产的各 个环节以及人民生活的各层次中, 如车间流水线控制、 自动化系统等、 智能型家 用电器(冰箱、空调、彩电)等。本课程设计以STC89C51单片机为核心,结合C语言编程及其他硬软件相结 合设计的简易秒表,旨在学会运用单片机解决实际生产生活中问题。关键字:STC89C51单片机、C语言、秒表等目录摘要I目录 II第 1 章 设计目的、内容及要求 1.1.1 设计目的 1.1.2 设计内容 1.1.3 设计要求 1.1.4 设计工具 1.1.4.1 主要软件 1.1
3、.4.2 主要硬件 2.第 2 章 设计原理及相关硬件 4.2.1 设计方案原理及各模块设计 4.2.2 硬件原理及模块设计 4.2.2.1 时钟电路 4.2.2.2 复位电路 5.2.2.3 控制电路 5.2.2.4 报警电路 6.2.2.5 显示电路 6.2.2.6 总体电路图 7.2.3 软件原理及模块设计 7.第 3 章 程序编译及仿真过程 9.3.1 工程建立及原理图绘制 9.3.2 仿真方法 9.3.3 仿真结果分析 9.第 4 章 设计总结 1.2.参考文献 1.5.附录 1 源程序 1.6.附件 1 任务书 1.9.附件 2 评价表 2.0.第 1 章 设计目的、内容及要求1.
4、1 设计目的了解并掌握一般设计方法,具备初步的独立设计能力;掌握用 C 语言程序 设计基本技能; 提高综合运用所学的理论知识独立分析和解决问题的能力; 进一 步掌握单片机技术的开发流程, 学习较复杂的数字系统设计方法, 为以后进行工 程实际问题的研究打下设计基础。1.2 设计内容1、进行总体设计,画出设计原理图;2、用 PROTEUS 软件画出设计电路图;3、用 Keil 软件编写程序;4、在 PROTEUS 里模拟并调试程序达到期望功能。5、撰写单片机课程设计报告1.3 设计要求1、设计精度为 1/60S 的秒表系统。2、设置启动、暂停、清零按钮。3、秒表的最长计时长度为 01:59:59,
5、超过此长度,报警。1.4 设计工具1.4.1 主要软件1、PROTEUS 软件Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件(该软 件中国总代理为广州风标电子技术有限公司)。它不仅具有其它 EDA 工具软件 的仿真功能, 还能仿真单片机及外围器件。 它是目前比较好的仿真单片机及外围 器件的工具。 虽然目前国内推广刚起步, 但已受到单片机爱好者、 从事单片机教 学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到 单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念
6、到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真 软件三合一的设计平台,其处理器模型支持8051、HC11、 PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和 MSP430等,2010年又增 加了 Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。2、KEIL软件Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发 系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优 势,因而易学易用。Keil提供了
7、包括C编译器、宏汇编、链接器、库管理和一个 功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Nision)将这些部分组合在一起。运行 Keil软件需要 WIN98、NT、WIN2000、WINXP 等操作系统。如果你使用 C语言编程,那么Keil几乎就是你的不二之选,即使 不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真 调试工具也会令你事半功倍。主要硬件1、STC89C51 单片机STC89C51是一种低功耗、高性能CMOS 8位微控制器,具有4K在系统可 编程Flash存储器。使用 Atmel公司高密度非易失性存储器技术制造,与工业 80C51产品指令和
8、引脚完全兼容。片上 Flash允许程序存储器在系统可编程,亦 适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C51在众多嵌入式控制应用系统中得到广泛应用。其引脚如图1.1所示。PIQ匚14W讥rii Ei艸n PU.E|A11J1a M.ilADl )Pl J c4r5 FD.3AD2)Pl 4 ESua FQ.JIAD3)rue6n3 K>.«AEkl)Pl ACa nsfADQru c*a EtMgRsreK5 HJ.1ADT)(IXDiWOeIQ=3唁iTxmri i e113 Al 1ilNTi. iPJiG123严bjMFIi
9、PJ J gIJ3ITT' IO 4 匚1>I-TJT11M5 匸153 rs.Ji AiVi16邛j r.-KAi1'.'24J 氏 mi”n=F2.2|AlfliiXT61 I gi4严3 FlItAJI)CiiNI)匚2:n FJ.&ARi图 1.1 STC89C51 引脚1 电源地组 Vcc和Vss: Vcc (40)脚接+5V电压;Vss- (20)脚接地2) 时钟电路组 XTAL1和XTAL23) 控制信号组 RST/ALE/PSEN 和EA4) I/O 端口 P0、P1、P2 和 P32、数码管数码管也称LED数码管,不同行业人士对数码管的称
10、呼不一样,其实都是 同样的产品。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多 一个发光二极管单元,也就是多一个小数点(DP)这个小数点可以更精确的表 示数码管想要显示的内容;按能显示多少个(8)可分为1位、2位、3位、4位、 5位、6位、7位等数码管。按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极 COM接到+5V,当某一字段发光二极管的阴极为低电 平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴 数码管是指将所有发光二极管的阴极接到一
11、起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极 COM接到地线GND上,当某一字段发光二极管 的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段 就不亮。对应段码如表1.1所示,对应符号和引脚及内部结构如图 1.1所示。表1.1常用字符字型码(十六进制表示)字符0123456789AbCdEFP暗共阴极3F065B4F666D7D077F6F777C395E7971738000共阳极C0F9A4B0999282F880908883C6A1868E8C7FFFbn sfrmre(3 c dp(a)笄号粗引脚0vcc(b井阳极连法图1.1符号和引脚及内部结构第2
12、章设计原理及相关硬件2.1设计方案原理及各模块设计本设计是基于AT89C51单片机设计的,分为硬件设计模块、软件设计模块。秒表的硬件包括时钟电路、控制电路以及外部显示电路。利用89C51单片机 的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及外部中断 电路来设计计时器。计时精度为1/60S。秒表软件设计采用C语言编写程序,包 括延时程序、显示程序、按键扫描、报警程序、定时中断服务程序等。设计原理框图如图2.1所示0SC89C52图2.1设计原理框图软件模块2.2硬件原理及模块设计221时钟电路通过XTAL1和XTAL2外接晶体振荡器构成内部振荡方式。由于单片机内部 有一个高增益
13、反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟 脉冲。51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振 荡器的输出,该反向放大器可以配置为片内振荡器。其中石英晶振为12MHz时钟电路如图2.2所示。C11 o XTAL130pF“口 X1o XTAL23CpF图2.2时钟电路复位电路采用上电加按键复位电路,也就是手动复位,上电后,由于电容充电,使RET持续一段高电平时间,当单片机运行时,按下复位键也能使RET持续一段时间的高电平,从而实现上电加开关复位的操作。复位电路如图2.3所示。qO RST
14、 R1igk图2.3复位电路控制电路当某一按键按下时,连接按键的10 口被置为低电平,通过软件识别产生相应控 制指令。控制电路如图2.4所示。(1)复位/暂停按键,按下后使得TR0取反,相应启动和停止TO定时器(2)清零按键,按下后使得num清零,TRO=O,即秒、分等置零,且定时计数器关闭P3.2 OP3.5 O暂停怡图2.4控制电路报警电路当数显显示1-59-59时,P1.0口变为低电平并延时1s后再变为高电平,使得LED 灯亮1s后灭。报警电路如图2.5所示。图2.5报警电路225显示电路由软件控制单片机给 P0 口发送段码,P0 口 分别与A,B,C,D,E,F,G,DP 相连(同时连
15、上拉电阻),P2 口发送位码,P2 口 分别与8个选通口顺 次相连。采用数码管动态显示原理,8个位码单独发送,每次仅选选通一位,于 此同时给该位发送相应段码,然后延时一段时间,大约为1-10ms虽然每次只有 一个LED显示,但只要扫描显示速率够快,由于人的视觉余辉效应,使我们仍 会感觉所有的数码管都在同时显示。显示电路如图2.6所示。屮巧I八 4I |jj_ LJ .K*图2.6显示电路总体电路图图2.7总体电路2.3软件原理及模块设计相关计算:设计要求精度为1/60s,因此定时计数器T0定时时间为1/60S,则:时钟周期:Tcy 12MHz计数值:N1 60t/TCy6 16666.7y 1
16、2 12 10 6计数初值X216 N 65536 16667TH 0(65536 16667)/256TLO (65536 16667 )%256利用C语言编程,程序见附录1。软件设计框图如图2.8所示图2.8软件设计框图第3章程序编译及仿真过程3.1工程建立及原理图绘制1)启动KEIL建立一个空白工程,然后命名为miaobiao.uvpro。2)新建C语言源程序文件 miaobiao.c写出程序代码并保存(程序附后), 进行编译,若在编译过程中发现错误,则找出并更正误,直至编译成功为止,点 击恳图标,output选项下勾选Create HEX file,再次编译生成 miaobiao.he
17、x文件3)启动Proteus软件新建设计原理图,然后命名为 miaobiao.DSN。4)添加各元件绘制如图2.7原理图并保存。3.2仿真方法打开miaobiao.DSN,点击单片机,在程序一栏添加KEIL生成的miaobiao.hex文件,点击开始仿真按钮即开始仿真。按下不同的按钮,观察结果有何不同,在下一节做详细分析。3.3仿真结果分析1、接通电源(启动仿真时)数码管显示为00-00-0Q如图3.1所示图3.1仿真1:初始图2、按下启动/暂停键数码管开始计数,最低位逢10进1向咼位进1,第二位逢6向咼位进1,第 三位和第六位固定显示“-”其余各位进位法则与前两位一样,最多显示01-59-5
18、9 再次按下时停止计数。如图3.2、3.3所示。图3.2仿真2:按下启动键图3.3仿真3:按下暂停键3、按下清零键数码管显示为00-00-0Q且停止计数。如图3.4所示图3.4仿真3:按下清零键4、报警数码管显示为01-59-59, LED亮,1s后数码管显示00-00-0Q LED灯灭。如 图3.5 3.6所示。图3.5仿真5:报警00-00-00图3.6仿真6:报警结束第 4 章 设计总结随着电子技术的发展, 特别是随着大规模集成电路的产生, 给人们的生活带 来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞 跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次
19、新的革 命。单片机作为可编程控制器的代表,以高性价比、高可靠性、低电压、低功耗 的优点,遍布现代社会各个领域。 本次课程设计所做的秒表, 在各阶层体育教育、 中小规模体育赛事及其他需要计量时间的场合都不可缺少, 设计优良的秒表不仅 要保证精度、实用性等功能要求,还要求要有好的后期制作:如包装等,但由于 时间问题并未具体制作产品,只做基于proteus的设计仿真。在课程设计过程中对编程做过多次修改:启动/ 暂停等控制功能,可以用多种方法:中断、 for 语句等,用中断做可以 稳定实现启动 / 暂停功能,但会因执行中断导致数码管的动态扫描停止,只显示 一位数码管的数字, 使秒表的实用性下降, 经过
20、减少中断内语句也会出现数显界 面闪烁;而用 for 语句放在主程序中,能解决这个问题,但亦会出现功能不可靠 问题。最终在控制功能方面做优劣性分析选择了后者。对于数码管的动态扫描对硬件及软件编程均有修改: 有以下两种方案:方案 1:采用 74 系列锁存器对 IO 口进行扩展,利用锁存控制端对数据进行 隔离,每次送一组段码及位码, 实现动态扫描。 程序段如下, 原理图如 4.1 所示。 while(1)/ 大循环d=1; / 开位锁存P2=dig0;/ 送位码d=0;/ 关位锁存s=1;/ 开段锁存P0=segc1_0 ;/ 送段码s=0;/ 关段锁存delayms(l);/延时 1msd=1;重
21、复上诉过程,送下一位位段码P2=dig1;d=0;s=1;P0=segc1_1;s=0;delayms(l);图4.1 74HC573实现的动态扫描这种方法的优点是可扩展10 口,节约10 口资源;缺点是程序冗长,会造 成无法正确显示。方案2:直连法实现动态扫描。程序段如下,原理图如图4.2所示。disp0=0;disp1=nu m/3600;disp2=0xa;disp3=nu m%3600/600;disp4=nu m%3600%600/60;disp5=0xa;disp6=nu m%3600%600%60/10;disp7=nu m%10;分离各位数字 while( 1)uchar i;
22、for(i=0;i<8;i+)P2=digi; 位码P0=segdispi; 段码 delayms(5); 延时图4.2直连法实现动态扫描此方案优点是程序简短;缺点是10 口不可复用,浪费10 口资源。 结合优缺点分析最终选择了方案 2。通过此次课程设计,我明白了单片机的要点就是对 I0 口的高低电平进行控 制,而控制手段要通过不同的单片机的资源功能进行程序编写,故需要软硬件结合才能实现相应功能,另外对于单片机程序无论是C语言,还是汇编语言不能仅仅只对程序本身做解读,最精髓的一点要结合单片机的外部扩展一起考虑,才能对程序理解到位,理解透彻。参考文献1 李全利单片机原理及其应用 M 北京:
23、高等教育出版社, 2012.122 楼然苗等 51 系列单片机设计实例 M 北京:北京航空航天出版社, 2003.33 百度文库 STC89C51 芯片资料 N/OL 7H_Guxe4t2Ae4acugr7B40rWlhGH0QVO05cS-uqGTH6u4XIy5RArLiWb7O附录 1 源程序#include<reg52.h> / 头文件#define uint unsigned int#define uchar unsigned char/ 宏定义sbit stop=P3A2;/ 暂停开始键sbit rst =P3A6;/ 复位键sbit baojing=P1A0;/ 报警
24、灯uchar code seg=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf; / 数码管段码uchar code dig=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;/ 数码管位码uchar disp=0,1,2,3,4,5,6,7;uint num;/ 定义全局变量void delayms(uint n)uchar j;while(n-)for(j=0;j<113;j+);/ 延时函数void shu()disp0=0;disp1=num/3600;disp2=0xa; 连接符“-”d
25、isp3=num%3600/600;disp4=num%3600%600/60; disp5=0xa;disp6=num%3600%600%60/10;disp7=num%10;/ 分离 六十分之一秒、六分之一秒、秒、十秒、分以及连接符 -void display()uchar i;for(i=0;i<8;i+)P2=digi;P0=segdispi;delayms(5);/ 动态显示函数void key()if(stop=0)delayms(5); / 延时消抖TR0=TR0; / 每按下一次定时计数器暂停开始, num 暂停叠加 if(rst=0)delayms(5); / 延时消抖TR0=0;num=0; / 定时计数器停止计数,且 num 值清零/ 按键检测void main()TMOD=0x01;/ 方式 1 定时 TH0=(65536-16666)/256; TL0=(65536-16666)%256;IE=0x82;TR0=0;/ 配置定时计数器 T0 while(1)key();shu(); display();/ 主函数void add()interrupt 1TH0=(65536-16
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 植保机转让合同范本
- 猪场转手出租合同范本
- 出兑押金合同范本
- 临时工人合同范本
- 出售泡沫机床合同范本
- 借钱合同范本模板简单
- 商铺转租合同范本简化
- 表面表面加工合同范本
- 外贸采购订单合同范本
- 小区维修合同范本简易
- 企业资产收购尽职调查操作手册
- 2025年陕西省综合评标评审专家库考试历年参考题库含答案详解(5套)
- 软件开发项目进展汇报
- 六安市辅警真题2024
- 心电监护技术操作并发症的预防与处理
- 海南省省直辖县级行政单位2024-2025学年七年级下学期7月期末考试语文试卷(含答案)
- 2025年《资料员》考试题库附答案【模拟题】
- 磷石膏砌块项目可行性研究报告
- Unit 8 Let's Communicate!Section A(1a-1d)同步练习(含答案)2025-2026学年人教版(2024)八年级英语上册
- 楼梯 栏杆 栏板(一)22J403-1
- 《排课高手》用户手册
评论
0/150
提交评论