版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计(论文)说明书题目:计数器院〔系〕:信息与通信学院专业:电子信息工程学生姓名:*******学号:************指导教师:唐**职称:讲师2023年12月24日注:论文附有原理图和PCB图。点击下载摘要随着计数器技术的不断开展与进步,计数器的种类越来越多,应用的范围越来越广,现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器〔拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器〕、液晶计数器等。本课设设计的是由AT89S52单片机控制的计数器.通过驱动电路驱动两个共阴数码管进行显示数字。另外,在计数的方式上通过两个轻触开关进行控制是手动计数还是自动计数。在计数过程中可以通过复位按键进行复位,然后在进行下一次的计数。计数范围00~59,进行软件编程是本课设设计的是手动计数时从59开始,没按一次P3^7所接的轻触开关就减一,直到减到00又跳回59依次进行。而当P3^6外接的轻触开关按下一次就进行自动从00~59的加一计数。再按一次数值停止自动,保持显示原数,再按下接着进行自动计数。关键词:单片机;计数器;数码管;AbstractAstechnologycontinuestocounterthedevelopmentandprogress,thetypeofthecountermoreandmoreincreasinglywiderangeofapplications,inordertocounterthekindnow:electromagneticcounters,electroniccounters,mechanicalcounters(pullingmechanicalcounter,counterrotatingmachinery,pressingthemechanicalcounter,lengthmeasuringmechanicalcounter),LCDcounters.ThiscourseisdesignedtosetupcontrolledbythemicrocontrollerAT89S52counterthroughthedrivecircuittodrivetwocommoncathodeLEDdisplaynumbers.Further,thecountmodeswitchviatwotouchcontrolsarecountedmanuallyorautomaticallycounting.Inthecountingprocesscanberesetbyaresetbutton,andthenduringthenextcount.Countrange00to59,isasoftwareprogramdesignedforthiscourseissetupfromthe59tostartthemanualcount,nottheconnectedbyaP3^7touchswitchonminusone,untilreducedto00and59tojumpbackinturn.WhenP3^6externaltouchswitchispressedonceautomaticallyfrom00to59plusonecount.Pressagaintostoptheautomaticvalue,maintainingtheoriginalnumberisdisplayed,pressfollowedbyautomaticcounting.Keywords:microcontroller;counters;digital;目录HYPERLINK系统的功能要求及方案选择…………………12.1HYPERLINK系统功能要求…………………12.2HYPERLINK方案选择……………………2HYPERLINK\l"硬件系统设计"3硬件系统设计介绍……………2HYPERLINK\l"系统芯片介绍"3.1系统芯片介绍………………2HYPERLINK\l"单片机AT89S52功能介绍"3.1.1单片机AT89S52功能介绍………………2HYPERLINK\l"数码管的介绍"3.1.2数码管的介绍………………5HYPERLINK\l"硬件设计"3.2硬件设计……………………6HYPERLINK\l"复位电路"3.2.1复位电路…………………6HYPERLINK\l"晶振电路"3.2.2晶振电路…………………8HYPERLINK\l"最小系统电路"3.2.3最小系统电路……………9HYPERLINK\l"数码管显示电路"3.2.4数码管显示电路…………10HYPERLINK\l"数码管驱动电路"3.2.5数码管驱动电路…………10HYPERLINK\l"单片机P0口上拉"3.2.6单片机P0I/O上拉………10HYPERLINK\l"系统软件设计"4系统软件设计………………11HYPERLINK\l"主程序流程图"4.1主程序流程图………………11HYPERLINK\l"计数器程序"4.2计数器程序…………………12HYPERLINK\l"Proteus仿真"4.3Proteus仿真………………14HYPERLINK\l"总结"5总结……………15HYPERLINK\l"谢辞"谢辞…………16参考文献…………17HYPERLINK\l"附录"附录……………18硬件电路的设计1.1设计原理图图〔1〕电路原理图1.2主控局部的选择本设计采用的主控局部是常见的单片机AT89S52,实现控制与处理的功能。单片机具有资源丰富、速度快、编程容易等优点。利用单片机内部的随机存储器〔RAM〕和只读存储器〔ROM〕及其引脚资源,外接数码管,通过轻触开关接地输入到P3^7实现计数脉冲的传输;另外,利用P3^6的上下电平和软件编程启动或停止定时器零进行00~59的计数。每隔一秒记一次;2系统的功能要求及方案选择2.1系统功能要求要求:1.计数范围:00~592.精确显示数字应解决问题:基于单片机构成的产品自动计数器研究的主要内容包括:如果构成检测电路、51单片机用何种方式对外部计数脉冲进行计数显示控制、LED显示驱动模块的选择、51单片机的扩展。在这个设计中主要需要解决的问题便是如何提高51单片机的抗干扰能力以及稳定性。2.2方案选择方案一:采用多种数字逻辑电路来实现逻辑控制、主门、门控、计数单元的设计要求,这样设计的电路整体比拟复杂,而且不宜完成发挥局部的功能要求。所以方案一不采用。方案二:可以采用FPGA来实现逻辑控制、主门、门控、计数单元的设计要求,并且设计方便,但由于对FPGA的技术原理掌握不够熟练,所以放弃方案二。方案三:系统采用8051为核心的单片机控制系统,实现原理图中的逻辑控制、主门、门控、计数的设计要求单片机计数器的方式控制存放器TMOD中的GATE位=1时,可以很方便的进行INT0引脚的外部输入信号的时间间隔测量。且单片机的控制电路很容易实现扩展。故采用方案三。3硬件系统设计介绍3.1系统芯片介绍3.1.1单片机AT89S52功能介绍AT89S52是Atmel公司生产的一种低功耗、高性能CMOS8位微控制器,具有8位在系统可编程Flash存储器。AT89S52使用Atme公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,也适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。其主要功能列举如下:1、拥有灵巧的8位CPU和在系统可编程Flash2、晶片内部具时钟振荡器〔传统最高工作频率可至12MHz〕3、内部程序存储器〔ROM〕为8KB4、内部数据存储器〔RAM〕为256字节5、32个可编程I/O口线6、8个中断向量源7、三个16位定时器/计数器8、三级加密程序存储器9、全双工UART串行通道下面简单介绍AT89S52所用到引脚的功能:图〔2〕AT89S52芯片AT89S52管脚图VCC:AT89S52电源正端输入,接+5V。GND:接地。XTAL1:单芯片系统时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以工作了,此外可以在两引脚与地之间参加一30PF的小电容,可以使系统更稳定,防止噪声干扰而死机。RESET:AT89S52的复位引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S52便能完成系统重置的各项动作,使得内部特殊功能存放器之内容均被设成状态,并且至地址0000H处开始读入程序代码而执行程序。EA/Vpp:寻址外部ROM控制端。低有效片内有ROM时应当接高电平。故此课设中接高电平〔VCC〕P0.0~P0.7:端口0是一个8位宽的开路汲极〔OpenDrain〕双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口〔P1、P2、P3〕那么不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时〔即取用外部程序代码或数据存储器〕,P0就以多工方式提供地址总线〔A0~A7〕及数据总线〔D0~D7〕。设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。此处外接上拉电阻,供代表十位的数码管使用;P2.0~P2.7:端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,假设将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,假设是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。此处外接代表个位的数码管。P3.0~P3.7:端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。用排针引出,用于扩展。同时,P3^6,P3^7与轻触开关连接,用于控制计数器脉冲输入。其引脚分配如下:P3.0:RXD,串行通信输入。P3.1:TXD,串行通信输出。P3.2:INT0,外部中断0输入。P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。P3.6:WR:外部数据存储器的写入信号。P3.7:RD,外部数据存储器的读取信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。3.1.2数码管的介绍在本任务中用两位数码管显示当前数值的十,个,采用动态显示方式。两位数码管的相同段并联在一起,由一个6位I/O〔P1口〕输出字形码控制显示某一字形,每个数码管的公共端由另外一个I/O口〔P0口)输出的字位码控制,即数码管显示的字形是由单片机I/O口输出的字形码确定,而哪个数码管点亮是由单片机I/O口输出的字位码确定的。数码管有共阴极和共阳极两种,图〔3〕对于共阳数码管,字形驱动输出0有效,字位驱动输出1有效;而对于共阴数码管那么相反,即:字形驱动输出1有效,字位驱动输出0有效数码管使用条件:a、使用电压段:根据发光颜色决定;b、小数点:根据发光颜色决定c、使用电流:静态:总电流80mA〔每段10mA〕;动态:平均电流4-5mA峰值电流100mA数码管使用考前须知说明:〔1〕数码管外表不要用手触摸,不要用手去弄引角;〔2〕焊接温度:260度;焊接时间:1s〔3〕外表有保护膜的产品,可以在使用前撕下来。3.2硬件设计本设计主要由单片机、数码管、轻触开关等组成。其中轻触开关用于控制输入脉冲进行计数。数码管由P0和P2口控制,由NPN管9013驱动。由于数码管静态:总电流80mA〔每段10mA〕;动态:平均电流4-5mA峰值电流100mA;一般三极管放大倍数都能到达200以上(如9013,8050),那么Ib只有1mA就能使三极管饱和导通,所以R=(5-0.7)/1=4.3K,经过仿真上为了使三极管可靠饱和导通,可取R=1~2K。这里B极选用1K,C极选用220奥姆〔限流保护作用〕3.2.1复位电路单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,那么CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。1、手动按钮复位手动按钮复位需要人为在复位输入端RST上参加高电平〔下列图〕。一般采用的方法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,那么Vcc的+5V电平就会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。图〔4〕手动复位2、上电复位AT89S52的上电复位电路如下列图所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电子到地即可。对于cmos型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1uF。上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间那么为10ms。在下列图的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l〞态。如果系统在上电时得不到有效的复位,那么程序计数器PC将得不到一个适宜的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。图〔5〕上电复位3、混合复位电路将上电复位电路和手动复位电路结合到一起构成,通常使用的都是这种混合复位电路。此设计正采用此复位方式;〔下列图〕图〔6〕复位电路3.2.2晶振电路晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的上下分其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上适宜的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反应电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。一般的晶振的负载电容为15p或12.5p,如果再考虑元件引脚的等效输入电容,那么两个15p到33p的电容构成晶振的振荡电路就是比拟好的选择。这里选用11.0592MHZ的晶振和两个30p的电容;图〔7〕晶振电路3.2.3最小系统电路最小系统是51单片机工作的根本保障。由复位电路,晶振电路等主要局部组成。最小系统复位电路的极性电容C的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。最小系统起振电容C4、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好.此处。根据实际选用了11.0952MHZ的晶振。C3c4选用30p;复位电容选用10p。图〔8〕单片机最小系统电路3.2.4数码管显示电路此显示电路由两个单体七段共阴数码管组成。分别代表十位和个位;当P3^7有低电平输入是数码管加1或者当P3^6有脉冲输入是启动定时器0进行自动计数;显示范围从00到59;图〔9〕数码管3.2.5数码管驱动电路由于此共阴数码管,静态:总电流80mA〔每段10mA〕;动态:平均电流4-5mA峰值电流100mA;一般三极管放大倍数都能到达200以上(如9013,8050),那么Ib只有1mA就能使三极管饱和导通,所以R=(5-2)/0.001=3K,经过仿真上为了使三极管可靠饱和导通,可取R=1~2K。这里B极选用1K,C极选用220奥姆〔限流保护作用〕;当B极给高电平是即可驱动数码管显示工作。图〔10〕数码管驱动电路〔9013〕3.2.6单片机P0口上拉由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的。
1.一般51单片机的P0口在作为地址/数据复用时不接上拉电阻。
2.作为一般的I/O口时用时,由于内部没有上拉电阻,故要接上上拉电阻!!
3.当p0口用来驱动PNP管子的时候,就不需要上拉电阻,因为此时的低电平有效;
4.当P0口用来驱动NPN管子的时候,就需要上拉电阻的,因为此时只有当P0为1时候,才能够使后级端导通。这里用P0作I/O口用,故接此上拉电阻;图〔11〕上拉电子4系统软件设计本次设计的主要有最小系统和三极管驱动电路及数码管显示电路构成,编程流程简单明了;使用的是Keil4软件进行编程,因为常用的单片机程序设计编译软件都是使用它。运行生成hex文件后,运用AVR_fighter软件烧写到AT89S52芯片;4.1主程序流程图主程序先是开始,然后赋初值,本设计采用的是动态显示,所以在赋玩初值后显示程序不断被调用。开始初始化计数〔按键〕显示主程序流程图4.2计数器程序#include<reg52.H>#defineuintunsignedint#defineucharunsignedcharsbitkey=P3^6;sbitkey1=P3^7;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};ucharnum,num0;voiddelayms(uintxms)//延时函数{uinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}voiddisplay(ucharnumdis)//显示函数{P0=table[numdis/10];P2=table[numdis%10];}voidinit()//初始化函数{TMOD=0x01;//设置定时器0为工作方式1TH0=(65536-45872)/256;//装初值50ms一次中断TL0=(65536-45872)%256;//EA=1;//开总中断ET0=1;//开定时器0中断}voidkeyscan()//P3^7与P3^6管脚按键检测函数{if(key==0)//如果P3^6按键按下延迟20毫秒,消抖处理delayms(20);if(key==0)//再次检测{while(!key); TR0=~TR0;//启动或停止定时器0}if(key1==0)delayms(20);if(key1==0){if(num==0) num=60; num--; while(!key1);}}}voidmain(void){init();while(1){keyscan(); display(num);}}voidt0()interrupt1/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装修风格课件教学课件
- 苏教版2019学年生物八年级上册教案全集
- 物理压力课件教学课件
- 人事部门试用期协议
- 企业版权侵权纠纷赔偿协议书
- 代持房产协议样本
- 企业工资管理基础模板
- 临时看护托管安全协议书
- 企业活动赞助合同范本
- 个人电子设备贷款还款协议
- 2023年国家电力投资集团公司招聘笔试题库及答案解析
- 高中生物植物激素调节第一轮复习公开课教学设计与反思
- GB/T 2885.6-2008矿用窄轨车辆第6部分:材料车
- GB/T 1393-1987舷梯翻梯装置
- 桡骨远端骨折中医治疗培训课件
- 例说议题式课堂教学的模式课件
- 八年级体育与健康学科:第二章 素质与锻炼之柔韧练习教案-柔韧性练习1
- 辽宁省阜新市基层诊所医疗机构卫生院社区卫生服务中心村卫生室名单目录信息
- 广播操比赛打分表
- (完整)五金材料采购清单
- 2021年徐州市国盛控股集团有限公司校园招聘笔试试题及答案解析
评论
0/150
提交评论