多通道百分秒表设计(共22页).doc

上传人:飞****2 文档编号:13491362 上传时间:2022-04-29 格式:DOC 页数:22 大小:471.50KB
返回 下载 相关 举报
多通道百分秒表设计(共22页).doc_第1页
第1页 / 共22页
多通道百分秒表设计(共22页).doc_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《多通道百分秒表设计(共22页).doc》由会员分享,可在线阅读,更多相关《多通道百分秒表设计(共22页).doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上单片机原理及应用课程设计报告课题名称多通道百分秒表设计学院专业班级学号姓名时间2016年月指导教师目录基于单片机的多通道百分秒表设计摘要:近年来随着科技的飞速发展,单片机的运用正在不断的走向深入,同时带动传统控制检测日新月异的更新。本秒表设计采用8051单片机为中心器件,利用其定时/计数器定时、计数的原理,结合显示电路、按键控制电路等外围电路来完成。将软、硬件有机的结合起来,使得系统能够实现4位LED显示,显示时间为00.00到99.99秒,每秒自动加一,可以用开关控制开始、停止、复位,并且能拥有多通道(两个或以上)分别计时功能。其软件系统采用C语言编写程序,包括:显

2、示程序、中断初始化程序、中断服务程序、显示程序及开关控制程序。通过KEIL4与PROTEUS进行联合调试,使得硬件与软件有机的结合起来,达到了预期目的。关键词:单片机,秒表,多通道 Abstract:In recent years along with the rapid development of science and technology, the single-chip microcomputer application is constantly deepening, led the traditional control test at the same time change

3、rapidly update. The stopwatch design using 8051 single chip as a core device, using the timer / counter timing, counting principles, combined with display circuit, control circuit and other peripheral circuit to complete. The soft, hardware of organic combination, so that the system can achieve 4 LE

4、D display, display time is 0 to 99.99 seconds, plus a second automatic, can use the switch to control start, stop, reset, and can have multiple channels ( two or more ) are functions of time. The system software using C language programming, including: display program, interrupt initialization, inte

5、rrupt service routines, display and switch control procedures. Through the KEIL4 and PROTEUS joint debugging, which makes hardware and software combined with organic, to achieve the expected goal. Key words: Single Chip Microcomputer; Stopwatch; Multi Channel 一、内容提要1.设计任务基于AT89C51设计一个5位LED数码作为“多通道百分

6、秒表”。2设计要求:(1)、显示时间为00.0099.99秒,每百分之秒自动加1。(2)、设计一个有三个按键的键盘。K1:“开始”“停止”“复位”“开始”。K2:显示通道数“加一”。K3:显示通道数“减一”。(3)、 设计每到一秒钟有声音或LED指示提醒功能,可通过按钮打开及关闭该提醒功能。(4)、其他功能。D2、D3小灯按照01、02通道分别计时时间到10秒时熄灭。(定时:到某一时间有LED提醒功能)。3设计提示:(1)、用6位个7段LED数码管作为显示设备,最高位显示通道号,低4位显示时间。(2)、可采用定时器,定时时间10ms。(3)、参考Protuse仿真效果图:二、步骤及方案根据系统

7、的设计要求,选择AT89C51单片机作为系统的核心来完成定时、计数的功能,用74HC245来完成数据的锁存和对LED的刷新控制,用外围开关电路实现对单片机的外围输入,用小灯来实现对于计时等功能的提示。该系统的设计总体思路如下:开关K1把开始信号传输给AT89C51单片机,单片机开始计数,然后在P2口输出信号,通过74HC245后传输给LED数码管控制数码管位数是否启用,然后P0口传输相对应的信号控制启用的数码管位输出的具体信号。同理,其余开关的信号分别控制了AT89C51的停止、复位和通到的加减。外接的小灯接到P1.5、P1.6、P1.7口,分别作用于计时提示。综上,可知7SEG-MPSX6-

8、CC的最高2位用来显示通道,低四位用来显示时间(00.00到99.99秒),按照功能要求,确定由四个部分组成:主控制器,开关控制、小灯显示、LED显示。总体设计电路结构图如图所示:键盘输入单片机AT89C51LED显示小灯显示通道号 秒数图02.01总体设计电路结构图三、硬件设计1、单片机的选择与外围电路AT89C51作为秒表计时系统的核心器件。该器件是INTEL公司生产的MCS51系列单片机的基础产品,采用了可靠的CMOS工艺制造技术,具有高性能的8位单片机,属于标准的MCS51的CMOS产品。不仅结合了HMOS的高速和高密度技术及HMOS的低功耗特征,而且继承和扩展了MCS48单片机的体系

9、结构和指令系统。单片机小系统的电路图如图所示。图03.01 单片机的选择与外围电路2.单片机与显示模块电路由74HC245芯片和电阻,导线构成,控制锁存单片机输出信号。74HC245元件的封装:(1)第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。 (2)第29脚“A”信号输入输出端,A1=B1、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。(3)第1118脚“B”信号输入输出端,功能与“A”端一

