




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE14第一章绪论绪论随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的范围越来越广,随之而来的竞争也越来越激烈。过硬的技术也成为众多生产厂商竞争的焦点之一。厂商为了在竞争中处于不败之地,从而不断地改进技术,增加产品的种类。现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器(拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器)、液晶计数器等。计数器的应用范围也遍布各个行业。自单片机出现至今,单片机技术已走过了近20年的发展路程。纵观20年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。单片机的应用在后PC时代得到了前所未有的发展,但对处理器的综合性能要求也越来越高。综观单片机的发展,以应用需求为目标,市场越来越细化,充分突出以“单片”解决问题,而不像多年前以MCS51/96等处理器为中心,外扩各种接口构成各种应用系统。单片机系统作为嵌入式系统的一部分,主要集中在中、低端应用领域(嵌入式高端应用主要由DSP、ARM、MIPS等高性能处理器构成),在这些应用中,目前也出现了一些新的需求,主要体现在以下几个方面:(1)以电池供电的应用越来越多,而且由于产品体积的限制,很多是用钮扣电池供电,要求系统功耗尽可能低,如手持式仪表、水表、玩具等。(2)随着应用的复杂,对处理器的功能和性能要求不断提高。既要外设丰富、功能灵活,又要有一定的运算能力,能做一些实时算法,而不仅仅做一些简单的控制。(3)产品更新速度快,开发时间短,希望开发工具简单、廉价、功能完善。特别是仿真工具要有延续性,能适应多种MCU,以免重复投资,增加开发费用。(4)产品性能稳定,可靠性高,既能加密保护,又能方便升级一.总体设计任务和方案1.1设计任务要求应用以51单片机为核心设计电子计数器,能设置起始数值,通过加、减键实现计数功能,设计复位按钮。数字通过数码管显示,计数结束发出警报。1.2设计方案根据仪器的功能,电子计数器有通用计数器和专用计数器通用计数器是一种具有多种测量功能,多种用途的电子计数器,它可以测量频率,周期,时间间隔,频率比,累加功能,计时等。配上相应的插件还可以测量相位,电压等专用计数器指专门用于测量某一种功能的电子计数器,例如:专门测量高频和微波频率的频率计数器;以测量时间为基础的时间计数器;具有某种特殊功能的特种计数器,如可逆计数器,预置计数器,差值计数器等二.电路原理2.1系统的组成本设计为累加计数的专用计数器,应用AT89C51芯片作为核心,8位的LED数管显示。这种实现方法的优点是电路简单,性能可靠,实时性强,操作简单,编程容易。原理框图:控制输入端控制输入端显示器单片机AT89C51蜂鸣器本设计的电子计数器的重要功能为:逐次累加计数累加至预定值报警累加计数期间可随时中断2.2AT89C51单片机2.2.1单片机主要功能特性AT89C51是一个低功耗,高性能CMOS
8位单片机,片内含4kBytes
ISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,AT89C51在众多嵌入式控制应用系统中得到广泛应用。主要性能特点:1.4kBytesFlash片内程序存储器;2.128bytes的随机存取数据存储器(RAM);3.32个外部双向输入/输出(I/O)口;4.5个中断优先级、2层中断嵌套中断;5.6个中断源;6.2个16位可编程定时器/计数器;7.2个全双工串行通信口;8.看门狗(WDT)电路;9.片内振荡器和时钟电路;10.与MCS-51兼容;11.全静态工作:0Hz-33MHz;12.三级程序存储器保密锁定;13.可编程串行通道;14.低功耗的闲置和掉电模式。2.2.2引脚功能及管脚电压VCC:电源电压输入端。GND:电源地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(T0定时器的外部计数输入)图4PDIP封装的AT89S51管脚图P3.5T1(T1定时器的外部计数输入)P3.6/WR(外部数据存储器的写选通)P3.7/RD(外部数据存储器的读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。RST:复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:外部程序存储器访问允许。当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。2.3单片机最小系统单片机最小系统,或者称为最小应用系统,是指最少的元件组成的单片机可以工作的系统。对于51系列的单片机来说,最小系统一般应该包括单片机、晶振电路、复位电路。图6给出了51单片机的最小系统原理图。图651单片机的最小系统2.3.1晶振电路晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低区分,其中较低的频率是串联谐振,较高的频率是并联谐振。由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。典型的晶振取值为11.0592MHz(可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)和12MHz(产生精确的uS级时歇,方便定时操作)。2.3.2复位电路51单片机是高电平复位,所以先看给单片机加5V电源(上电)启动时的情况:这时电容充电相当于短路,你可以认为RST上的电压就是5V,这是单片机就是复位状态。随着时间推移电容两端电压升高,即造成RST上的电压降低,当低至阈值电压时,即完成复位过程。如果按下复位键,电容C3短路,这时电容放电,两端电压都是5V,即RST引脚电压为5V,如果超过规定的复位时间,单片机就复位了。当按钮弹起后,RST引脚的电压为0,单片机处于运行状态。51单片机复位要求是:RST上加高电平时间大于2个机器周期,12MHz的晶振的一个机器周期是1us,要复位就加2us的高电平即可。单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。2.4显示模块数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。通常的数码管又分为8段,即8个LED显示段,分别为A、B、C、D、E、F、G、小数点DP,通过段码控制LED段位的亮灭,实现信息的多样化显示。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。多位数码管的动态显示时,为简化电路,通常将所有显示位的段码线的相应段并联在一起,由一个8位I/O口作为段选线来控制;而各位的共阳极或共阴极分别由相应的I/O口控制,形成各位的分时选通。此显示模块中将P0口最为段选线,P2口为位选线。采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。利用人眼的“视觉暂留”效应,依次给出各个数码管公共端加有效信号,与此同时给出该数码管有效的数据信号,尽管实际上各位数码管并非同时点亮,但只要全段扫描速度大于视觉暂留速度时,视觉效果就是一组稳定的显示数据,认为各数码管是同时发光的。图7为显示模块硬件原理图。三.软件介绍3.151单片机C语言介绍单片机就是中央处理器CPU,随机存储器RAM。只读存储器ROM。定时、计数器和各种输入输出接口I/o接口电路等部件集成在一块电路芯片上的微型计算机。按制造工艺分:HMOS和CHMOSCHMOS包括80c51等中间加了C功耗要小适合便携式手提式和野外作业。按不同容量的存储器配置分:51子系列和52子系列51表示单片机最后一位数字为1作为标志。片内带有4KbROM或EPROM(ErasableProgrammableROM,可擦除可编程ROM,128BRAM,两个16位定时器/计数器和5个中段器52系列是增强型各项指标都高。一个典型的单片机应用系统包括输入电路,单片机,输出电路3.2Proteus仿真软件介绍ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。该软件的特点是:
1.实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
2.支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、ARM7系列以及各种外围芯片。
3.提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil
C51
uVision2等软件。
4.具有强大的原理图绘制功能。
5.PCB设计以及自动布线。特点:支持ARM7,PIC,AVR,HC11以及8051系列的微处理器CPU模型,更多模型正在开发中,更新信息请参见网页;
交互外设模型有LCD显示、RS232终端、通用键盘、开关、按钮、LED等;
强大的调试功能,如访问寄存器与内存,设置断点和单步运行模式;
支持如IAR、Keil和Hitech等开发工具的源码C和汇编的调试;
一键“make”特性:一个键完成编译与仿真操作;
内置超过6000标准SPICE模型,完全兼容制造商提供的SPICE模型;
DLL界面为应用提供特定的模式;
基于工业标准的SPICE3F5混合模型电路仿真器
14种虚拟仪器:示波器、逻辑分析仪、信号发生器、规程分析仪等;
高级仿真包含强大的基于图形的分析功能:模拟、数字和混合瞬时图形;频率;转换;噪声;失真;付立叶;交流、直流和音频曲线;
模拟信号发生器包括直流、正旋、脉冲、分段线性、音频、指数、单频FM;数字信号发生器包括尖脉冲、脉冲、时钟和码流;
集成PROTEUSPCB设计形成完整的电子设计系统。3.3Keil
uVision2C语言开发系统介绍KeiluVision2是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2IDE可为它们提供单一而灵活的开发环境。 KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,使您能在很短的时间内就能学会使用keilc51来开发您的单片机应用程序。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。四.Proteus的仿真4.1仿真图形4.2元器件代号设计的电子计数器所需的元器件的代号为1、单片机代号为:AT89C512、电容C1、C2的代号为:CERAMIC22P3、电容C3的代号为:MINELECT10U16V4、晶振X1的代号为:CRYSTAL5、电阻R1、R2的代号分别为:CHIPRES10K、CHIPRES100R6、上拉电阻RP1的代号为:RESPACK-87、显示器的代号为:7SEG-MP*1-CC8、开关六个的代号为BUTTON4.3元器件的放置与连线在元器件代号列表里点击所需元件的代号,就可以选定所需元件,鼠标移动到元件的放置地点,然后点击鼠标右键,即可以将元件放置好。依次放置好元件,要确保元件的摆放美观。在需要连接的元件接线处,点击左键,移动鼠标,可看到导线的出现,再在导线的另一端在另一个元件的端点处点击,从而连接了电路。4.4程序运行流程图4.5程序运行代码#include<reg52.h>#defineuintunsignedint#defineucharunsignedcharsbitup=P1^0;sbitdown=P1^3;sbitstop=P1^6;sbitreset=P1^7;sbitbeep=P3^7;uintnum2,num0,num22,num00,temp;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};voiddelay(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}voidinit(){ num2=0; num22=0; num0=0; num00=0; temp=0; P0=0; P2=0xff; P3=0xff; beep=0; //stop=0; P0=table[num0]; P2=table[num2]; EA=0; IT0=1; EX0=1;}voidkeyscan(){/*************************************************************************/ if(stop==0) { delay(5); if(stop==0) { while(!stop); if((num2!=0)||(num0!=0)) { temp++; if(temp==1) EA=1; if(temp==2) EA=0; if(temp==3) { temp=1; EA=1; } } } }/*************************************************************************/ if(temp==0) {/*************************************************************************/ if(up==0) { delay(5); if(up==0) { while(!up); if(num2==9) { num2=0; P2=table[num2]; if(num0==9) { num0=0; P0=table[num0]; } else { num0++; P0=table[num0]; } } else { num2++; P2=table[num2]; } } }/*************************************************************************/ if(down==0) { delay(5); if(down==0) { while(!down); if(num2==0) { num2=9; P2=table[num2]; if(num0==0) { num0=9; P0=table[num0]; } else { num0--; P0=table[num0]; } } else { num2--; P2=table[num2]; } } }/*************************************************************************/ }/*************************************************************************/ if(reset==0) { delay(5); if(reset==0) { while(!reset); if((num2!=0)&&(num0!=0)) { num22=0; num00=0; P2=table[num22]; P0=table[num00]; beep=0; EA=1; } } } } /*************************************************************************/voidmain(){ init(); while(1) { keyscan(); } }voidINT()interrupt0{ if(num22==9) { num22=0; P2=table[num22]; num00++; P0=table[num00]; /* if(num00==9) { num00=0; P0=table[num00]; } else { num00++; P0=table[num00]; }*/ } else { num22++; P2=table[num22]; P0=table[num00]; } if((num22==num2)&&(num00==num0)) { EA=0; beep=1; }}五、仿真调试5.1电子计数器仿真电路调试5.2电子计数器仿真测试结果分析起初设计电路完好,且都能很好的工作,但在P3.2端口少接了一个计数按钮以及蜂鸣器报警装置,从而导致无法计数及报警。经过修正后,能够正常运行,且在按下up键,显示器上能够逐次加1,按下down键,显示器上能够逐次减1,在按下stop键一次,可以按下beep键进行计数,按下stop键两次,停止计数,当计数达到预定的数值时蜂鸣器报警,按下reset键复位清零。
六.课程设计的心得体会我们度过了为期两周的单片机课程设计,同时也给我留下了很深刻的印象。两周的课程设计虽然看似很长,却不知不觉中度过了,而在这两周的时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年对苯二甲酸项目投资申请报告代可行性研究报告
- 知识产权分成与版权保护收益补充协议
- 环保型工业废气监测与排放达标验收合同
- 2025年中国背面印刷油墨行业市场规模及未来投资方向研究报告
- 电影广告素材版权使用许可协议
- 证券分析师职位全职聘用与业绩激励与职业规划合同
- 无人机机械设计研发合作协议
- 教育培训广告宣传与招生服务协议
- 智能家居产品俄罗斯市场代理销售与推广协议
- 网红甜品店区域代理合作协议及品牌授权经营合同
- 检验科菌(毒)种及其样品安全管理制度
- 水域救援课件教学课件
- (初级)航空油料特设维修员(五级)理论考试题库-上(单选题)
- 尾矿库安全规程
- 互联网+时代电商助农模式的优化策略:以S县为例9000字(论文)
- 《医疗器械监督管理条例》知识竞赛考试题库300题(含答案)
- DL-T5024-2020电力工程地基处理技术规程
- 2024年上海市普通高中学业水平等级性考试化学试卷(含答案)
- 树立正确就业观课件
- 《在马克思墓前的讲话》课件+2023-2024学年统编版高中语文必修下册
- 第24届世界奥林匹克数学竞赛WMO省级测评五年级试卷【含答案】
评论
0/150
提交评论