




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖南工程学院课 程 设 计课程名称 单片机原理与应用 课题名称 电子表 专 业 自动化 班 级 1001班 学 号 201001020118 姓 名 马博伦 指导教师 周向红、肖峰、李晓秀、汪超2013年 6 月 21 日湖南工程学院课 程 设 计 任 务 书课程名称 单片机原理与应用 课 题 电子表 专业班级 自动化1001班 学生姓名 马博伦 学 号 马博伦 指导老师 周向红、肖峰、李晓秀、汪超审 批 任务书下达日期 2013年 6 月 11 日任务完成日期 2013年 6 月 21 日设计内容与设计要求设计内容:以51系列单片机为核心,以开发板为平台;设计一个多功能电子表,具有电子时钟、
2、时钟设置和跑表功能。做时钟时在6位led 显示器上显示分、秒、时,做跑表时显示范围000.0秒999.9秒,并具有时钟启动、时钟停止、跑表启动、跑表复位、时钟调整功能键。设计任务包括控制系统硬件设计和应用程序设计。设计要求:1)确定系统设计方案; 2)进行系统的硬件设计;3)完成必要元器件选择;4)开发板焊接及测试5)系统软件设计及调试;6)系统联调及操作说明7)写说明书主 要 设 计 条 件1、 mcs-51单片机实验操作台1台;2、 pc机及单片机调试软件,仿真软件proteus;3、 开发板1块; 4、 制作工具1套;5、系统设计所需的元器件。说 明 书 格 式1. 课程设计任务书2.
3、目录3. 说明书内容1)课题的设计要求、目的、意义2)系统总体方案选择与说明3)系统结构框图与工作原理4)各单元硬件设计说明及计算方法5)软件设计与说明(包括流程图)6)调试结果与必要的调试说明7)使用说明8)程序清单9)总结10)参考文献附录a 系统原理图附录b 程序清单评分表进 度 安 排设计时间分为二周第一周星期一、上午:布置课题任务,课题介绍及讲课。下午:借阅有关资料,总体方案讨论。星期二、分班级焊接开发板星期三、确定总体方案,学习与设计相关内容。星期四、各部分方案设计,各部分设计。星期五、设计及上机调试。星期六、设计并调试第二周星期一:设计及上机调试。星期二:调试,中期检查。星期三:
4、调试、写说明书。星期四-星期五上午:写说明书、完成电子版并打印成稿。星期五下午:答辩。参 考 文 献1、 王迎旭编.单片机原理与应用m.机械工业出版社.2、 楼然苗编.51系列单片机设计实例m.北京航空航天大学出版社.3、 黄勤编.计算机硬件技术基础实验教程m.重庆大学出版社4、刘乐善编.微型计算机接口技术及应用m.华中科技大学出版社.5、陈光东编.单片微型计算机原理及接口技术m.华中科技大学出版社.目 录第1章 概述21.1设计内容及要求21.2本设计实现的功能21.3附加功能2第2章 系统总体方案设计32.1 系统方案设计32.2 系统总体方案框图3第三章 硬件设计43.1 时间显示电路的
5、设计43.2按键电路的设计53.3 跑表电路的设计和按键53.4 双闹铃电路的设计63.4 内部时钟电路的设计73.5 复位电路的设计73.6 单片机硬件资源分配8第4章 开发板焊接及其测试84.1 焊接步骤及注意事项84.2 调试及检测步骤9第5章 软件设计与说明105.1 系统软件设计思路105.2 模块程序的设计105.2.1 时钟模块105.2.2 跑表模块115.2.3 闹钟模块125.3 显示和键盘的设计135.3.1 显示模块135.3.2 矩阵键盘模块14第6章 调试步骤、结果、使用说明146.1调试步骤和过程146.3调试结果166.2使用说明16第7章 设计总结16第八章
6、参考文献17附录a17附录b19第1章 概述1.1设计内容及要求本课主要是以单片机为核心设计一个多功能电子表,具有电子时钟、时钟设置和跑表功能。做时钟时在4位led 显示器上显示分、秒,做跑表时显示范围000.0秒999.9秒,并具有时钟启动、时钟停止、跑表启动、跑表。1.2本设计实现的功能(1) 时间使用led显示,分别为时,分,秒(其中时分秒之间用横杠“”隔开,一共用到8个led数码管;(2)时,分,秒都可以分别设置,通过加减可以快速定位到需要设定的时间,在设置是可停止时钟,也可时钟边走边设置;(3)跑表功能,可以清零,启动,实现随停随加;(4)时钟和跑表之间可实现自由切换,当进入跑表模式
7、时时钟继续进行,当进入时钟模式时,跑表停止;第2章 系统总体方案设计2.1 系统方案设计 本设计用52单片机为核心,其功能主要有软件来实现,以及矩阵键盘加led数码管显示,所以降低了硬件电路的复杂性,也相应的降低了其成本。根据设计要求,总电路分为键盘接口电路、单片机时钟电路、复位电路、led显示电路、响铃电路、电源电路六个部分。其中键盘接口电路采用矩阵键盘,分别实现对时钟,分钟,秒钟的加一功能、减一功能,时钟电路,在本系统中采用内部时钟电路,由一个石英晶体管振荡器和两个微调电容组成;复位电路中给给rst引脚连续输入2个机器周期(即24个时钟振荡周期)以上高电平,就可完成初始化操作;显示电路采用
8、8段8位led显示管显示时间,其中前两位显示小时,中间两位显示分钟,后两位显示秒钟,时,分,秒间通过横杠“”显示;跑表部分通过4个led数码管显示,第二个通过带点数码管来显示,区别于秒单位,闹铃电路中由p2.4口输出电平,经三极管驱动蜂鸣器铃完成闹铃;电源电路,本设计由外部电源对其供电,通过整流和滤波,再通过7805稳压。2.2 系统总体方案框图第三章 硬件设计3.1 时间显示电路的设计led数码管显示方式有静态显示方式和动态显示方式两种。静态显示方式虽然占用cpu较少,接口简单,但其硬件电路比较复杂,成本较高,所以本设计中采用动态显示方式。动态显示方式是指轮流电量各位led数码管,利用定时扫
9、描的方式轮流点亮各位数码管。led公用一个8位的i/o,即p0口,3位led的位选线通过74ls138输出,来选中对应的led数码管,由于采用的是8位led数码管显示,所以前两位led显示“时针”,中间两位显示“分针”,后面两位显示秒针间隔有横杠显示“”。同时可通过按键切换到跑表模式,然后还有闹钟模块,通过按键来切换显示模式,同时还可通过对应的按键对其进行时间设定。对于三个显示直接的切换,可通过按键自由切换。时间显示电路图:图3.1 时间显示电路设计图3.2按键电路的设计因考虑节省i/o线数量,方便操作,本设计采用矩阵式键盘。矩阵式键盘由i/o线组成行、列结构,行、列线不相通,通过一个设置在行
10、、列交叉点上的按键来连通。本设计中采用16个按键,具体功能如下:(1) s1:时间调整按钮:使硬件处于时钟调整模式;(2) s2:小时加按键;(3) s3:小时减按键同时,本设计通过调用一个延时函数,消除键盘的抖动问题,提高了时间调整额精度。图3.2 按键电路设计图3.3 跑表电路的设计和按键因为跑表是基于时钟的显示及矩阵键盘,所以其电路一样的,只是有些按键用来实现跑表的功能。其通过4个led来显示跑表时间,还有按键对其控制停止和启动,还有对显示清0。其余数码管不用,其按键用的是下面3个按键:(4) s4:跑表启动暂停清零按钮(5) s5:对时钟跑表进行切换按钮 3.4内部时钟电路设计单片机内
11、部有一个用于构成振荡器的高增益反相放大器,它的输入端为xtal1引脚,输出端为xtal2引脚。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自己振荡器,形成内部时钟方式的电路。其中微调电容选择c1=c2=30uf。内部时钟电路设计图如下:图3.4 内部时钟电路设计图3.5 复位电路的设计可靠的复位电路是保证单片机正常运行的关键因素。将rst引脚连续输入2个机器周期(即24个时钟振荡期间)以上高电平,即可以完成单片机的初始化操作。本设计采用按钮复位方式。复位电路设计图如下:图 3.5 复位电路设计图3.6 单片机硬件资源分配p0口p0.0led数码管a段p1口p1.0矩阵键盘的s1行选端
12、p0.1led数码管b段p1.1矩阵键盘的s2行选端p0.2led数码管c段p1.2矩阵键盘的s3行选端p0.3led数码管d段p1.3矩阵键盘的s4行选端p0.4led数码管e段p1.4矩阵键盘的w1列选端p0.5led数码管f段p1.5矩阵键盘的w2列选端p0.6led数码管g段p16矩阵键盘的w3列选端p0.7led数码管dp段p1.7矩阵键盘的w4列选端p2.074ls138的a地址端p2.174ls138的b地址端p2.274ls138的c地址端p2.4蜂鸣器表3.6 i/o口分配表第4章 开发板焊接及其测试4.1 焊接步骤及注意事项在焊接板子过程中,以“由低到高”为原则依次对其进行
13、焊接。电烙铁是最常用的焊接工具。先整理元器件(电阻、轻触按键、电容、排阻、芯片插座、三极管、蜂鸣器等等)我们使用20w内热式电烙铁。新烙铁使用前,应用细砂纸将烙铁头打光亮,通电烧热,蘸上松香后用烙铁头刃面接触焊锡丝,使烙铁头上均匀地镀上一层锡。这样做,可以便于焊接和防止烙铁头表面氧化。旧的烙铁头如严重氧化而发黑,可用钢挫挫去表层氧化物,使其露出金属光泽后,重新镀锡,才能使用。电烙铁要用220v交流电源,使用时要特别注意安全。应认真做到以下几点:(1)电烙铁插头最好使用三极插头。要使外壳妥善接地;(2)使用前,应认真检查电源插头、电源线有无损坏。并检查烙铁头是否松动;(3)电烙铁使用中,不能用力
14、敲击。要防止跌落。烙铁头上焊锡过多时,可用布擦掉。不可乱甩,以防烫伤他人;(4)焊接过程中,烙铁不能到处乱放。不焊时,应放在烙铁架上。注意电源线不可搭在烙铁头上,以防烫坏绝缘层而发生事故;(5)使用结束后,应及时切断电源,拔下电源插头,冷却后,再将电烙铁收回工具箱;4.2 调试及检测步骤首先:我们焊好板子之后,检查下板子的焊接质量,如:(1)焊接时,要保证每个焊点焊接牢固、接触良好。要保证焊接质量。(2)所示应是锡点光亮,圆滑而无毛刺,锡量适中。锡和被焊物融合牢固。不应有虚焊和假焊。(3)虚焊是焊点处只有少量锡焊住,造成接触不良,时通时断。假焊是指表面上好像焊住了,但实际上并没有焊上,有时用手
15、一拔,引线就可以从焊点中拔出。这两种情况将给电子制作的调试和检修带来极大的困难。只有经过大量的、认真的焊接实践,才能避免这两种情况。焊接电路板时,一定要控制好时间。太长,电路板将被烧焦,或造成铜箔脱落。从电路板上拆卸元件时,可将电烙铁头贴在焊点上,待焊点上的锡熔化后,将元件拔出。然后:检测焊接板是有顺序的,操作不当可能会烧坏芯片,其步骤:(1):在没插芯片之前,先检测芯片插槽电源管脚的电压是否在规定的范围内;(2:):然后插上芯片,再老师的帮助下,将编好程序在keil uvision4中调试完成,程序没有错误的时候,通过stc_isp_480下载到单片机中,然后进行调试,看是否运行正常,如程序
16、能正常运行,则表明焊接成功了。第5章 软件设计与说明5.1 系统软件设计思路程序实现了模块化,程序结构简单,任务明确,易于编写、调试和修改;程序可读性好,对程序的修改可局部进行,其他部分可以保持不变,便于功能的扩从和版本的升级;便于多个模块调用; 便于分工合作,多个程序员同时进行程序的编写和修改调试工作。总软件程序框图:矩阵键盘扫描模块当前时钟调整模块主程序模 块闹钟1、2设定模块数码管扫描显示模块 跑表调整及显示模块图 5.1软件主程序设计图5.2 模块程序的设计 5.2.1 时钟模块本系软件设计中,首先是时钟:主程序的初始化内容:所谓初始化,是对将要用到的51系列单片机内部部件或扩展芯片进
17、行初始工作设定。利用单片机定时器设计时间计时处理,采用单片机内部的t0定时器溢出中断来实现,工作在方式1下,定时50毫秒,则连续中断20次即为一秒,得到了我们所需时间的最小单位。在主程序循环中while(1)中扫描是否有键按下,如有键按下,则做出相应的功能处理,同时扫描显示时间、跑表、闹钟数据,并检查时候到达闹铃设置时间,响铃。若无按键,则继续执行主程序。时钟设计主框图如下: 开始 重置初值,启动下一个50ms是50ms计数器=20? 否 秒单元加1,50ms计数器清零 否 否秒单元=60? 否 分单元加1,秒单元清零否分单元=60? 时单元加1,分单元清零 否 否时单元=24? 时、分、秒单
18、元清零 否 中断返回图5-2 时钟服务程序流程图 5.2.2 跑表模块其次的跑表:因为跑表最小单位是0.1秒,而且要与时钟分开计时,跑表停止时,时钟要继续按正常时间走,我利用定时器t1,实现分开定时,定时为10ms,连续中断10次即为0.1s。两个定时互不干涉,但进入时钟模式时,为跑表计时的定时器t1的启动为tr1置0,而停止计时。跑表设计主框图如下:图5-3 跑表服务程序流程图5.2.3 闹钟模块还有就是闹钟:其也是利用时钟的定时时间,也使用t0,有切换键使其进入闹钟模式,然后可对其进行设置等。闹钟设计主框图如下:是蜂鸣器响是否与时钟相同?设定闹铃1、2的时间按下键后进入闹钟模式图4-3 闹
19、钟程序流程图否开始结束5.3 显示和键盘的设计 5.3.1 显示模块led显示器的选择,在我的设计中,选择2个4位一体的时钟型共阳led显示器。8位8段共阳显示器:六位是同时显示六位阿拉伯数字,而每一个数字又是七段码显示的;七段是指一个数码显示的阿拉伯数字是由8位二进制数控制的,共阴是指相应的二进制为0时不亮,为1时亮。其分析流程图:图4-3 显示程序流程图5.3.2 矩阵键盘模块键盘程序是完成对时钟的调整,跑表的启动、清零,闹铃的时间调整以及各个模块之间的相互切换。软件实现是通过软件扫描法,键盘扫描函数,使用行列反转扫描法,行列值中间变量、行线输出全为0、读入列线值先检测有无按键按、下具体每
20、个按键的功能如上所述。程序通过.h后缀的文件给出。 第6章 调试步骤、结果、使用说明6.1调试步骤和过程调试步骤一般一步一步来,先实现一部分功能,然后将整个程序在整合起来,在将程序模块化。(1)我先调试出显示模块,达到自己想要的显示结果,比如动态显示,得到对应的显示代码,led带点的数码管代码。(2)调试时间,使其达到精确的时间,不如我要测试跑10分钟,看看他的误差是多少,然后调节其定时器初值th0、1和tl0、1。(3)然后是调节跑表,使其在时钟与跑表之间的切换,并运行稳定,整理程序。(4)闹钟模块,首先要调用时钟的定时时间,然后通过按键去控制。(5)最后将各个模块拼接接起来统一调试,直达稳
21、定达到想要的效果。当然在调的过程中会遇到很多问题比如:如响铃时蜂鸣器声音非常小,经过增大声音函数中的延时时长,该问题得以解决;在设置减一功能按键时,时钟自动提高其上限,如在24:00时对时针进行加一,会跳转至24:00 :01,超出了时钟上限,后经过调整键盘函数中减一功能只能够if条件语句中的条件值,如if(minute60),即将其值有重新赋值为0,其分钟会出现60这个实际时间中不应该出现的时间。后面给成if(minute59)就可以了。图6.1 显示设置时针加减图6.2 闹钟显示设置图6.3 跑表显示设置6.3调试结果(1)实现了全部要求功能,本来有4个led数码管显示的,我用自己买的开发
22、板有8个显示,克服了本来那开发板只有4个led不能显示全部的时分秒的缺陷,另外我加了一个闹钟模块,使其更加接近电子表的功能,并有可设置两个闹钟模式,两个的定时时间可任意设置。到达固定设定时间就有蜂鸣器发出铃声,设定时间为10s。6.2使用说明作品按照要求,在通了电源后,我自己设定为09:00:00,按下启动键(k8)后开始记时,可随时按下(k15)切换到跑表模式,同时可对其进行停止启动、和复位。可通过(k12)切换到闹钟模块,默认为6:30响铃,并通过对应按键对 其定时。第7章 设计总结两周的课程设计已经接近尾声了,终于完成了电子表的设计。在这一次课程设计当中,在这里我要我指导老师周向红老师对
23、我的指导,从拿到课题时不知所措,经过网上查阅相关,查阅教材、课程设计指导书及各类参考文献,向老师请教,与同学交流,最终确定了我的设计方案。虽然我以前学过单片机,参加过一次额电子设计竞赛,跟老师做过个一些项目,但是在本次设计的过程中,我任然发现很多的问题,也学到了很多知识与技巧。这次设计让我有了长足的进步,真正实现了对单片机硬件与软件的兼顾与融会贯通。也对c51编程有了跟一步的加深和了解。这次课程设计给我深刻的印象,还记得星期2的我一个显示切换,一直没成功,真的和纠结,后面我一直在调试,最后调到晚上1点我才调试成功,当显示成功的那一刻,我突然大喊一声,我室友还以为我怎么了呢?那成功的喜悦我永远会
24、记得。单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过程序,但我觉的写好一个程序并不是一件简单的事。如矩阵键盘函数中,之前通过以分别行扫描和列扫描,相比我这次采用了同时行列扫描即(行扫描的值加列扫描值)精简了程序,也提高了52单片机的效率。这个程序中还有一些可以改进与完善的地方。如可通过24c02锁存器对调整好的闹铃时间进行锁存,实现断电保护功能;并实现记忆功能;还可以通过对所闹铃声进行编辑,模拟各种声音来达到闹铃的效果,以显示各种特点。在做软件设计的时候深刻的体会到了子程序功能实现方法的重要性。在显示和按键等子程序的设计过程中往往只是针对某个系统功能实用来编写,很
25、少考虑以后程序的兼容性和可扩展性。经过本次设计对自己分析整个系统结构和设计方案有了很大的提高。在这次课程设计中,感谢同组同学的鼓励与配合。通过本次课程设计,我认识到了自己的许多缺点和不足,体会到了实践是检验真理的唯一标准以及实践出真知的道理。在以后的学习生活中,我会努力将学习知识要看做是自己的兴趣爱好,要主动学习。不仅要学会书本上的知识,更要掌握学好知识的方法和技巧,这样才能使自己在今后的科技道路上越走越远!在此,我要再一次感谢周向红老师和给过我帮助的各位指导老师和所有同学,谢谢你们的的辛勤指导。第八章 参考文献1、 周向红 编51系列单片机应用与实践教程m.北航出版社2、 王迎旭编.单片机原
26、理与应用m.机械工业出版社.3、 黄勤编.计算机硬件技术基础实验教程m.重庆大学出版社4、刘乐善编.微型计算机接口技术及应用m.华中科技大学出版社.5、陈光东编.单片微型计算机原理及接口技术m.华中科技大学出版社.6、楼然苗编.51系列单片机设计实例m.北京航空航天大学出版社.附录a附录b#include#define uchar unsigned char uchar time1,time2;time3;time4=12;/定义时钟变量uchar s,m,h; /定义秒表变量uchar code xianshi_w=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7
27、f;/显示位码uchar code xianshi_d=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;/显示段码uchar xianshi_sj8=0,1,10,0,0,10,0,0;/定义按键sbit key=p12;/时钟调整按键sbit key1=p13;/时钟加按键sbit key2=p14;/时钟减按键sbit key3=p15;/启动按键sbit key4=p16;/切换按键uchar key_z,key_x,key_m,key_s;/定义按键变量/软件延时void delay() unsigned int i; fo
28、r(i=0;i99)s=0;m+;miao=miao; if(m99)m=0;h+; if(h99)s=0;m=0;h=0; if(key_x=1&key_s=0)s=0;m=0;h=0; /时钟中断 if(key_m=1)time1+; if(time199)time1=0;time2+;miao=miao; if(time259)time2=0;time3+; if(time359)time2=0;time4+; if(time424)time1=0;time2=0;time3=0; time4=0; /按键小时加一 void xiaoshi_jia()if(key1=0)delay();if(key1=0)time4+;if(time423)time4=0;while(key1=0);/按键小时减一void xiaoshi_jian()if(key2=0)delay();if(key2=0)time4-;if(time459)time3=0;while(key1=0);/按键分钟减一void fenzhong_jian()if(key2=0)delay();if(key2=0)time3-;if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仓储租赁安全规范管理合同二十
- 朝鲜钛矿精炼产品国际采购合同
- 跨国采购合同风险防范与合规操作手册
- 电力设施运行维护场亟须规范合同
- 公共停车场临时租赁及管理服务合同
- 特殊教育辍学学生的关怀措施
- 铅锌矿的选矿工艺参数与技术优化考核试卷
- 花卉种植与园林景观设计创新考核试卷
- 租赁设备的生命周期管理与淘汰考核试卷
- 电气设备在智能电网电力质量监测与控制中的应用考核试卷
- 2024年海南省中考数学试题卷(含答案解析)
- 云南省食品安全管理制度
- 河南省鹤壁市2023-2024学年七年级下学期期末数学试题
- 2024八年级数学下册专题突破第11讲正方形中的几个常用模型探究含解析新版浙教版
- MOOC 电路分析AⅠ-西南交通大学 中国大学慕课答案
- 托育运营方案
- 物理因子治疗技术护理课件
- 小学数学-《税率》教学设计学情分析教材分析课后反思
- 公路日常养护巡查制度范本
- 《教育的本质》课件
- 材料科学与自然辩证法
评论
0/150
提交评论