版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2016届课程论文单片机原理及应用课程设计多功能电子秒表学生姓名 郭君君 学 号 5011212411 所属学院 信息工程学院 专 业 计算机科学与技术 班 级 16-4班 指导教师 孟洪兵 前 言中国使用单片机的历史只有短短的30年,在初始的短短五年时间里发展极 为迅速。纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据 处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于
2、长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。所以,它的魔力不仅是在现在,在将来将会有更多的人来受它、使用它。据统计,我国的单片机年容量已达3亿片,且每年以大约20%的速度增长,但相对于世界市场我国的占有率还不到1%。特别是沿海地区的玩具厂等生产产品多数用到单片机,并不断地辐射向内地。所以,学习单片机在我国是有着广阔前景的。目 录摘 要1一 课程设计目的及意义1二 课程设计题目描述和要求2
3、三 课程设计报告内容23.1设计思路23.2系统总体方案及硬件设计33.2.1系统总体方案33.2.2程序流程图4四 子程序模块设计5五 keil软件仿真图6六 实物图6总结7参考文献8附录11塔里木大学信息工程学院课程设计摘 要在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。秒表的出现,解决了传统的由于人为因素造成的误差和不公平性。 本设计的多功能秒表系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合显示电路、电源电路、LED数码管以及按
4、键电路来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计数,并且结合相应的显示驱动程序,使数码管能够正确地显示时间,暂停和中断。我们设计的秒表可以同时记录八个相对独立的时间,通过上翻下翻来查看这八个不同的计时值,可谓功能强大。其中软件系统采用c语言编写程序,包括显示程序,计数程序,中断,延时程序,按键消抖程序等,硬件系统利用keil强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。 关键字:单片机;多功能秒表一 课程设计目的及意义1.1设计目的 设计一个单片机控制的秒表系统。利用单片机的定时器/计数器定时和记数的原理,结合显示电路、LED数码管以及按键来设计秒
5、表。将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时具有开始/暂停,记录,上翻下翻,清零等功能。 1.2设计要求 (1) 共四位LED显示,显示时间为00:0099.99 (2) 共五个按键,分别是开始/暂停,记录,上翻,下翻,清零键; (3) 能同时记录多个相对独立的时间并分别显示; (4) 翻页按钮查看多个不同的计时值; 1.3设计意义 (1) 通过本次课程设计可以使我们进一步熟悉和掌握单片机内部结构和工作原理,了解单片机应用系统设计的基本步骤和方法。 (2) 通过利用AT89C51单片机,理解单片机在自动化仪表中的作用以及掌握单片机的编程方法。 (3) 通过设计一个简单的实际应
6、用输入及显示模拟系统,掌握单片机仿真软件PROTEUS的使用方法。 (4) 该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、功能,并能同时记录多个相对独立的时间利用翻页按钮查看多个不同的计时值,该种秒表在现实生活中应用广泛,具有现实意义。 二 课程设计题目描述和要求 题目描述:基于单片机的多功能秒表设计。要求:开始时,显示“00.00”,第一次按下按钮后开始从00.00-99.99s计时,显示精度为0.01s;对应有5个功能按键第1个按键开始/暂停按钮,第2个按键记录按钮,第3个按键及时上翻按钮,第4个按钮下翻按钮,第5个按钮清零按钮,可同时记
7、录下八组数据。 三 课程设计报告内容了解AT89C51芯片的的工作原理和工作方式 ,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示秒,并能用按钮实现秒表起动、停止、记录、清零功能,精确到0.01秒。要求选用定时器的工作方式,画出使用单片机控制LED数码管显示的电路图,并在实验箱实现其硬件电路,并编程完成软件部分,最后调试秒表起动、停止、记录、清零功能。 3.1设计思路该实验要求进行计时并在数码管上显示时间,用AT89C51单片机来实现,按设计要求本实验要采用六个按键,其中复位按键在电路中,不需要再用程序控制,在仿真时用不到,其他五个按键可以用I/O端口来控制,写上其对
8、应的程序,延时一秒钟可以用中断来控制,计算好中断次数.要加上防止按键抖动程序,选择好数码管的显示方式,想减少I/O口的使用就用动态,想编程简单就是用静态。 3.2系统总体方案及硬件设计 3.2.1系统总体方案本系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时计数的原理,结合硬件电路如电源电路,晶振电路,复位电路和显示电路,以及一些按键电路等来设计计数器,将软硬件有机结合起来,其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,硬件系统利用keil强大的功能来实 现,简单易于观察,在仿真中就可以观察到实际的工作状态。 (1)单片机的选择 AT89C51是一种带4K字节
9、FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的
10、方案。 主要特性: 与MCS-51 兼容;4K字节可编程FLASH存储器;寿命:1000写/擦循环;数据保留时间:10年;全静态工作:0Hz-24MHz;三级程序存储器锁定;128×8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路 (2)管脚说明 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0
11、输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TT
12、L门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。3.2.2程序流程图 四 子程序模块设计 1)、显示精度为0.01秒程序 本设计采用定时器/计数器T0的方式一,为16位位定时器/计数器,系统时钟频率采用12MHZ,采用T0中断方式1:16位定时器/计数器,TMOD=0X01, 计算初值: 机器周期=1us=1×10-6 设需要装入T0的初始值为X,则有(216-X)×10-6=5×10-3; X=15536; TH0=(65536-50000)/256; TL0=(6
13、5536-50000)%256; 由此公可知每次中断时间是50ms,则只需要中断20次显示位数计算: P2=0xfe;P0=tabsec/10;break;/显示秒十位 P2=0xfd;P0=tab1sec%10;break; /显示秒个位 P2=0xfb;P0=tabms/10;break;/显示十位 P2=0xf7;P0=tab1ms%10;break; /显示个位2)、消除按键抖动程序 keynum=P1; if(keynum!=0xff) delay(10); temp=P1; if(keynum=temp) 3)、软件复位程序 软件复位不能清除中断标志位,实际效果与清零效果一样,软件
14、复位后,直接从程序开始运行,如果在软件复位 程序前加上关闭中断,就与硬件复位效果一样了,还有软件复位内存中的临时数据是不会清空的。 static unsigned char num; TH1=0xF8;/重入初值 TL1=0xf0;五 keil软件仿真图六 实物图总结单片机是我所学专业的主要课程之一,因此我认为单片机课程设计是十分必要而且十 分重要的。尽管刚刚拿到课程设计题目时有点迷惘,不知道如何着手,但通过上网和图书馆查阅相关资料,自己认真钻研以及虚心询问同学,终于解决了一个又一个的困难和障碍,成功完成了任务。 通过本次的单片机课程设计,不仅大大地丰富了我的理论知识,而且在实践过程中更令我学
15、会了坚持、耐心和努力。此次单片机课程设计需要运用到许多之前所学过的知识,令我认识到自己以前学习的一些不足之处,例如对以前所学知识的理解不够深刻,掌握得不够牢固,运用不够灵活。这让我懂得了认真学习的重要性,以及要孜孜不倦地钻研所学过的知识,做得融会贯通,不能一览而过,不求甚解。在边学习边动手的过程中,我对电子时钟的构造以及原理有了进一步的了解,同时也加深和巩固了我对单片机汇编语言的认识。除此之外,由于是第一次做单片机,因此在此次课程设计的过程中,无论是电路绘制还是汇编语言编写都难免遇到了不少困难和障碍,例如汇编语言编写出错、电路元件无从入手等。在面对困难和障碍时,我庆幸自己没有退缩和逃避,而是通
16、过各种方法,迎难而上,以坚持、耐心和努力勇敢无畏地面对困难,克服困难,解决困难。让我发现问题、分析问题、解决问题以及动手实践的能力都有了很大的提高,并了解到理论知识与实践相结合的重要意义。 从这次的课程设计中,我们真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单机片机更是如此,程序只有在经常的练习的过程中才能提高。本次课程设计尽管时间不长,但从中所获,将令我受益终生。参考文献1 程国钢. 51单片机应用开发案例手册。电子工业出版社.2011.11 2 张毅刚. 单片机原理与应用设计。电子工业出版社. 2009.12 3 郭天祥编著.51单片机C语言教程
17、-入门、提高、开发、拓展全 攻略.电子工业出版社.2010.05 4 丁峻岭主编.C语言程序设计.中国铁道出版社.2009.12 5 公茂法.单片机接口实例集.北京:西安电子科技大学出版社,2004 附录#include <reg51.h>code unsigned char tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /共阴数码管 0-9 code unsigned char tab1=0xBF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF; /共阴数码管0-9带小数点
18、sbit key1 = P10; /开始、暂停 sbit key2 = P11; /记数 sbit key3 = P12; /上翻 sbit key4 = P13; /下翻 sbit key5 = P14; /清零 static unsigned char ms,sec; static unsigned char Sec8,Ms8; static int i ,j; void delay(unsigned int cnt) /延时程序 while(-cnt); void main() unsigned char key3_flag=0,key4_flag=0; TMOD |=0x01;/定时器
19、0 10ms in 12M crystal 用于计frtgtfrg时 TH0=0xd8; TL0=0xf0; ET0=1; TR0=0; TMOD |=0x10; /定时器1用于动态扫描 TH1=0xF8; TL1=0xf0; ET1=1; TR1=1; EA =1; sec=0; /初始化 ms=0;P1=0xff;i=0; j=0; start: while(1) /开始、暂停 if(!key1) /判断是否按下 delay(10); /去抖 if(!key1) while(!key1) /等待按键释放 ; TR0=!TR0; /记录 if(!key2) /判断是否按下 delay(10)
20、; /去抖 if(!key2) while(!key2) /等待按键释放 ; if(i=8) /8组数据记录完毕 TR0=0; goto start; Seci= sec; /将数据存入数组 Msi= ms; i+; /上翻 if(!key3) delay(10); if(!key3) while(!key3) ; TR0=0; key3_flag=1; /按键3标志 if(j=i) goto start; else if(key4_flag) j+=2;key4_flag=0; sec=Secj;ms=Msj; /显示数组里的内容 j+; /下翻 if(!key4) delay(10); if(!key4) while(!key4) ; TR0=0; key4_flag=1; /按键4标志 if(j<0) goto start; else if(k
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 淮阴师范学院《名师成长案例研究》2021-2022学年第一学期期末试卷
- 淮阴师范学院《运河文化研究》2022-2023学年第一学期期末试卷
- 淮阴师范学院《刑法(1)》2021-2022学年第一学期期末试卷
- 淮阴师范学院《微机原理与接口技术》2022-2023学年期末试卷
- 淮阴师范学院《合唱与指挥(1)》2022-2023学年第一学期期末试卷
- 淮阴师范学院《操作系统》2022-2023学年期末试卷
- 淮阴工学院《新能源仪器分析》2021-2022学年第一学期期末试卷
- DB4117-T+419-2024兽药消毒剂生产技术要求
- DB2305-T 020-2024牛病毒性腹泻病毒pcr检测规程
- 2025超长期特别国债怎么谋划
- 好看的皮囊千篇一律有趣的灵魂万里挑一
- 某房地产公司项目定位分析
- 部编版三年级上册道德与法治作业设计
- ERAS理念下麻醉与镇痛的优化
- 2023-2024学年四川省泸州市江阳区西路学校七年级(上)期中数学试卷(含解析)
- 2023年下半年软件设计师真题 答案解析(上午选择 下午案例)全国计算机软考
- 初中英语新课程标准词汇表
- 创伤失血性休克中国急诊专家共识(2023)解读
- 学校体育与社区体育融合发展的研究
- 中国旅游地理智慧树知到课后章节答案2023年下平凉职业技术学院
- 工程竣工移交报告
评论
0/150
提交评论