《单片机原理课程设计.docx》由会员分享,可在线阅读,更多相关《单片机原理课程设计.docx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课程设计说明书2023 /2023 学年第 1 学期课程名称 :单片机原理课程设计题目 :时钟专业班级 :08 级应物一班姓名 :学号:设计周数 :2 周设计成绩 :年月 日一、课程设计目的1.1 学习单片机的重要性20 世纪末,电子技术获得了飞速的进展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的进展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更换代的节奏也越来越快。单片机正朝着高性能和多品种方向进展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面进展。下面是单片机的主要进展趋势。单片机应用的重
2、要意义还在于,它 从根本上转变了传统的掌握系统设计思想和设计方法。从前必需由模拟电路或数字电路实现的大局部功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的掌握技术也称为微掌握技术,是传统掌握技术的一次革命。1.2 课程设计的目的(1) 稳固和提高学过的根底理论和专业学问;(2) 提高运用所学专业学问进展独立思考和综合分析、解决实际问题的力量;(3) 培育把握正确的思维方法和利用软件和硬件解决实际问题的根本技能;(4) 增加对实际电路的生疏,把握分析处理方法,进展调试、计算等根本技能的训练 ,使之具有肯定程度的实际工作力量。(5) 把握科研、资料查询的根本方法以及猎取学问的力量。(
3、6) 促使我们学习和猎取学问,把握自我学习的力量。(7) 通过参与实际工作,使我们了解社会和工作,具备肯定的实际工作力量(8) 通过设计数字电子钟,了解电子钟的工作原理和内部构造。1.3 数字时钟的重要性数字钟是承受数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车 站, 码头办公室等公共场所,成为人们日常生活中不行少的必需品,由于数字集成电路的进展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的便利,而且大大地扩展了钟表原先的报时功能。诸如定时自动报 警、按时自动打铃、时间程序自动掌握、定时播送、自动起闭路灯、定时开关
4、烘箱、通断动力设备、甚至各种定时电气的自动启用等,全部这些,都是以钟表数字化为根底的。因此, 争论数字钟及扩大其应用,有着格外现实的意义。数字钟已成为人们日常生活中:必不行少的必需品,广泛用于个人家庭以及车站、码头、 剧场、办公室等公共场所,给人们的生活、学习、工作、消遣带来极大的便利。由于数字集成电路技术的进展和承受了先进的石英技术,使数字钟具有走时准确、性能稳定、携带便利等优点,它还用于计时、自动报时及自动掌握等各个领域。二、数字时钟设计2.1 、数字钟的软件设计2.1.1 、系统分析系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件完成各种实质性功能的设计和监控软件的
5、设计。单片机的软件设计通常要考虑以下几个方面的问题:(1) 依据软件功能要求,将系统软件划分为假设干个相对独立的局部,设计出合理的总体构造,使软件开发清楚、简洁和流程合理;(2) 培育良好的编程风格,如考虑构造化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;(3) 建立正确的数学模型,通过仿真提高系统的性能,并选取适宜的参数;(4) 绘制程序流程图;(5) 合理安排系统资源;(6) 为程序参加注释,提高可读性,实施软件工程;(7) 留意软件的抗干扰设计,提高系统的牢靠性。2.1.2 系统设计开头启动定时器按键检测时间显示这次的数字电子钟设计用到很多子程序,它们的流程图如下
6、所示。2.1.2.1 主程序流程图主程序是先开头,然后启动定时器,定时器启动后在进展按键检测,检测完后,就可以显示时间。图 2-1 主程序流程图2.1.2.2 按键处理流程图按键处理是先检测秒按键是否按下,秒按键假设按下,秒就加1;假设没有按下,就检 测分按键是否按下,分按键假设按下,分就加1;假设没有按下,就检测时按键是否按下, 时按键假设按下,时就加 1;假设没有按下,就把时间显示出来。开头N秒按键按下?Y秒加 1N分按键按下?Y分加 1N时按键按下?Y时加 1显示时间完毕图 2-2 按键处理流程图开头N一秒时间到?Y秒单元加 1N60 秒时间到?Y秒单元清零,分单元加 1N60 分钟到?
7、Y分单元清零,时单元加 1N24 小时到?Y时单元清零时间显示中断返回21.2.3 定时器中断流程图定时器中断是先检测 1 秒是否到,1 秒假设到,秒单元就加 1;假设没到,就检测1 分钟是否到,1 分钟假设到,分单元就加 1;假设没到, 就检测 1 小时是否到,1 小时假设到,时单元就加 1,假设没到,就显示时间。图 2-3 定时器中断流程图2.1.2.4 时间显示流程图时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最终是时十位显示。开头秒个位计算显示秒十位计算显示分个位计算显示分十位计算显示时个位计算显示时十位计算显示完毕图
8、 2-4 时间显示流程图2.1.3 系统实施c 语言版2.1.3.1 主程序设计main/主函数TMOD |=0x01;/定时器 0 10ms in 12M crystal 用于计时TH0=0xd8;TL0=0xf0;ET0=1;TR0=1;TMOD |=0x10;/定时器 1 用于动态扫描TH1=0xF8;TL1=0xf0;ET1=1;TR1=1;EA =1;Displaypro;2.1.3.2 按键处理程序设计while(1)/主循环/ if(!KEY1)/按键 1 去抖以及动作delay(21000); if(!KEY1)hour+;if(hour=qieh)hour=0;/正常时间 小
9、时 加 1 Displaypro;/ if(!KEY2)/按键去抖以及动作delay(21000); if(!KEY2)minute+;if(minute=60)minute=0;/分加 1 Displaypro;/ if(!KEY3)/按键去抖以及动作delay(21000); if(!KEY3)minute-;if(minute=-1)minute=59; /分减 1 Displaypro;2.1.3.3 定时器中断程序设计/*/*定时中断 1*/*/void time1_isr(void) interrupt 3 using 0/定时器 1 用来动态扫描static unsigned c
10、har num; TH1=0xf8;/重入初值TL1=0xf0;switch (num)case 0:P2=0;P0=StrTabnum;break; /分别调用缓冲区的值进展扫描case 1:P2=1;P0=StrTabnum;break;case 2:P2=2;P0=StrTabnum;break; case 3:P2=3;P0=StrTabnum;break; case 4:P2=4;P0=StrTabnum;break; case 5:P2=5;P0=StrTabnum;break; case 6:P2=6;P0=StrTabnum;break;case 7:P2=7;P0=StrTa
11、bnum;break; default:break;num+;/扫描 8 次,使用 8 个数码管if(num=8)num=0;2.1.3.4 时间显示codeunsignedchartab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/共阴数码管 0-9unsigned char StrTab8;/定义缓冲区unsigned char qieh=24,minute=0,hour=0,second; /定义并且初始化值 00:00:00void delay(unsigned int cnt)/延时函数while(-cnt);2.2 数字钟的
12、硬件设计2.2.1 整体设计方案数字电子钟实际上是一个对标准频率1HZ进展计数的计数电路。同时标准的 1HZ 时间信号必需做到准确稳定。通常使用石英晶体振荡器电路构成数字钟。利用单片机,我们设计的数字时钟的设计方案图如下:图 2-5 整体方案设计图2.2.2 单元电路设计2.2.2.1 晶体振荡器电路晶体振荡器电路给数字钟供给一个频 率稳定准确的 32768z 的方波信号,可保证数字钟的走时准确及稳定。不管是指针式图 2-6 晶体振荡器的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。一般输出为方波的数字式晶体振 荡器电路通常有两类,一类是用门电路构成;另一类是通过非门构成的电路, 本次设计
13、承受了后一种。如图b所示,由非门与晶体、电容和电阻构成晶 体振荡器电路,实现整形功能,将振荡器输出的近似于正弦波的波形转换为较抱负的方波。输出反响电阻为非门供给偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器。电容 、 与晶体构成一个谐振型网络,完成对振荡频率的掌握功能,同时供给了一个度相移,从而和非门构成一个正反响网络,实现了振荡器的功能。由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确。2.2.2.2 复位设计本次设计承受单片机复位掌握时钟。当由于某种缘由造成时钟不能正常工作时,可通过外加高电压,使内部数据清零。本次设计主要是利用单片机内部中断来实现
14、的,可以使单片机内部中数据清零, 从而到达使数码管显示清零的目的。2.2.2.3译码驱动本次设计通过使用 74HC138 译码电路来掌握数码管实现各种功能。 通过74HC138 译码电路将由单片机传送来的十进制转换成 8 进制码,这样使数码管能掌握显示数字,产生中断等效果。图 2-6 复位设计图 2-7 译码驱动2.2.2.4 数码管驱动电路本 次 设 计 通 过 使 用 集 成 电 路74HC573 来掌握数码管数字的显示。马上图 2-8 数码管驱动单片机产生数字脉冲翻译成数码管能够识别的脉冲。本次设计承受集成电路主要是由于74HC573 的稳定性好,能保证数码管的显示。2.2.2.5 中断
15、设计本次中断设计的目的是通过掌握单片机使控 制时间显示,到达时间加一秒、一分、一小时以及减一秒、一分、一小时的目的。设计主要是利用向P3 口给低电压到达掌握中断的目的,从而使单片机产生掌握信号,通过 74HC138 掌握数码管。2.2.3 系统调试2.2.3.1 模拟仿真调试2.2.3.1.1 PROTUES 软件介绍图 2-8 中断设计Proteus 软件是Labcenter Electronics 公司的一款电路设计与仿真软件,它包括 ISIS、ARES 等软件模块,ARES 模块主要用来完成PCB 的设计,而 ISIS 模块用来完成电路原理图的布图与仿真。Proteus 的软件仿真基于V
16、SM 技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比方 MCS-51 系列、PIC 系列等等,以及单片机外围电路,比方键盘、LED、LCD 等等。通过 Proteus 软件的使用我们能够轻易地获得一个功能齐全、有用便利的单片机试验室。2.2.3.1.2 电子钟系统 PROTUES 仿真用 PROTUES 软件,依据数字电子钟的原理图,画出仿真图,得到的图如下所示。2图 2-9 模拟仿真调试.2.3.2 实物调试单片机应用系统的调试包括硬件和软件两局部,但是他们并不能完全分开。一般的方法是排解明显的硬件故障,再进展综合调试,排解可能的软/硬件故障。2.2.3.2.1
17、 硬盘调试拿到电路板后,首先要检查加工质量,并确保没有任何方面的错误,如短路和断路,尤其要避开电源短路;元器件在安装前要逐一检查,用万用表测其数值,看是否与所用一样; 完成焊接后,应先空载上电芯片座上不插芯片,并检查各引脚的电位是否正确。假设一切正常,方可在断电的状况下将芯片插入,再次检查各引脚的电位及其规律关系。将万用表的 探针放到单片机接电源的引脚上检测一下,看是否符合要求。2.2.3.2.2 系统性能测试与功能说明走时:默认为走时状态,按24 小时制分别显示“时时-分分-秒秒”,有2 个“-”动态显示,时间会按实际时间以秒为最少单位变化。走时调整:对秒进展调整,按一下加一秒;对分进展调整
18、,按一下加一分;对时进展调整,按一下加一小时,从而到达快速设定时间的目的。2.2.3.2.3 系统时钟误差分析时间是一个根本物理量,具有连续、自动消逝、不重复等特性。我国时间基准来自国家授时中心,人们日常使用的时钟就是以肯定的精度与该基准保持同步的。结合时间概念和误 差理论,可以定义电子钟的走时误差S=S1-S2,S1 表示程序实际运行计算所得的秒;S2 表示客观时间的标准秒。S0 时表示电子钟秒单元数值刷滞后,即走时误差为“慢”;反之, S0 表示秒单元数值的刷超前,即走时误差为“快”。本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差, 延迟误差。晶体频率产生震荡
19、,简洁产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏 差,造成走时误差。2.2.3.2.4 软件调试问题及解决软件程序的调试一般可以将重点放在分模块调试上,统调是最终一环。软件调试可以采 取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可;后者 一般需要仿真系统的支持。本次课题软件来调试程序,通过各个模块程序的单步或跟踪调试, 使程序渐渐趋于正确,最终统调程序。仿真局部承受protus 7.5 professional 软件,此软件功能强大且操作较为简洁,可以很简洁的实现各种系统的仿真。首
20、先翻开protus 7.5 professional 软件,在元件库中找到要选用的全部元件,然后进展原理图的绘制;绘制好后再选择wave2023 已经编译好的*。asm 文件,选择运行,观看显示结果,依据显示的结果和课题的要求再修改程序,再运行查,直到满足要求。2.2.3.2.5 实物调试结果以下图是本次试验实物调试结果:3、课程设计总结或结论图 2-10 实物调试我在这一次数字电子钟的设计过程中,很是受益匪浅。通过对自己在大学三年时间里所 学的学问的回忆,并充分发挥对所学学问的理解和对毕业设计的思考及书面表达力量,最终 完成了。这为自己今后进一步深化学习,积存了肯定贵重的阅历。撰写论文的过程也是专业 学问的学习过程,它使我运用已有的专业根底学问,对其进展设计,分析和解决一个理论问 题或实际问题,把学问转化为力量的实际训练。培育了我运用所学学问解决实际问题的力量。通过这次课程设计我觉察,只有理论水平提高了;才能够将课本学问与实践相整合,理论学问效劳于教学实践,以增加自己的动手力量。这个试验格外有意义 我获得很深刻的经验。通过这次课程设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性。课程设计评语课程设计指导教师成绩签字年月日