基于单片机得秒表设计_第1页
基于单片机得秒表设计_第2页
基于单片机得秒表设计_第3页
基于单片机得秒表设计_第4页
基于单片机得秒表设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文题目:基于单片机的秒表设计英文题目:StopwatchDesignBasedonSCM姓名学号专业班级08电科〔1〕班指导教师提交日期2023-6-30教务处制摘要近年来随着计算机在社会领域的渗透和大规模集成电路的开展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格廉价,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本次做的数字秒表是以单片机〔AT89C51〕为核心,结合相关的元器件〔共阴极LED数码显示器、锁存器74HC573等〕,再配以相应的软件,到达制作简易数字秒表的目的,其硬件局部难点在于元器件的选择、布局及焊接。关键词:单片机AT89C52锁存器LED数码显示AbstractInrecentyears,withcomputersintheinfiltrationandthedevelopmentoflarge-scaleintegratedcircuits.SCMapplicationissteadilydeepening,asithasstrongfunction,smallsize,lowpowerdissipation,lowprices,reliable,easytousefeatures,itisparticularlysuitedtoandcontrolofthesystem,increasinglywidelyusedinautomaticcontrol,intelligentinstruments,gauges,dataacquisition,militaryproductsandhouseholdappliances,andotherareas,isoftenmicrocontrollerasacorecomponenttouse,Inlightofspecifichardwarearchitecture,andapplication-specificsoftwarefeaturesobjectcombinetomakeperfect.ThefiguresdobellonSCM(AT89C51)atthecore,Combinedwiththecomponents(atotalofcathodeLEDdigitaldisplay,latchor74HC537),andfactoringinthecorrespondingsoftware,Easytoproducedigitalclockpurposes,aspartofthehardwarecomponentsisadifficultchoice,layoutandwelding.Keywords:SCMAT89C51TotalcathodeLEDfiguresdisplay74HC537目录正文41、单片机的功能42、设计思路63、功能实现64、仿真电路图75、程序代码及解释76、实物图117、调试过程12结束语12谢辞13参考文献13正文1、单片机的功能单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能〔可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路〕集成到一块硅片上构成的一个小而完善的计算机系统。MCS-51系列单片机,其主要功能如下:·8位CPU·4kbytes程序存储器(ROM)

·128bytes的数据存储器(RAM)

·32条I/O口线

·111条指令,大局部为单字节指令

·21个专用存放器

·2个可编程定时/计数器

·5个中断源,2个优先级

·一个全双工串行通信口

·外部数据存储器寻址空间为64kB

·逻辑操作位寻址功能

·双列直插40PinDIP封装

·单一+5V电源供电40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚。⒈电源:⑴VCC-芯片电源,接+5V;⑵VSS-接地端;注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。⒉时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。⒊控制线:控制线共有4根,⑴ALE/PROG:地址锁存允许/片内EPROM编程脉冲①ALE功能:用来锁存P0口送出的低8位地址②PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。⑵PSEN:外ROM读选通信号。⑶RST/VPD:复位/备用电源。①RST〔Reset〕功能:复位信号输入端。②VPD功能:在Vcc掉电情况下,接备用电源。⑷EA/Vpp:内外ROM选择/片内EPROM编程电源。①EA功能:内外ROM选择端。②Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。⒋I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号〔属控制总线〕5.P3口第二功能P30RXD串行输入口P31TXD串行输出口P32INT0外部中断0〔低电平有效〕P33INT1外部中断1〔低电平有效〕P34T0定时计数器0P35T1定时计数器1P36WR外部数据存储器写选通〔低电平有效〕P37RD外部数据存储器读选通〔低电平有效〕2、设计思路用数码管显示一个十进制数,变化范围为00~59,开始显示00,每按下S2键一次,数值加1;每按下S3键一次,数值减1;每按下S4一次,数值归0;每按下S5键一次,利用定时器功能使数值开始自动每秒加1,再按下S5,数值停止自动加1,保持显示原数。3、功能实现使用定时器中断产生时间,每次中断,使用全局变量,记录当时的时间,主函数检查按键,显示时间,图1是秒表设计导向图按键按键MCS-52数码显示图1秒表设计导向图4、仿真电路图图2proteus仿真电路图5、程序代码及解释#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitkey1=P3^4;sbitkey2=P3^5;sbitkey3=P3^6;sbitkey4=P3^7;sbitdula=P2^6;sbitwela=P2^7;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelay(uintx){uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);}ucharnumt0,num;voiddisplay(ucharnumdis)//显示子函数{ucharshi,ge;shi=numdis/10;ge=numdis%10;dula=1;P0=table[shi];dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(5);dula=1;P0=table[ge];dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(5);}voidinit(){TMOD=0x01;TH0=(65536-45872)/256;//装初值50ms一次中断TL0=(65536-45872)%256;EA=1;//开总中断ET0=1;//开定时器0}voidkeyscan(){if(key1==0){delay(10);if(key1==0){num++;if(num==60)num=0;while(!key1);}}if(key2==0){delay(10);if(key2==0){if(num==0)num=60;num--;while(!key2);}}if(key3==0){delay(10);if(key3==0){num=0;while(!key3);}}if(key4==0){delay(10);if(key4==0){while(!key4);TR0=~TR0;//启动或停止定时器0}}}voidmain(){init();while(1){keyscan();display(num);}}voidT0_time()interrupt1{TH0=(65536-45872)/256;//重装初值TL0=(65536-45872)%256;numt0++;if(numt0==20){numt0=0;num++;if(num==60)num=0;}}程序分析:将定时器初始化、键盘扫描、数码管显示局部分别写成独立函数,主函数直接调用。6、实物图图3实物图一 图4实物图二图3图4为本设计实物图的正面和反面7、调试过程按照理论上电路的连接方法,先仿真,让后做实物可能是数码管的连线太多,最终调试不成功,只有电源开关灯亮,数码管不能显示,将单片机放在学习板上调试,可以正确显示〔如图5〕 图5演示图结束语由以上调试过程可以说明程序没有错误,所以应该是电路的问题,理论上电路仿真也没有问题,最后得出结论是:在电路焊接的过程中应该有错误,因此以后对于这种连线比拟复杂的电路,最好是先用protel画PCB原理图,让后再直接刻板,这样就能防止因为连线多,焊接复杂而使实物调试失败。虽然自己焊接实物,没有调试成功,但是,对单片机的原理及结构有了更深的理解。在设计过程中也找到了一些单片机开发的规律:先了解所有元件的具体内容,从而画出其电路图,如果可以的话也可以先仿真,以对设计有个提前的预期。然而在调试过程中有也有许多的缺乏之处:例如编写调试程序有点缺乏,这样一个小程序花了好长的时间。希望能够在以后的不断深入学习中能够弥补自己的缺乏之处,同时更是朝着单片机应用领域迈进。谢辞通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论