10、样,不在描述。 (4)第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。 (5)第10脚GND,电源地。 (6)第20脚VCC,电源正极。 图03.02 74HC245结构图3.键盘电路由电源、导线、电阻、开关(K1、K2、K3、K4、K5五个开关)构成,K1连接P1.0口控制开始;K2连接P1.1口控制暂停;K3连接P1.2口控制复位清零;K4连接P1.3口控制通道减1;K5连接P1.4口控制通道加1。如图:图03.03键盘电路4.显示LED电路由7SEG-MPSX6-CC共阴LED8段位显示器构成:结构图为:abcde f

11、g12345. dp678910e f cc g ha b V c d 图03.04 显示器结构图表03.05显示器真值表显示字符共阴极接法八段状态断码(共阴)spgfedcba0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH.1000000080H综上则可知:显示0123456789.断码3FH06H5BH4FH66H6DH7DH07H7FH6FH80H5.外围小灯电路采用了3个LED小D1、D2、D3

12、,当按钮按下后,3个LED小灯接入电路,接口为:D1端接到P1.5口、D2端接到P1.6口、D3端接到P1.7口,其中D1小灯按照当前通道隔一秒亮一次,D2、D3小灯按照01、02通道分别计时时间到10秒时熄灭。如图。图03.06外围小灯电路6.整体电路protuus仿真图图03.07整体电路protuus仿真图四、软件设计系统程序包括:主函数程序、显示函数程序、中断函数程序、开关函数程序、系统初始化函数程序,通道设置函数程序。主程序结构:1.系统主函数程序主程序程序中调用了两个子函数程序,分别是中断初始化函数程序及显示函数程序。开始系统初始化函数显示函数图04.01系统主函数程序图开始2.初

13、始化函数程序设定定时器状态开中断对定时器赋初值结束图04.02初始化函数程序图初始化函数程序包括对定时器/计数器的工作方式设定、初值设定。3、显示函数程序 开始 判断通道标识a为1还是2通道2数据通道1数据数码显示结束图04.03显示函数程序图显示函数程序通过识别两个通道的刷新标志位flag_1和flag_2来实现双通道显示转换。4.开关函数程序结束开始结束图04.04 开关函数程序图开关函数程序主要通过P1.0、P1.1、P1.2三个引脚来操作秒表的开始、停止、清零。5.中断函数程序开始结束 图04.05中断函数程中断函数程序通过P1.3和P1.4控制用户选择的通道数,然后根据开关函数来分别

14、对两个通道的刷新标志位flag_1和flag_2赋值,进而实现通道的互相切换。五、调试把程序从KEIL中生成HEX文件,导入单片机中,测试是否实现题目要求的各个功能。1.由于开始计算中断初始时间不准确,故重新设置初始化时间;2.经过调试,延时时间设为1000效果最佳;3.由于3通道数要求过于复杂,故采用双通道设计;4.由于难以实现一个按键具备:开始、停止及清零功能,所以只能采用三个按键分别控制。经过耐心的调试,最终实现设计要求。PROTEUS仿真图如图:图05.01 一通道图图05.02 二通道图六、课程设计心得体会回顾起此次课程设计,感觉受益匪浅,从拿到题目到完成整个编程,从理论实践,学到很

15、多很多的课堂理论中没学到过的东西,不仅对键盘的识别技术这章节的知识点有了深刻的认识,而且对这学期开设的单片机这门课程有了更全面的了解,尤其是在学习使用proteus软件片编程和仿真时收获良多。通过这次单片机课程设计,还使我懂得了实践的重要性。同时在程序调试的过程中提高己的发现问题、解决问题、实际动手和独立思考的能力。使用软件和编写程序时一定要注意每一个细节,一个分号的遗漏也会造成错误。制作前一定要做好规划设计,反复论证和计算,防止考虑不到的地方使得做好的东西需要翻工。如果制作或使用中发现问题,既极大地打击积极性和自信心,还会极大地消耗时间,拖延项目的进度。制作硬件也一定要耐心细致,极小的失误都

16、会造成短路等问题而直接造成大错。在设计中,如果没有考虑到哪怕何一个细节,都有可能让没考虑到的情况造成失误,使各个子程序的时序和运行之间可能会互相干涉和冲突。此外遇到问题有时候凭借一个人或一组人的智慧是不好解决的。我们周围有许多很强的同学,还有许多经验丰富,实力雄厚的学长,通过请教和讨论可以产生一种茅塞顿开的效果。事情总是越说越明白,而且好多非常有新意和实用价值的想法也是在大家的讨论中得到和发展出来的。参考文献1 刘娟,梁卫文等编著.单片机C语言与PROTEUS仿真技能实训【M】.北京:中国电力出版社,2010.2 彭伟编著.单片机C语言程序设计试训100例基于8051+Proteus仿真【M】

