ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:705.90KB ,
资源ID:11097592      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11097592.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机简易秒表正计时时间可设置倒计时时间可查询报警三秒.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机简易秒表正计时时间可设置倒计时时间可查询报警三秒.docx

1、单片机简易秒表正计时时间可设置倒计时时间可查询报警三秒 第一章 设计内容和要求1.设计任务用AT8C52设计一个4位的D数码作为多功能“秒表”。2设计目的1学习数码管显示的结构和工作流程,实现数码管分组显示数字组合。2学习有关单片机的内容,进一步了解AT952芯片的相关功能。 3.复习C语言的相关知识。4培养自学能力和探索解决问题的能力。1.3设计要求显示时间为00分0秒-59分59秒,每秒自动加1,另外设计一个“开始/暂停”键、一个“记录/查询”键、一个“清零”键、一个“模式切换”键、一个“时间设置”键、一个“复位”键。秒表要求正计时时,可记录并且查询10组数据,倒计时时,时间用户可设置,并

2、且时间到时蜂鸣器报警。1.4设计创新 在基本设计基础上添加了正向查询10条记录后蜂鸣器同时报警。15设计意义简易秒表具有读取方便,显示直观,功能多样,电路简洁,成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。本次设计将基于单片机的工作原理,设计简易秒表的基本电路,深入的了解其工作原理,掌握其基本的工作特点。同时简易秒表在生活中应用广泛,从实际出发,不断创新。第二章 方案设计与选择2.1技术可行性20世纪以来,微电子,IC集成电路行业发展迅速,其中单片机行业发展最引人注目。单片机利用大规模集成电路技术把中央处理器和数据存储器(RAM),程序存储器(ROM)及其他/通信口集成在

3、一块芯片上,构成最小的计算机系统。如今的单片机发展集成了更多的特殊功能单元,例如A/D,A转换器,通信控制,DMA,PWM控制输出单元等。因此,只要外加一些扩展电路及必要的通道接口就可以构成各种计算机应用系统。单片机除了具备体积小,价格低,速度快,用途广,可靠性高等特点,在硬件结构和指令设置上还有以下独特之处:1.存储器RO和RAM是严格分工的。前者存放程序,常数和数据表格,后者存放临时数据和变量。.采用面向控制的指令系统,构成的应用系统有较大的可靠性。大部分测控功能由软件实现,故具有柔性特征,不须改变硬件系统就能适当的改变系统功能。单片机的硬件功能具有广泛的通用性。4.品种规格的系列化。2.

4、单片机的选择方案一:采用T89C52单片机AT89C2是一种低功耗、高性能COS8位微控制器,具有8K在系统可编程Flsh存储器。使用Atme公司高密度非易失性存储器技术制造,与工业0C51产品指令和引脚完全兼容。片上Flah允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的位CU和在系统可编程ls,使得AT92为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。该芯片且具备在线编程可擦除技术,当在对电路停止调试时,因为顺序的过错修正或对步伐的心删功能需要烧进程序时,没有需要对芯片屡次插拔,所以不会对芯片形成破坏。方案二:采用FT10F单片机FTC10F4单片机还带有非易失

5、性Flsh程序存储器。它是一种高性能、低功耗的8位CMO微处理芯片,市场应用最多。其主要特点如下:8KB Flash RM,可以擦除000次以上,数据保存10年。方案三:采用801单片机8051单片机最早由nel公司推出,内部具有 存储空间。其后多家公司购买了81的内核,使得以051为核心的MU系列单片机在世界上产量最大,应用也最广泛。有人推测8051可能最终形成事实上的标准MU芯片。L公司生产的GS90系列单片机,与ntel CS-5系列、Ame 8C1/2,8C2051等单片机兼容,CMO技术,高达40MHZ的时钟频率。应用于:多功能电话,智能传感器,电度表,工业控制,防盗报警装置,各种计

