下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一:课程设计题目秒表/时钟计时器二:课程设计任务与要求:利用89C51单片机设计秒表/时钟计时器,通过LED显示器显示秒十位和个 位,在设计过程中用一个存储单元作为秒计数单元,当一秒钟到来时,就让 秒 计数单元加1,当秒计数达到60时,就自动返回到0,重新开始秒计数。三:设计过程:1 .设计原理:此次课程设计题目是 秒表/时钟计时器,由课程设计的要求和任务, 我米用的C语言编程,设计秒表要求一秒定时,米用了定时器和FOR01环来定 时,其中一个软件一个硬件,会在方案论证中分析在 1秒时采用的是硬件定时,即用 单片机内部的定时器T0O先将时钟初始化,赋入初值 50ms定时,循环20次来进 行1秒
2、定时。然后由定义的变量second来进行加一运算,然后将其值通 过P1, P2 口在数码管上进行显示。其 中数码管的显示时,我在程序中首先定义 了一个关 于数码管显示的字形码定义,以便在显示时调用即可。(1)方案论证:方案1:在方案1中,我们所选用的是软件定时,即用 for循环来定时1秒进行 显示的变化。方案2:在方案2中,采用的是硬件定时,即用单片机内 部的定时器T0o先将 时钟初始化,赋入初值50ms定时,循环20次来进行1秒定时。方案比较:我们从两方面进行两种方案的比较,第一,由于此次课程设计要求 是秒表,则在定时时要求比较精确,所以采用硬件的定时器定时时比较准确的。第二,由于秒表的定时
3、程序是很小的,在利用软件定时占用的CPU并不是很多,不能显现出来,但真正大程序时会很占用资源的,所以在用定时中断过程中是 非常节省资源的。综合上述两种比较,我们选用了第二种方案。(2)创新点:a在课程要求的基础上,我们做成的电路板上,用复 位键来控制秒表计时的 重 新开始,即清零。b.在以上设计的基础上,我们又重新设计了一个程序,基本原理没有变,只是将秒表在到达59清零的瞬间向分的位 数上进1,程序将会在附录3中给出2 .硬件系统框图与说明:t 介 W i r:i IfxrCLj (liiiaiiiuf)C O- * T |-r j * . T i 。ehh*ii flse: ec x) :t
4、ol讨sew) 咫Q *首先,连接的是单片机51的最小系统,其中包括时钟电路,复位电路, 在此中包括的元器件在附录 3中。我们所选用的数码管是共阴极的,置 1时 导通,所以将单片机的 P1.0P1.7连接数码管的adp,P2 口同理。然后在数 码管秒表个十位的显示则由软件程序来控制。3 .软件主要模块流程图与说明:3在真正应用时,我们的一秒定时是用定时中断的,但单片机的T0 最长也不能1秒定时,所以我们采用50ms定时循环20次,用count来控制。当秒的时间达到59 时,用软件来清零时循环从 00 重新开始。四: 课 程 设 计 总结 :1:本次的课程设计,使关于51 系列单片机的,正是我们
5、刚刚学到的51 单片机,在平时课程的学习中,我们仅限于理论知识的讲解,即使知识是很扎实的,实 际应用并不是这样的。开始时我也觉得自己的理论知识已经够了,但当我拿到 课题时,在脑海里想的是非常好的,但真正编成和控制时,理论和实际结合不 到一起,甚至于 51 芯 片的使用我都感觉很迷茫,还是经过搜集大量资料才将理论与实际结合到一起了。本次课程设计我主要负责编程,这次不仅锻炼了我C 语言的知识,更加我们正在学习的51 的 定时与中断结合在一起,进行了实际的操作,让我的知识掌握得更加牢固。本次的实际经验之后,让我对单片机定时 赋初值有了更新的认识,对程序的循环顺序、结构类型都有了非常深刻的认识 , 对
6、真正硬件的连接也有了认识,不再将自己的知识局限于自己狭隘的空间中。 2: 通过这次课程设计秒表/时钟计 时器,使我又重新开始 学习 C 语言,因为 C 语言是大一学的 ,至从学完就再也没用 过,所以开始很陌生,我又找了有关资料来了解,才有了一点眉目。刚开始以为可以用汇编很容易就写出来,因 为我们正在学习汇编语言,以为学的很明白了,但是用汇编时才发现原来都不 怎么熟练,编了一会程序发现只有一种感觉举步维艰啊!还是放弃汇编 选 择 C 语言吧!对于单 片机,我们课本学习的是80C51,但是这次做课程设计用 的是89C51,这样不仅使我们 掌握了 80C51,而且对89C51也有了一定的了解了,在课
7、堂上学习的都理论的, 跟实际永远有一定的差距,不实践就不会发现 问题。通过这次课程设计使我把课堂上学习的东西都用到了实践中,例如:定 时 /计数器的应用 与中断。学习的时候不怎么理解,但是在实践中应用了以后就自然了解了。这次课程设计使我受益匪浅,而且都是实际的东西。3: 这次课程设计,我们做的是秒表/时钟计时器,最终我们选择的是用C 语言编程,但原来学的也只是能看懂别人写好的程序而已,通过这次课程设计,更加熟练了C 语言的 程 序设计思路。这次课程 设计我主要负责焊接电路板,焊接过程中最困难的地方就是数码管的焊接,因为数码管的管脚和89C51 的管脚是不对应的,而且要避免接线的交叉,所以最后确
8、定了布线最合理的方案,如硬件电路图所示。我们这次设计的出现的最大问题是电路当中的复位电路,开始电路在Proteus上仿真时都是可以正常 复位的,但实际的电路中复位按键后的电阻的参数不合理,导致了RST 上有电压,复位电路无效,所以最后我们去掉了那个电阻,此时复位电路才有效,所以理论和实际永远有差距,不实践永远发现不了问题。在焊接前我们没有想到给数码管用插槽固定,而是直接焊在了电路板上,这造成了后面的很多麻烦,我们方案中用的是共阴极的数码管,焊接第一个数码管时没有注意型号,等焊接到一半时才发现焊上的是共阳极的,所以不得不解焊重新焊接,这也是一个教训,以后焊接器件时能用上插槽的尽量用插槽,这在器件
9、出了问题时很方便更换。最后焊接完成后在试验的过程中,刚一接通电源后的上电电压烧坏了 LED显示器显示秒十位的c脚,这也是这次课程设计的遗憾,以后在硬件的实验时还要多小心,避免造成不必要的损失。4: 通过本次 秒表/时钟计时器的设计实验,使我对这学期学所学51 系列的单片机从理论知识到实践硬件的应用以及C 语言知识的回顾,更加熟悉了89C51 单片机的每一个拐角的输出和各项功能,而且对硬件电路的布线以及焊接能力有了很大的进步。在这次试验中,我主要负责的是硬件电路的布线和焊接以及硬件测试。由于本次试验电路比较简单,所以我们按照电路图布线后就马上开始焊接。焊好一个数码管检测后才发现我们把共阴极的数码
10、管焊接成共阳级的了,很不容易才解焊下来,有了这次教训后,我们在焊接其他元器件的时候都提前检测好才开始焊接。第一次焊接完成后我们上电后发现实现了基本功能,可是不能复位,经过我们的讨论和反复试验,我们发现软件仿真和硬件实现并不是完全一致的,我们按照课本上焊接后终于完全实现了秒表/时钟计时器的功能。快要验收时我们发现数码管的一个二极管坏了,这才让我们意识到没有焊接插针的缺陷,以后一实验时一定要尽可能让原件可以取下,以便出现问题是更好的更换。这次课程设计终于圆满的完成了,我从理论和硬件以及实践上懂得了很多,也明白了一个团队的合作精神可以让我们战胜所有的困难。13五:附录附录1:电路原理图:FUW13W
11、a* PUJLE-JWUIinzw*rn*5WTT!日研firn*nr 电弟QIjtsm F? UH vjjwri * 3 ”VJTJM-r附录2:实物图:附录3:源程序及程序解释:#include/包含头文件 REG51。H#define uint unsignedint#define ucharunsigned charunsignedcharcodeSEG710=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 数码 管09的字型码*/ucharcount,second;定义变量/*void init()/定义定时器T0初始化程序TM
12、OD=0x01;TH0=(65536-50000)/256;/赋初值定时 1 秒TL0=(65536-50000)%256;ET0=1;TR0=1;EA=1;P2=SEG70;P1=SEG70;void delay(unsignedint k)/定 义 延时程序unsigned int i,j;for(i=0;ik;i+)for(j=0;j59)second=0;P1=SEG7second/10;/显小秒的十位delay(10);/延时P2=SEG7second%10;显示秒的个位delay(10);附录4: for循环程序#includeunsignedcharcodeSEG710=0x3f
13、,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/*/void delay(unsignedint k);/void main(void)unsignedcharval1=0;long i;while(1)for(i=0;i59)val1=0;/void delay(unsignedint k)unsignedint i,j;for(i=0;ik;i+)for(j=0;j121;j+);附录 5: 汇 编 程序ORG 0000HSTART:MOV R1,#20MOV R2,#10MOV R3,#6MOV R4,#00HLOOP1:MOV R2,#10LOOP: MOV A,R4MOV B,#0AHDIV ABMOV DPTR,#TABMOVC A,A+DPTRMOV P1,AMOV A,BMOVC A,A+DPTRMOV P2,ALCALL DELINC R4DJNZ R2,LOOPDJNZ R3,LOOP1MOV P1,#00MOV P2,#00LJMP STARTDEL:MOV R7,#12DEL1:MOV R6,#123NOPDEL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高职(国土资源调查与管理)土地规划综合测试试题及答案
- 2025年中职(影视表演)影视片段演绎试题及答案
- 2025年大四(物流工程)供应链管理综合测试卷
- 2025年大学花样滑冰运动与管理(花滑技术)试题及答案
- 2025年大学大四(轮机工程)船舶维修技术阶段测试试题及答案
- 2025年高职火电厂热力设备运行与检修(锅炉运行维护)试题及答案
- 2025年中职精细木工(精细雕刻技术)试题及答案
- 2026年河南农业职业学院单招综合素质考试模拟试题带答案解析
- 2026年福建工程学院单招综合素质考试备考题库带答案解析
- 2026年成都职业技术学院单招综合素质考试模拟试题带答案解析
- 基于光声机理的激光微驱动机构:原理、设计与应用
- GB/T 46126-2025机用套筒扳手技术规范
- (新版)FSC产销监管链认证全套管理手册及程序文件(可编辑!)
- 虚拟企业绩效评估模型-洞察及研究
- 堤防工程施工规范(2025版)
- 《机械制图》电子教材
- 尿源性脓毒血症护理查房总结
- 道法国际新闻课件教学
- 步兵引导打击课件
- 教师教案比赛评分表模板
- 2025至2030中国基于声发射的无损检测行业产业运行态势及投资规划深度研究报告
评论
0/150
提交评论