




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0-99计数器设计 摘要:单片机以其微小的体积、低廉的价格、强大的控制能力在智能化和控制领域有着广泛的应用。计数器就是单片机诸多应用中的一例。它能够显示实时计数值(0-99),且计数范围可以自行调整(0-99)。该计数器采用AT89S51单片机为主控制核心。计数器具有很强的实用性,能广泛应用于各种场合。论文部分详细地叙述了设计的整个过程,共分6章。第1章介绍了选题背景;第2章是核心芯片的简介;第3章介绍了设计任务和要求;第4章介绍了系统方案的论证;第5章介绍了硬件电路设计;第6章介绍了系统程序。关键词:单片机;AT89S51;计数器The Counter Design of 0 To 99 Abstract: The microcontroller unit(MCU) has been used widely in intelligence and industrial control for its small scale, low price, great ability of control. The counter is one example of many applications. It can display real count (0-99) and count range (0-99) to adjust. AT89S51 played the role of master in this design. The counter has great ability in practice and it can be used in many fields. This paper mainly introduces the process of the design, and it divided to 6 chapters. Chapter 1 describes the background knowledge of the system; Chapter 2 is the brief introduction of the core chip; Chapter 3 describes the assignment and requirement of the design; Chapter 4 describes programs demonstrate of the system; Chapter 5 describes the design of the hardware circuit; Chapter 6 describes the program of the system.Key word: microcontroller; AT89S51; counter目 录摘要.1ABSTRACT .1第一章 引言.3第二章 核心芯片简介.32.1 AT89S51的结构和特点.32.2 单片机外部结构及结构特点.42.3 主要功能特性.52.4 AT89S51的新功能.52.5 单片机内部结构介绍.5第三章 设计任务及要求.93.1 设计任务.93.2 技术基本要求.9第四章 方案设计及论证.94.1单片机控制模块.94.2报警模块.104.3显示模块.10第五章 系统的硬件设计.105.1系统原理图.105.2 AT89S51的外围电路.115.2.1晶振电路.115.2.2复位电路.115.3显示模块的实现.115.4单片机控制模块的电路设计与实现.115.5报警模块的实现.12第六章 系统程序.12附录.15第一章 引言计数器可以用来显示产品的工作状态,一般来说主要是用来表示产品已经完成了多少份的折页配页工作。 工业用的计数器又有通用计数器,时间计数器,多功能计数器和电磁计数器等。通用计数器是利用数字电路技术数出给定时间内所通过的脉冲数并显示计数结果的数字化仪器。通用计数器是其他数字化仪器的基础。在它的输入通道接入各种模-数变换器,再利用相应的换能器便可制成各种数字化仪器。通用计数器特点:测量精度高、量程宽、功能多、操作简单、测量速度快、直接显示数字,而且易于实现测量过程自动化。通用计数器按功能可分3类:1、频率计数器:专门用于测量高频和微波频率的计数器。2、计算计数器:具有计算功能的计数器,可进行数学运算,可用程序控制进行测量计算和显示等全部工作过程3、微波计数器:是以通用计数器和频率计数器为主配以测频扩展器而组成的微波频率计。应用领域:通用计数器在工业生产和科学实验中得到广泛应用。电子工程师经常需要测量频率、时间间隔、相位和对事件计数,精确的测量离不开频率计数器或它的同类产品,如电子计数器和时间间隔分析仪。这些仪器为研发提供高精度和分析能力,为大批量生产提供高效率并为维修提供低成本和便携性。最早的电子计数器是为了对诸如原子现象之类的事情进行计数而设计出来的。本次设计的“0-99计数器”,使用的是AT89S51单片机,他是一种价格便宜而且性能优良的单片机系统,结构简单,布局合理,适用于多种程序功能调试和模拟。向AT89S51下载编译好的程序,使用开关作为功能键,用数码管显示作为输出界面。通过这次设计,进一步掌握如何利用接口电路进行硬件系统的设计,如何进行软件的设计,同时增强了学习兴趣及动手能力。在报告中,详细介绍了整个设计过程的各个环节,其中不足之处,欢迎老师指出或给予更好的建议。第二章 核心芯片简介2.1 AT89S51的结构和特点AT89S51单片机是在一块超大规模集成电路芯片上,集成了CPU、存储器(包括RAM/ROM)、I/O接口、定时器/计数器、串行通讯接口等电路。片内各功能部件通过内部总线相互连接起来。片内含4K Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及AT89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案.就其组成而言,一块单片机芯片就是不带外部设备的微型计算机。它的特点归纳以下几个方面:1、集成度高、体积小、可靠性高。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连接,大大提高了单片机的可靠性与抗干扰能力。2、有优良的性能价格比。单片机高性能/低价格,是单片机推广应用的重要因素。3、控制功能强。单片机是微型计算机的一个品种,它的体积虽小,但“五脏具全”,它适用于专门的控制用途。4、系统配置较典型、规范。单片机的系统扩展容易,易构成各种规模的计算机应用系统。5、低功耗。适用于携带式产品和家用电器产品。2.2 单片机外部结构及结构特点AT89S51芯片的引脚结构如图2.1所示:图2.1 芯片引脚图(1)振荡器的特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 (2)结构特点:AT89S51具有如下特点:40个引脚,4K Bytes Flash片内程序存储器,128 Bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器.此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式.空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位.同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求. 2.3 主要功能特性: 兼容MCS-51指令系统 4k可反复擦写(1000次)ISP Flash ROM 32个双向I/O口 4.5-5.5V工作电压 2个16位可编程定时/计数器 时钟频率0-33MHz 全双工UART串行中断口线 128x8bit内部RAM 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗(WDT)电路 软件设置空闲和省电功能 灵活的ISP字节和分页编程 双数据寄存器指针 2.4 AT89S51的新功能 AT89S51兼容标准MCS-51指令系统及AT89C51引脚结构,它相对于AT89C51增加的新功能包括:ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离.是一个强大易用的功能.最高工作频率为33MHz,就是说AT89S51具有更高工作频率,从而具有了更快的计算速度.具有双工UART串行通道.内部集成看门狗计时器,不再需要像AT89C51那样外接看门狗计时器单元电路.双数据指示器.电源关闭标识.全新的加密算法,这使得对于AT89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯.兼容性方面:向下完全兼容51全部字系列产品.2.5 MCS-51系列单片机的内部结构介绍(1)管脚说明: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口也可作为AT89C51的一些特殊功能口,如下表所示:P3口管脚 备选功能 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(外部数据存储器读选通)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)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。(2) 部分功能简介:1. 运算器包括一个运行8位算术运算的ALU单元,8位的暂存器1、暂存器2、8位的累加器ACC,寄存器B和程序状态寄存器PSW等。ALU:可对4位(半字节)、8位(一字节)和16位(双字节)数据进行操作。如能做加、减、乘、除、加1、减1、BCD数十进制调整及比较等算术运算和逻辑与、或、异或、求补及循环移位等逻辑操作。ACC:累加器ACC,经常作为一个运算数经暂存器2进入ALU的一个输入端,与另一个进入暂存器1的运算数进行运算,运算结果又送回ACC。除此之外,ACC在8051内部经常作为数据传送的中转站,同一般微处理器一样,它是最繁忙的一个寄存器了。在指令中用助记符A来表示。PSW:程序状态寄存器,8位,用于标志指令执行后的信息状态,相当于一般微处理器的标志寄存器。PSW中各位状态供程序查询和判别用。B:8位寄存器,在乘、除运算时,B寄存器、用来存放一个操作数;也用来存放运算后的一部分结果;若不作乘、除运算时,则可作为通用寄存器使用。2.控制器控制器包括程序计数器PC、指令寄存器IR、指令译码器ID、振荡器及定时电路等。程序计数器PC:它由两个8位的计数器PCH及PCL组成,共16位。PC实际上是程序的字节地址计数器,PC中的内容是将要执行的下一条指令的地址。改变PC中的内容就可以改变程序执行的流向。PC可对64K的ROM(程序存储器)直接寻址。,也可对8051片外RAM(数据存储器)寻址。指令寄存器IR及指令译码器ID:由PC中的内容指定ROM地址,取出来的指令经指令寄存器IR送至译码器ID,由ID对指令译码并送PLA产生一定序列的控制信号,以执行指令所规定的操作。例如,控制ALU的操作、传送8051片内工作寄存器间数据,以及发出ACC与I/O(P0口-P3口)或存储器之间通信的控制信号等等。振荡器及定时电路:8051单片机片内有振荡电路,只需外接石英晶体和频率微调电容(2个30PF),其频率范围为1.2-12MHZ,该脉冲信号就作为8051的最基本节拍,即时间的最小单位。8051同其他计算机一样,在基本节拍的控制下协调的工作,就象一个乐队按着指挥的节拍演奏一样。3.存储器程序存储器ROM的容量为4K字节,地址从0000H开始,用于存放程序和表格常数。数据存储器RAM为128字节,地址为00H-7FH,用于存放运算的中间结果、数据暂存以及数据缓冲等。在这128字节的RAM中,有32个字节单元可指定为工作寄存器,这同一般微处理器不同。8051的片内RAM和工作寄存器排在队列里统一编址。4.I/O接口8051有四个8位并行接口即P0-P3,它们都是双向端口,每个端口各有8条I/O线,均可输入/输出。P0-P3口四个锁存器同RAM统一编址,可以把I/O口当作一般特殊功能寄存器来寻址。单片机内部结构示意图如图2.2所示图2.2 单片机内部结构示意图第三章 设计任务及要求3.1设计任务设计一个具有计数、报警功能的计数器。3.2 技术基本要求(1)能在0-99范围内计数,并通过LED显示计数数据。(2)可控制计数范围。(3)能在设定值报警,在报警后延时3秒钟自动关闭报警,并自动重新计数;也可以手动清除报警。第四章 方案设计及论证根据题目的要求,系统主要可分为单片机控制模块、报警模块、显示模块。系统方案整体模块框图如图4.1所示:显示模块AT89S521报警模块外围电路图4.1 系统方案整体模块框图4.1单片机控制模块方案一:利用CPLD可编程逻辑器件作为主控制器。CPLD可实现各种复杂的逻辑功能,规模大、密度高、稳定性高、IO资源丰富、易于进行功能扩展,并可应用EDA软件仿真、调试,适合作为大规模控制系统的控制核心,但迷宫小车系统并没有复杂的逻辑运算,且数据处理速度的要求也不高,不能完全发挥CPLD的优势,同时,由于其集成度较高,硬件成本偏高,同时由于芯片引脚较多,实物硬件电路布线复杂,加重了电路设计和焊接的工作。方案二:采用Atmel公司的AT89S51单片机作为控制器。该单片机扩展功能强,软件编程灵活,自由度大,可通过软件编程实现各种算法和逻辑控制,并具有功耗低、体积小、技术成熟等优点,使其广泛应用于各个电子控制系统,完全能满足本系统的功能需求。基于以上分析,本设计选用方案二。4.2报警模块方案一:用语音贺卡的音乐,通过继电器的控制,实现报警。方案二:使用蜂鸣器与三极管的组合,通过单片机的一个引脚控制三极管的导通与否实现报警,简单易行。本系统采用方案二。4.3显示模块方案一:使用液晶显示屏显示计数值。液晶显示屏具有轻薄短小,低耗电量,无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等优点。但由于只需要显示数字,信息量比较少,且由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,起成本也偏高。在使用时,不能有静电干扰,否则易烧坏液晶的显示芯片,不易维护。方案二:使用传统的数码管显示计数值。数码管具有:低能耗,低损耗,低压,寿命长,防晒,防潮,防火,防高(底)温,对外界环境要求底,易于维护,同时起精度比较高,精确可靠,操作简单。数码管采用BCD编码显示数字,程序编译容易,资源占用较少。综上所述,采用方案二。本系统中,我们采用了数码管的静态显示,节省单片机的内部资源。第五章 系统的硬件设计5.1 系统原理图系统电路原理图如图5.1所示:电路PCB图见附录 图1.1图5.1 系统电路原理图5.2 AT89S51的外围电路5.2.1 晶振电路51单片机内部设有一个反向放大器所构成的振荡器,XTAL1和XTAL2分别为振荡电路的输入端和输出端,时钟可以由内部或外部产生。在本设计中的时钟由外部产生,内部振荡电路就产生自激振荡。5.2.2 复位电路所谓复位,即是通过某种方式,使单片机内各寄存器的值变为初始状态的操作。5.3显示模块的实现 通过数码管与单片机相连接,实现系统状态及计数结果的显示。5.4单片机控制模块的电路设计与实现单片机控制模块由单片机最小系统实现。单片机最小系统包括AT89S51单片机,电源电路,LED显示电路等。AT89S51是一种低功耗、高性能CMOS8位微控制器,具有4K 在系统可编程Flash 存储器。在单芯片上,AT89S51拥有灵巧的8 位CPU和在系统可编程Flash,使得AT89S51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S51具有4k字节Flash,128字节RAM,32 位I/O 口线,二个16位定时器/计数器,片内晶振及时钟电路。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。5.5报警模块的实现 用单片机的一个引脚P27控制三极管的导通,使蜂鸣器发声,实现报警。第六章 系统程序系统程序流程框图见附录 图1.2源程序如下:#include#define uchar unsigned char sbit P1_1=P11;/加1键sbit P1_2=P12;/减1键sbit P1_0=P10;/切换键sbit P2_7=P27;/蜂鸣器sbit P3_7=P37;sbit P3_6=P36;sbit P3_5=P35;uchar a=20,b=0,c=0,aa=0;uchar disp=0,0,0,0;/四个显示单元uchar dispbit=0xfe,0xfd,0xfb,0xf7;/数码管扫描代码,P2.0-P2.3是扫描位,每一位低电平开扫描,每次只能开一个,如开P2.0,二进制是11111110,即为0xfeuchar dispcode=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xbf,0xff,0xe0;/共阳数码管数字代码/*数码管显示设置报警值S-00子程序*/void display(void)uchar i,j;disp3=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 森林服务相关知识培训课件
- 桥梁监理安全知识培训课件
- 2025年外贸业务员招聘面试题及解析大全集
- 2025建筑安全员《C证》考试题库及答案
- 2025年设计笔试常见题含答案解析
- 2025年可持续发展与环境政策考试试题及答案
- 2025年数据分析师金融分析方向面试技巧与模拟题集
- 2025年金融风险管理师FRM考试指南与备考策略
- 2025年篮球理论试题及答案
- 2025年餐饮服务行业招聘考试模拟题集
- DB11-T 1828-2021文物保护工程资料管理规程
- 泌尿系损伤-教案-外科课件
- 如何做好设总工作的几点体会
- 供应室pdca质量提高腔镜器械包装合格率品管圈ppt模板课件
- 某大楼建设工程-监理规划
- 故障判断蓝牙音箱类产品faq
- ISO14064-1教材-中文PPT课件.ppt
- KDL16变频器更换步骤
- 英语教学经验交流发言稿
- 高中化学 1.2.1 研究物质性质的基本方法课件(1)鲁科版必修第一册-鲁科版高中第一册化学课件
- SAGEERPX3V5总账
评论
0/150
提交评论