17、.北京:电子工业出版社,2009.3 吴亦锋、陈德为.单片机原理与接口技术.北京:电子工业出版社,2010.4 边清远、王志强.MCS-51单片机运用开发实用子程序.北京:人民邮电出版社,2005.5 姚国林.单片机原理与应用技术.北京:清华大学出版社,2009.附录:源程序代码#include reg51.h#define THC0 0xd8#define TLC0 0xf0void StarandStop();unsigned char code Duan=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;/0-9段数码管,共阴极unsig

18、ned char DataBuffer4=0,0,0,0,DataBuffer_14=0,0,0,0,DataBuffer_24=0,0,0,0;/四个数码管显示数值,数组变量定义unsigned int a=1;unsigned int hdrSec_1=0,miao_1=0,hdrSec_2=0,miao_2=0;bit flag_1=0,flag_2=0;/三个通道数码管刷新标志位sbit P10=P10; sbit P11=P11;sbit P12=P12;sbit P13=P13;sbit P14=P14;sbit P15=P15;sbit P16=P16;sbit P17=P17;

19、sbit P07=P07;/*程序初始化*/void timer1_init()TMOD=0x11;/初始化两个定时器TR0=1; /启动定时器0ET0=1; /允许定时器中断EA=1; /总中断打开TH0=THC0;TL0=TLC0;/*显示程序*/void display()unsigned char b; int x;while(1)if(miao_1=10)P16=0;if(miao_2=10)P17=0;if(a=1)if(miao_1%2=1)P15=0;else if(miao_1%2=0) P15=1;DataBuffer0=DataBuffer_10;DataBuffer1=

20、DataBuffer_11;DataBuffer2=DataBuffer_12;DataBuffer3=DataBuffer_13;if(a=2)if(miao_2%2=1)P15=0;else if(miao_2%2=0)P15=1;DataBuffer0=DataBuffer_20;DataBuffer1=DataBuffer_21;DataBuffer2=DataBuffer_22;DataBuffer3=DataBuffer_23;for(b=0;b1;x-); /*中断程序*/void timer0() interrupt 1TMOD=0x11;/初始化两个定时器TH0=THC0;T

21、L0=TLC0;/*通道设置*/if(P13=0)a=1;if(P14=0)a=2;StarandStop(); if(flag_1=1&flag_2=1)hdrSec_1+;hdrSec_2+;if(hdrSec_2=99)hdrSec_2=0;miao_2+;if(miao_2=99) miao_2=0; DataBuffer_20=miao_2%100/10; /前两位显示秒表DataBuffer_21=miao_2%10;DataBuffer_22=hdrSec_2%100/10; /后两位显示百分秒表DataBuffer_23=hdrSec_2%10;if(hdrSec_1=99)h

22、drSec_1=0;miao_1+;if(miao_1=99)miao_1=0; DataBuffer_10=miao_1%100/10; /前两位显示秒表DataBuffer_11=miao_1%10;DataBuffer_12=hdrSec_1%100/10; /后两位显示百分秒表DataBuffer_13=hdrSec_1%10; if(flag_1=1&flag_2=0)hdrSec_1+;if(hdrSec_1=99)hdrSec_1=0;miao_1+;if(miao_1=99) miao_1=0; DataBuffer_10=miao_1%100/10; /前两位显示秒表Data

23、Buffer_11=miao_1%10;DataBuffer_12=hdrSec_1%100/10; /后两位显示百分秒表DataBuffer_13=hdrSec_1%10;DataBuffer_20=miao_2%100/10; /前两位显示秒表DataBuffer_21=miao_2%10;DataBuffer_22=hdrSec_2%100/10; /后两位显示百分秒表DataBuffer_23=hdrSec_2%10;if(flag_1=0&flag_2=1)hdrSec_2+;if(hdrSec_2=99)hdrSec_2=0;miao_2+;if(miao_2=99) miao_2

24、=0; DataBuffer_20=miao_2%100/10; /前两位显示秒表DataBuffer_21=miao_2%10;DataBuffer_22=hdrSec_2%100/10; /后两位显示百分秒表DataBuffer_23=hdrSec_2%10;DataBuffer_10=miao_1%100/10; /前两位显示秒表DataBuffer_11=miao_1%10;DataBuffer_12=hdrSec_1%100/10; /后两位显示百分秒表DataBuffer_13=hdrSec_1%10;if(flag_1=0&flag_2=0)DataBuffer_20=miao_2%100/10; /前两位显示秒表DataBuffer_21=miao_2%10;DataBuffer_22=hdrSec_2%100/10; /后两位显示百分秒表DataBuffer_23=hdrSec_2%10;DataBuffer_10=miao_1%100/10; /前两位显示秒表DataBuffer_11=miao_1%10;DataBuffer_12=hdrSec_1%100/10; /后两位显示百分秒表DataBuffer_13=hdrSec_1%10;/*开关程序*/专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