6、费器,各种I卡装置、D、VCD、C-M。由于本系统对CP运算速度要求很高,需要执行很复杂的运算,方案一,三成本比较低,适合做设计,方案二运算速度高,性能好,所以三种方案都有可取之处。本次设计选用方案一作为主方案,设计以AT89C5为主控电路的方案电路。3显示模块的选择方案一:使用液晶显示屏显示时间数字。 液晶显示屏(LD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。但由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。在使用时,不能有静电干扰,否则易

7、烧坏液晶的显示芯片,不易维护。方案二:使用传统的LED数码管显示。数码管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度比较高,称重轻,精确可靠,操作简单。数码管采用BCD编码显示数字,程序编译容易,资源占用较少。根据以上的论述,采用方案二。在本系统中,我们采用了四位一体数码管串口的动态显示,因选用四位一体共阳数码管,所以要加共阳的驱动,采用pn的驱动。2.4键盘模块的选择在对倒计时时间可设置,对正计时、倒计时的模式选择时,清零时都需要用按键。方案一:使用独立式键盘。独立式键盘是指直接用/口线构成的单个按键电路。独立式按键电路配

8、置灵活,软件结构简单。方案二:使用矩阵式键盘。矩阵式键盘是由行线和列线组成,按键位于行、列的交叉点上,行线、列线分别连接到按键开关的两端。其特点是简单且不增加成本,这种键盘适合按键数量较多的场合。 根据以上的论述,因本系统需要的按键不多,只需要开始/暂停”键、“记录查询”键、 “清零”键、 “模式切换”键、 “时间设置”键。所以采用方案一独立式键盘。2时钟电路的选择时钟电路常用的有内部时钟方式和外部时钟方式,但因为本设计中只需要一片单片机,所以采用内部时钟方式比较简单。 第三章系统总体结构3.1系统结构框图图1图-3.2各框图实现功能32.单片机模块按照系统设计功能的要求,初步确定系统由主控模

9、块,存储模块,驱动模块,显示模块和键盘接口模块组成,如图1。这些模块中单片机占主控地位,采用98C52芯片。3.2.2按键模块 键盘电路模块主要是对输出显示进行控制调节作用,采用普通独立按钮元件,共5个,“开始暂停”键、“记录查询”键、 “清零”键、 “模式切换”键、 “时间设置”键。本设计选择了按钮电平复位电路,其他几个按钮则是通过单片机判断高低电平的不同来控制按钮。3.3显示模块显示输出部分所用的数码管有共阴极和共阳极两类数码管之分,不管使用何种数码管,P0口作为I/O使用时都是需要上拉电阻才能驱动数码管。另外,因为单片机的4个并行O口的输出电流一般是1A,短路电流为4左右,而数码管的最少

10、驱动电流也需要0m,因而不管在使用共阴数码管时,单片机输出口也必须使用上拉电阻提高输出电流,才能驱动数码管。本电路中采用的是共阴极数码管。驱动部分主要是数码管分组显示的选择控制,本电路中通过P口和P口的配合进行数码管的选通。在显示模块中,它的连接方式为8位数码管的各段控制口,b,,,f,g,p分别需接到P0口。数码管的显示码是由P0口输入的,位选端是通过P口控制的。数码管的显示编码已经编好放在计算机的内存里,时间的显示可以通过软件的计算把显示码调出显示。显示模块直接用数码管来显示时间。先将显示码存入数组中,指向最左边一位,然后取出要显示的数据,指向换码表首地址,取出显示码,从P0口输出显示码,

11、2口输入位选码,图2 数码管笔段分布图3.2.4驱动模块驱动部分电路选择S800芯片,通过与单片机的连接,将电平拉高才能使发光管正常发光。第四章 硬件设计由图1系统结构框图可知硬件选择如下:A89芯片,E数码管组,数码管驱动三极管,电阻,按钮等外围应用电路构成。下面介绍各外围电路。41A9C2单片机基本引脚接线图AT89C52的基本连接电路如图,有复位电路,内部时钟电路,VC,SS的连接,其余控制电路根据程序设计分别连至个I/口实现功能。图1为A895的引脚图,在设计中大部分采用40引脚的双列直插式芯片。图2介绍的是952作为基本连接电路中。P0口:口为一个位漏级开路双向I/O口,每脚可吸收8

12、TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。能够用于外部程序数据存储器,它可以被定义为数据地址的第八位。在FIASH编程时,P 口作为原码输入口,当FIAS进行校验时,P0输出原码,此时外部必须被拉高。 P口:P1口是一个内部提供上拉电阻的位双向/O口,P1口缓冲器能接收输出4TL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FH编程和校验时,1口作为第八位地址接收。P口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TL门电流,当P2口被写“”时,其管脚被内部上拉电阻拉高,且作

13、为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 3口:P3口管脚是个带内部上拉电阻的双向I/O口,可接收输出个TL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT9C5的一些特殊功能口,P

14、口管脚备选功能P3.D(串行输入口) P3.1XD(串行输出口) P3. /IT(外部中断) P.3 N1(外部中断)P3.T0(记时器0外部输入) P35 1(记时器1外部输入) P3./WR外部数据存储器写选通 P.RD外部数据存储器读选通 S:复位输入 E/POG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地

15、址上置0。此时, L只有在执行VX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态LE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/SEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /APP:当/EA保持低电平时,则在此期间外部程序存储器(0000-FFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为SE;当A端保持高电平时,此间内部程序存储器。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。图1 A8952引脚图图

16、2AT895基本电路接线图4.2时钟电路 图-时钟电路 时钟电路的晶振频率越高,系统的时钟频率越高,单片机的运行速度也就越快。如图中的TA1和XTAL2引脚间的部分,晶振频率根据设计需要设为11.092MHz,根据谐振性质,电路中的电容1、2选择为30F。该电容的的大少会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。4.按钮电路本设计采用独立按钮,按键未按下时,端口为电阻上拉高电平,按键被按下时,端口为低电平并送到相应控制端口。如图-3所示,一共设置为五个按钮。本次设计采用独立按键,同时应用行列式键盘中的11、21、41、1.一行实现独立式键盘,可方便焊接,再接一个按钮即可实现五个按钮的

17、控制。4.4复位电路本电路中采用上电复位电路,上电瞬间,电容充电电流最大,电容相当于短路,RS端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。如图4-中RST引脚的接线。45显示电路发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。分段式显示器(ED数码管)由条线段围成8字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。LED数码管有共阳、共阴之分。图4-2是共阳式

18、、共阴式LED数码管的原理图和符号。图4- 共阳式、共阴式ED数码管的原理图和数码管的符号图本设计电路为时,分,秒的显示,显示采用了四位一体的共极数码管。其中这个数码管组都由0口控制输出显示,片选信号由2口实现,,由于为共阳极数码管,片选时,该位所对应的数码管进行位驱动,其余为0。电路开始时,两个四位一体数码管组显示时间。LED显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。对于多位LED显示器,通常都是采用动态扫描的方法进行显示。图45 多位数码管的段驱动和位驱动的连接4.驱动电路电路中为共阳极数码管,所以选择013N三极管进行电路驱动。如图46。 图-利用三极管对数码管

19、进行位驱动.7电源电源由小变压器通过2V降压至V由导线引至电路两端获得。由于设计芯片的工作电压为5,所以若想直接从住宅供电获取,则可采用小型变压器,高压侧由导线接至插头,低压侧可用导线连接杜邦线,直接接在芯片上获得所需工作电压。或者采用干电池直接提供5电压,可根据自身条件选择。第五章 软件设计系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;(2)培养良好的编程风格,如

20、考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;(4)绘制程序流程图;(5)合理分配系统资源;(6)为程序加入注释,提高可读性,实施软件工程; (7)注意软件的抗干扰设计,提高系统的可靠性。软件系统框图图5 5.2主程序流程图蜂鸣YNNNNNYYYYY 图5-25.3系统主程序ilude reg2.h#define uc uniedcha#neuiusined intvoi display();car cetab=xc0,0xf9,0a4,0xb,x99,0,0x82,x8,x80,0x0,0ff

21、;/数字对应显示码表 char coeta1=0x40,0x79,x24,x30,1,x12,002,078,0x0,x0;/小数点 cha code nex0x0,0x20,0x40,0x80;/0xef,xdf,0xbf,0x7f; 每位数字对应数码管显示位置uc num;/每位数字存放数组 ucva14;/存储的记录10为记录序列,8为每组记录中的数字char val_ndex;/记录序列标志位 u et_ndex,ofag,tmg;bitmd=1;/运行模式,1为正向计数,0为反向计数。it fin_flg=;/完成标志位,当反向计数结束时,此位为高电平,触发蜂鸣器 bi st_ha;

22、sbit e=P32;sbi e1=P3;sbit key2=4;sbi key=P35;bt ke4=P3;bi ey5=P7;viddelay(ui z) uii,j; o(=0;iz;+)for(j=0;j121;j+);voidini()TOD=011;TH0=0x4b;TL0=xff;TH0x4b; TL1=xf; ET1=1;R1=1; ET0=1; TR0=0;A=1;va_nde0;vi()uc ; o(i0;i;i+)ui=0;voi seu()ok_lg=xff; setnde0;whie (ok_fag) dislay(); i(ey=0) /按动Y1设置值加1 elay

23、(); f(key1) if ((_index=0)|(set_nex2)|(et_ndex=4)|(st_idex=6)) numset_iex+; if(numstindx=10) usetdx=0; lse if(set_ne=1)|(set_ndex=3)|(et_nde=5)|(se_inde=7)) nmse_inx+; f(nmse_inex=) nustnx=0; whle(!k1) dsplay(); if(ey2=0) /按动EY2设置位置加1 delay(5);if(k0) set_index+; if(sdx=8) setine0; while(!ke2) disply

24、(); if(ey5=0) /按动Y5设置结束 dlay(5);if(key=) okfla0x0; od=0; whie(!key5) displa(); oi ispay() c i; if(okfla!=0xff) if(timing=0) fo(i0;i4;) P0=0xf; P2=nxi; if(=2) P=tab1num;es P0=tbnui; ely(2); /修改此参数可修改刷新频率 else f(set_shan=0) for(i=;i4;i+) P0=0xf; P=indexi; P0ta10; delay(2); 修改此参数可修改刷新频率 ele i(seshn=1)

25、for(i;i4;+) P0ff; P2indexi; f(=) P0=tab1nmi; ese Ptabnumi; delay(); /修改此参数可修改刷新频率 ese f(set_shan=0) i(setnex=0) for(i0;i4;i+) if(i=0) P2=d0; P=t0; ela(2);/修改此参数可修改刷新频率 P0=0xff; else P2=ndei; if(i=2) ab1num; else P0tnm; dea(2); /修改此参数可修改刷新频率 00ff; eei(setindex1) for (i=0;4;+) f(i=1) 2idx1; P0=tab10; dlay();/修改此参数可修改刷新频率 P0=xff; els P2=indexi; P=tbnmi; dely(2);/修改此参数可修改刷新频率 P0=0xff; elei(set_ndx=2) for (=0;i4;i) f(i=) P2=2; P0=ab10; deay();/修改此参数可修改刷新频率 P0=0xf; else 2=indexi; i(i=2) P0ab1num; lse P0=tanui; ey(2); /修改此参数可修改刷新频率 P0=0f;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1