




免费预览已结束,剩余43页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉工业学院本科学士学位论文目 录摘 要Abstract第一章 绪 论11.1 概述11.2波形发生器的国内外发展状况11.3 国内外波形发生器产品的比较21.4研制波形发生器的目的及意义31.5 本文所研究的内容31.6 小结3第二章 基于单片机的波形发生器的设计方案介绍42.1 波形发生器的原理42.2波形发生器的设计方案42.3基于单片机的波形发生器的可行性的理论分析52.3.1 元器件的选择及其可行性52.3.2设计中可能存在的问题及解决方案52.3.3经济上的可行性5第三章 基于单片机的波形发生器的硬件设计63.1单片机的简介63.2 本设计对单片机的要求73.3 单片机的选择73.3.1 主要性能参数:83.3.2 功能特性概述:83.3.3 引脚功能说明83.3.4 定时器 0 和 1 的操作103.3.5 定时器2 的操作123.3.6 定时器/计数器2 的设置163.3.7 时钟振荡器:163.3.8 编程方法:173.4 数模转换器与单片机的接口设计183.4.1 DAC0832 可工作在三种不同的工作模式。193.5电源部分的设计203.6 晶振电路的设计213.7 复位电路设计223.8 输入电路键盘的接口设计223.9 I/V转换电路的设计23第四章 基于单片机的波形发生器的软件设计264.1软件的功能定义264.2 编程语言的选择264.3、程序设计274.3.1 主程序设计274.3.2 T0、T1子程序设计304.4 波形仿真36第五章 系统调试与结果分析395.1 调试环境395.2 调试结果39结束语40致 谢41参考文献42摘 要随着电子测量技术与计算机技术的精密结合一种新的信号发生器便产生了,即任意波形发生器应运而生,所谓任意波形发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高稳定性、可重复性和易操作性的电子仪器,因而它具有广阔的应用前景。本课题介绍了一种基于单片机的波形发生器。它以AT89C51单片机为控制核心,利用其内部自带的计数器/定时器产生方波,并由用户通过小键盘选择波形周期。与微处理器兼容的8位数模转换器DAC0832将数字量转化为模拟电压信号,通过I/V转换电路得到锯齿波和正弦波信号,波形保证了它的精度和平滑。波形频率的改变可通过键盘输入,通过不同键盘的操作来改变其波形频率的改变以及不同波形之间的切换。该波形发生器产生的信号干扰小,输出稳定,可靠性高,特别是操作简单方便,成本低,非常适合于物理实验室教学与实验使用。关键词: AT89C51单片机 波形发生器 DAC0832 方波;锯齿波;正弦波AbstractWith electronic measurement technology and the sophisticated computer technology ,a new signal generator creates ,Arbitrary waveform generator that emerged ,The so-called arbitrary waveform generator will be able to produce a large number of standard and user-defined signal, and to ensure high-accuracy, high-stability, repeatability and easy to operate electronic devices ,Thus it has broad application prospects .On the subject of a microcontroller based on the waveform generator ,AT89C51 to control the core ,Taking advantage of its internal built-in counter / timer produce square . By the user through small keyboard choice waveform cycle , Microprocessor compatible with the eight DAC0832 Digital to Analog conversion to digital simulation for the current signal the I / V conversion circuit to be Sawtooth and sinusoidal signal waveform ensure its accuracy and smoothness. The frequency waveform can be changed by keyboard input, through different keyboard to change its operating frequency of the waveform change and to swich between the different waveforms. The waveform generator small signal interference, output stability, high reliability, in particular operation simple and convenient, low-cost, very suitable for teaching in the physics laboratory and experimental use. Keywords : AT89C51 SCM DAC0832 square wave Sawtooth wave; Sine Wave .44第一章 绪 论1.1 概述波形发生器有很多种,包括正弦波信号源、函数发生器、脉冲发生器、扫描发生器、任意波形发生器、合成信号源等。一般来讲任意波形发生器,是一种特殊的信号源,综合具有其它信号源生成能力,因而适合各种仿真实验的需要。1.2波形发生器的国内外发展状况波形发生器是一种最悠久的测量仪器,早在20年代电子设备刚出现时它就产生了。随着通讯和雷达技术的发展40年代出现了主要用于测试各种接收机的标准波形发生器,使波形发生器从定性分析的测试仪器发展成定量分析的测量仪器。同时还出现了可用来测量脉冲电路或用作脉冲调制器的脉冲信号发生器。由于早期的波形发生器机械结构比较复杂,功率比较大,电路比较简单,因此发展速度比较慢。直到1964年才出现第一台全晶体管的波形发生器。自60年代以来波形发生器有了迅速的发展,出现了函数发生器,这个时期的波形发生器多采用模拟电子技术,由分立元件或模拟集成电路构成,其电路结构复杂,且仅能产生正弦波、方波、锯齿波和三角波等几种简单波形,由于模拟电路的漂移较大,使其输出的波形的幅度稳定性差,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形则电路结构非常复杂。在70年代后,微处理器的出现,可以利用为处理器、A/D/和 D/A、硬件和软件是波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对DAC的程序控制,就可以得到各种简单的波形。例如,令微处理器的累加器A自身循环增量,每增量一次即向DAC送出一个数,使DAC有一个输出。因为当A的内容达到最大值255时,再增量一次,A的内容就变为最小值(零),然后可以继续增加。如此,周而复始,就可以从DAC输出端获得一个正相的阶梯波。用同样的方法还可获得方波、锯齿波、三角波等波形。软件控制波形的一个最大缺点就是输出波形的频率低,主要时由 CPU的工作速度决定的,如果想提高频率可以改进软件程序减少其执行周期或提高CPU的时钟周期,但这些办法时有限度的,根本的办法还是要改进硬件电路。当时的信号处理其时专用于心好处理的微处理器,时钟频率只有12MHz,A/D和D/A一般在8位左右,内部存储容量也很小。因此,能够产生正弦波的有效频宽不会超过1MHz,要获得比较平滑的低失真度的波形,重复频率不会超过 10KHz。用数字方法的函数发生器尚处于开发阶段,正式的商品还不多。到了1988年,出现几种真正高性能、高价格的函数发生器、但是HP公司推出了型号为HP770S的信号模拟装置系统,它由HP8770A 任意波形数字化和 HP1776A 波形发生软件组成。HP8770A 实际上也只能产生 8 中波形,而且价格昂贵。不久以后, Analogic公司推出了型号为Data2020的多波形合成器,Lecroy公司生产的型号为9100的任意波形发生器等。现代电子、计算机和信号处理等技术的发展,极大的促进了数字化技术在电子测量仪器的应用,使原有的模拟信号处理逐步被数字信号处理所代替,从而扩充了仪器信号的处理能力,提高了信号测量的准确度、精度和变换速度,克服了模拟信号处理的诸多缺点,数字信号发生器随之逐渐发展起来。目前波形发生器的基础就是直接数字合成技术,用存储器做查询表通过数字形式存入的波形,由数/模转换器产生所需要的波形。近几年来,国际上波形发生器技术发展主要体现在以下几个方面:1.、过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形的输入变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。同时可以利用一种非常强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成 vf(t)形式的波形方程的数学表达式产生。各种计算机语言的飞速发展也推动了任意波形发生器软件技术的发展。目前可以利用可视化编程语言(如 Visual Basic ,Visual C等等)编写任意波形发生器的软面板,这样允许徒手从计算机显示屏上输入任意波形,来实现波形的输入。2.、与 VXI 资源结合。目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的 VXI 模块。由于 VXI 总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用 VXI 系统测量和产生复杂的波形,VXI 的系统资源提供了明显的优越性,但由于开发VXI 模块的周期长,而且需要专门的 VXI 机箱的配套使用,使得波形发生器 VXI 模块仅限于航空、军事及国防等大型领域。在民用方面,VXI 模块远远不如台式仪器更为方便。3、随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又在繁荣起来。不过现在的新的台式仪器的形态,和几年前的已有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品减少了一半。1.3 国内外波形发生器产品的比较1978 年,由美国 Wavetek 公司和日本东亚电波工业公司最早公布的波形发生器的最高取样频率为 5MHz,可以形成 256 点(存储长度)波形数据,垂直分辨率为 8bit,重要用于振动、医疗、材料、等领域做评价信号源,经过将近 30 年的发展,伴随着电子元器件、电路、及生产设备的高速化、高集成化,任意波形发生器的性能由了飞速的提高。变得操作越来越简单而输出波形的能力越来越强。波形操作方法的好坏,是由任意波形发生器控制软件质量保证的,编辑功能增加的越多,波形形成的操作性越好。以下给出了几种任意波形发生器的性能指标,从中可以看出当今世界上重要电子仪器生产商在任意波形发生器上的研制水平。1.4研制波形发生器的目的及意义波形发生器是信号源的一种4,它是具有信号源所具有的特点,更因它高的性能优势而倍受人们青睐。信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。目前我国已经开始研制波形发生器,并取得了可喜的成果。但总的来说,我国波形发生器还没有形成真正的产业。就目前国内的成熟产品来看,多为一些PC仪器插卡,独立的仪器和 VXI 系统的模块很少,并且我国目前在任意波形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。1.5 本文所研究的内容对波形发生器的研制在国外已有报道,而国内在这方面报道较少,本论文的任务是根据波形发生器的特点和应用情况,结合新一代高性能芯片设计一种使用简单、性能优良的波形发生器,该波形发生器能产生正弦波、方波,锯齿波等常用的标准信号,整个系统采用单片机控制,论文主要研究在波形发生器设计时如何合理地确定设计方案,在系统的硬件设计时需要注意的问题以及如何进行电路设计,还有单片机软件和生成常用波形编辑软件的编写等等问题。波形编辑软件主要用于产生各种标准或非标准波形的作用,用户可以通过键盘对软件进行操作,如选取波形类型、调整波形周期等。1.6 小结本章首先简要的介绍了波形发生器在当今电子世界中的地位及对科研与教学中的作用。接着介绍了国内外研究波形发生器的概况,指出波形发生器近几年技术发展体现在输出波形频率的提高、更方便的波形输入、与 VXI 总线资源的结合及台式仪器的发展,列出了国外著名仪器公司任意波形发生器的主要指标,然后指出了研制开发波形发生器的意义。最后说明了本设计的主要内容。第二章 基于单片机的波形发生器的设计方案介绍2.1 波形发生器的原理本文利用AT89C51单片机外接数模转换器和I/V转换电路,由用户通过按键选择输出实验中经常使用到的几种基本波形:方波、锯齿波、正弦波。方波由AT89C51单片机内部自带的计数器/定时器产生,并由用户通过小键盘选择波形周期。与微处理器兼容的8位数模转换器DAC0832将数字量转换为模拟量电压信号,通过I/V转换电路得到锯齿波和正弦波信号,波形保证了他的精度和平滑、稳定。2.2波形发生器的设计方案AT89C51单片机时钟电路采用内部方式,外接陶瓷谐振器(频率为12 MHz),微调电容值为30pF。系统复位采用按键式外部复位方式,复位信号至少保持8 s以上。通过按键由用户选择要输出的波形,按键选择占用P1.1P1.5口,采用独立式键盘结构。利用AT89C51单片机内部自带的计数器/定时器在 P1.0口上产生连续方波,由用户通过按键选择输出方波周期,系统结构方框图如图所示:PoP2.7P1.0P1.1-P1.5DAC0832I/V转换电路输出方波按键选择及小键盘正弦波锯齿波输出系统复位系统时钟图1 系统结构方框图2.3基于单片机的波形发生器的可行性的理论分析2.3.1 元器件的选择及其可行性根据技术指标及系统设计目的, 在电源部分我们选用LM7805三个三端集成稳压器得到+12 V 和+5V电压,然后再用7805将+5V电压给整个系统供电;而在锯齿波和正弦波方转换电路中,采用的均是一些常用的电阻电容等元器件。这些器件在实验室大部分有备件,只有极少的芯片及器件需要购买,所以器件的选择完全可行。2.3.2设计中可能存在的问题及解决方案此设计要求最终制作出电路板,在设计时要对每一个电路模块仔细检查,查阅其他书籍进行校对,还要进行实物实验,以确保设计的可实现性。在电路印制板的设计中,最容易出现的现象为过孔太小、细线太细、线与线的间距过窄以及电源线不够宽,导致印制板在工艺上无法实现,甚至系统上电后损坏。故在印制板的设计中要了解印制板实际能达到的做工精度,并根据此精度设计印制板,才能万无一失。在原理图转化为印制板设计图时,最大的问题存在于器件的封装选择上,错误的选择将导致器件无法安装在印制板上。所以,选择时要了解实物的具体尺寸,切实做到器件能恰好安装在印制板的指定位置。以上对设计中可能遇到的较为重要的问题进行了分析并提出了解决方法,基本上可以解决。2.3.3经济上的可行性本设计是一个实验系统,所需要的芯片以及波形转换电路中所需要的电容电阻等元器件大部分可在实验室中找到。因此,设计费用主要集中在印制板的制作上。而系统制作成功将省去一部分实验器材的购置费用.所以,经济上本设计完全可行,并将节省实验设备投资. 第三章 基于单片机的波形发生器的硬件设计在整个设计系统中,最为关键的部分为数据的处理,选择一个合适的处理芯片是极为重要的,而处理芯片的选择与软件的设计休戚相关,软件的可行于否和设计思路直接于单片机的内部结构和资源有关。3.1单片机的简介单片微型计算机1 3是微型计算机的一个重要分支,也是一个非常活跃和颇具生命力的机种。单片微型计算机简称单片机,特别适合用于控制领域,故又称为微控制器(Microcontroller)。它是将计算机的基本部件微型化,使之集成在一块芯片上的微机。片内含有CPU、ROM、RAM、并行I/O、船型I/O、定时器/计数器、中断控制、系统时钟及系统总线等。单片机有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点,在自动化装置、智能化仪表、过程控制和家用电器等许多领域得到日益广泛的应用。因此要完成此系统的设计,考虑到实际的应用和性价比,在数据处理和控制方面单片机是首选。外部定时 系统时钟ROMCPU定时计数器串行IO并行IORAMTXTXDRXD复位中断电源单片机内部结构图接地 图2 单片机的内部结构图3.2 本设计对单片机的要求从1976年9月Intel公司推出MCS-48系列单片机以来,单片机的发展非常迅速,世界上一些著名的器件公司如Atmel公式、Motorola公司、Zilog公司等也竞相推出新产品。每个公司的单片机各有优异,适用范围也有区别。因此选择一个合适本系统的单片机是十分重要的。在此设计系统中,对单片机有如下的要求:1、 本系统要求在有信号输入时,单片机要尽快工作,因此要求单片机运行速度尽可能快 。2、 由于C语言的移植性好,程序简单明了,因此应选用可支持C语言的单片机。3、 单片机的成本应尽可能低。4、 操作过程应尽可能简单。3.3 单片机的选择综合以上因素,作者比较了PIC、Motorola公司、Zilog公司等公司的单片机,选择了美国的ATMEL公司的单片机。美国ATMEL公司率先将Flash存储技术应用于单片机产品中,推出了AT89系列单片机,在全球电子业内引起了巨大的反响。ATMEL公司是一家跨国的专业半导体企业,总部设在美国硅谷圣何塞,ATMEL在电可擦技术上,拥有世界上最多的专利和最先进的工艺。AT89C51 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机,片内含 4k bytes 的可反复擦写的只读程序存储器(PEROM)和 128 bytes 的随机存取数据存储器(RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产, 兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器(CPU)和 Flash 存储单元,功能强大 。AT89C51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。 3.3.1 主要性能参数: MCS-51 产品指令系统完全兼容 4k 字节可重擦写 Flash 闪速存储器 1000 次擦写周期 全静态操作:0Hz24MHz 三级加密程序存储器 1288 字节内部 RAM 32 个可编程 IO 口线 2 个 16 位定时计数器6 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式3.3.2 功能特性概述: AT89C51 提供以下标准功能:4k 字节 Flash 闪速存储器,128 字节内部 RAM,32 个 IO 口线,两个 16 位定时计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51 可降至 0Hz 的静态逻逻辑操作,并支持两种软件可选的节电工作方式。空闲工作方式停止CPU的工作,但允许RAM,定时器/计数器串口通信及中断系统继续工作. 掉电方式保存 RAM 中的内容, 但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。3.3.3 引脚功能说明Vcc:电源电压GND:地P0 口:P0 口是一组 8 位漏极开路型双向 IO 口,也即地址数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口写1可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。 在 FIash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的8位双向IO口,P1的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写1,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出 一个电流(ILI)。FIash 编程和程序校验期间,P1接收低8位地址。 P2 口:P2 是一个带有内部上拉电阻的 8 位双向 IO 口,P2 的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对端口写1 ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(ILI ) 。 在访问外部程序存储器或 16 位地址的外部数据存储器(例如执行 MOVXDPTR 指令)时,P2 口送出高8位地址数据。在访问 8 位地址的外部数据存储器(如执行 MOVXRI 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR) 区中 R2 寄存器的内容),在整个访问期间不改变。 Flash 编程或校验时,P2 亦接收高位地址和其它控制信号。 P3 口:P3 口是一组带有内部上拉电阻的 8 位双向 IO 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入1时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的 P3 口将用 上拉电阻输出电流( ILI ) 。 P3 口除了作为一般的 IO 口线外,更重要的用途是它的第二功能,如下表所示:端口引脚第二功能P3.0RXD (串行输入口)P3.1TXD(串行输出口)P3.2(外中断0)P3.3(外中断1)P3.4T0(定时计数器0)P3.5T1(定时计数器1)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)表1 P3口的第二功能P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的l6 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲().如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的DO位置位,可禁止 ALE操作。该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。 :程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当 AT89C51 由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的信号不出现。 VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000HFFFFH),端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存端状态。 如端为高电平(接 VCC 端),CPU 则执行内部程序存储器中的指令。 Flash 存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。 XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。3.3.4 定时器 0 和 1 的操作 定时器0 和1定时和计数功能由特殊功能寄存器TMOD的控制位C/进行选择这两个定时/计数器有4 种操作模式通过TMOD的M1和M0选择两个定时/计数器的模式0、1和2 都相同模式3 不同如下所述模式0:将定时器设置成模式0时类似8048定时器即8 位计数器带32分频的预分频器图2 所示为模式0工作方式:此模式下定时器寄存器配置为13位寄存器当计数从全为1翻转为全为0时定时器中断标志位TFn置位当TRn=1同时GATE=0或INTn=1时定时器计数置位GATE时允许由外部输入INTn控制定时器这样可实现脉宽测量TRn为TCON寄存器内的控制位图3该13位寄存器包含THn全部8个位及TLn的低5位TLn的高3位不定可将其忽略置位运行标志TRn不能清零此寄存器模式0的操作对于定时器0及定时器1都是相同的两个不同的GATE位TMOD.7和TMOD.3分别分配给定时器0及定时器1模式1模式1 除了使用了THn 及TLn 全部16 位外其它与模式0相同模式2:此模式下定时器寄存器作为可自动重装的8 位计数器TLn 如图4 所示TLn 的溢出不仅置位TFn而且将THn内容重新装入TLn、THn 内容由软件预置重装时THn内容不变模式2的操作对于定时器0及定时器1是相同的模式3:在模式3中定时器1停止计数效果与将TR1设置为0相同。此模式下定时器0的TL0及TH0作为两个独立的8位计数器图5为模式3时的定时器0逻辑TL0占用定时器0的控制位C/、GATE、TR0、INT0及TF0、TH0限定为定时器功能计数器周期占用定时器1的TR1 及TF1此时TH0控制定时器1中断模式3可用于需要一个额外的8位定时器的场合定时器0工作于模式3时80C51看似有3个定时器/计数器当定时器0工作于模式3时定时器1可通过开关进入/退出模式3,它仍可用作串行端口的波特率发生器或者应用于任何不要求中断的场合。TMOD 地址89H不可寻位地址 7 6 5 4 3 2 1 0 GATEC/M1M0GATEC/M1M0位 符号 功能TMOD3 GATE 用于定时器1,置位只有在置高及TR1控制置位时才可打开定时器计数器清零时,置位他TR1即可大开计数器定时器TMOD7 TMOD2 C/ 控制定时器1用做定时器和计时器,清零则用作定时器(从内部系统时钟输入),置位用作计数器(从TN脚输入) M1,M0 定时器模式选择 M1,M0 定时器模式 0 0 8048定时器TLN用作5位预分频器 0 1 16位定时器计数器,无与分频器。 1 0 8位自装载定时器,当溢出时将THN放入TLN.。 1 1 定时器零作为双8位定时器计数器,TL0作为一个8位定时器计数器,通过标准定时器0控制位控制。TH0仅作为一个8位定时器,由定时器1控制位控制,在这种模式下定时器计数器1关闭。 图1 定时、计数0/1模式控制寄存器(TMOD)TCON 地址:88H可位寻址复位置:00H 7 6 5 4 3 2 1 0TF1TR1TF0TR0IE1IT1IE0IT0位 符号 功能TCON7 TF1 定时器1溢出标志:定时计数器溢出时由硬件置位,中断处理时由硬件清除,活用软件清楚。TCON6 TR1 定时器1运行控制位:由软件置位/清零将定时器/计数器打开或者关闭TCON5 TF0 定时器0溢出标志,定时/计数器溢出时由硬件置位,中断处理时由硬件清楚或用软件清楚。TONC4 TR0 定时器0运行控制位。由软件置位清零将定时器计数器打开关闭TCNC3 IE1 中断1边沿触发标志:当检测到外部中断1边沿时由硬件置位,中断处理时清零。TCON2 IT1 中断1控制类型控制位,由软件置位/清零以选择外部中断以下降沿/低电平方式触发。TCON1 IE0 中断0触发边沿标志位:当检测到外部中断0沿边时由硬件置位,中断处理时清零。TCON0 IT0 中断0触发类型控制位,由软件置位/清零以选择外部中断以下降沿/低电平方式触发。图2 定时器计数器控制寄存器(TCON)3.3.5 定时器2 的操作定时器2定时器2是一个16 位定时/计数器,通过设置特殊功能寄存器T2CON 中的C/2位,可将其作为定时器或计数器。定时器2有三种操作模式:捕获自动重新装载(递增或递减计数)和波特率发生器这三种模式由T2CON中的位进行选择。捕获模式在捕获模式中,通过T2CON中的EXEN2设置两个选项如果。EXEN20,定时器2作为一个16位定时器或计数器(由T2CON中C/2位选择),溢出时置位TF2( 定时器2溢出标志位)。该位可用于产生中断(通过使能IE 寄存器中的定时器2中断使能位)如果EXEN21 ,与以上描述相同,但增加了一个特性,即外部输入T2EX由1变0时将定时器2中TL2 和TH2 的当前值各自捕获到RCAP2L 和RCAP2H,另外,T2EX 的负跳变使T2CON 中的EXF2 置位,EXF2也象TF2一样能够产生中断(其向量与定时器2溢出中断地址相同,定时器2 中断服务程序通过查询TF2和EXF2来确定引起中断的事件)。捕获模式如图2 所示,在该模式中,TL2和TH2, 无重新装载值。甚至当T2EX 产生捕获事件时,计数器仍以T2EX 的负跳变或振荡频率的1/12(12时钟模式)或1/6(6时钟模式)计数.自动重装模式(递增/递减计数器)16 位自动重装模式中,定时器2可通过C/T2 配置为定时器/计数器,编程控制递增/递减计数。计数的方向是由DCEN (递减计数使能位)确定的,DCEN位于T2MOD 寄存器中。当DCEN0 时,定时器2默认为向上计数;当DCEN1 时,定时器2可通过T2EX确定递增或递减计数。在该模式中通过设置EXEN2 位进行选择。如果EXEN20,定时器2 递增计数到0FFFFH并在溢出后将TF2置位,然后将RCAP2L和RCAP2H中的16位值作为重新装载值装入定时器2。 RCAP2L 和RCAP2H 的值是通过软件预设的。如果EXEN21,16位重新装载可通过溢出或T2EX从1到0的负跳变实现。此负跳变同时将EXF2置位。如果定时器2中断被使能,则当TF2或EXF2置1时产生中断。在定时器2可递增或递减计数模式中,此模式允许T2EX控制计数的方向。当T2EX置1时定时器2递增计数,计数到0FFFFH后溢出并置位TF2。还将产生中断(如果中断被使能)定时器2 的溢出将使RCAP2L 和RCAP2H 中的16 位值作为重新装载值放入TL2 和TH2。当T2EX 置零时将使定时器2 递减计数。当TL2和TH2计数到等于RCAP2L、RCAP2H 时,定时器产生溢出。定时器2溢出置位TF2,并将0FFFFH 重新装入TL2和TH2。当定时器2 递增/递减产生溢出时,外部标志位EXF2 翻转。如果需要,可将EXF2 位作为第17 位。在此模式中,EXF2 标志不会产生中断。表3 定时器2工作方式RCLK+TCLKCP/RL2TR2工作方式001自动重装方式011捕获方式1X1波特率发生器方式XX0关闭波特率发生器模式寄存器T2CON 的位TCLK 和(或)RCLK允许从定时器1 或定时器2 获得串行口发送和接收的波特率.当TCLK=0 时定时器1 作为串行口发送波特率发生器;当TCLK=1时,定时器2作为串行口发送波特率发生器.RCLK 对串行口接收波特率有同样的作用。通过这两位,串行口能得到不同的接收和发送波特率一个通过定时器1产生,另一个通过定时器2产生。定时器2 工作在波特率发生器模式中与自动重装模式相似,当TH2 溢出时,波特率发生器模式使定时器2 寄存器重新装载来自寄存器RCAP2H 和RCAP2L 的16 位的值。寄存器RCAP2H 和RCAP2LR 的值由软件预置。当工作于模式1 和模式3 时波特率由下面给出的定时器2 溢出率所决定模式1和模式3的波特率定时器可配置成“定时”或“计数”方式,在许多应用上,定时器被设置在“定时”方式(C/T2*=0).当定时器2 作为定时器时,它的操作不同于波特率发生器通常,定时器2 作为定时器,它会在每个机器周期递增(1/6 或1/12 振荡频率)。当定时器2 作为波特率发生器时,它会在每个状态周期递增(例如1/2 振荡频率).这样,波特率公式如下:模式1和模式3的波特率此处n = 16(6 时钟模式)或32(12时钟模式)RCAP2H,RCAP2L)=RCAP2H和RCAP2L 的内容,为16 位无符号整数。定时器2 作为波特率发生器,仅当寄存器T2CON 中的RCLK 和(或)TCLK=1时,定时器2 作为波特率发生器才有效。注意TH2 溢出并不置位TF2, 也不产生中断。这样,当定时器2 作为波特率发生器时,定时器2 中断不必被禁止。如果EXEN2 (T2 外部使能标志)被置位,在T2EX 中,由1到0 的转换会置位EXF2( T2 外部标志位),但并不导致(TH2,TL2) 重装载(RCAP2H, RCAP2L)。 因此,当定时器2 用作波特率发生器时,如果需要,T2EX 可用作附加的外部中断。当计时器工作在波特率发生器模式下,则不要对TH2 和TL2 进行读写,每隔一个状态时间(0sc/2) 或由T2 进入的异步信号,定时器2 将加1, 在此情况下对TH2 和TH1 进行读写是不准确的。可对RCAP2 寄存器进行读,但不要进行写,否则将导致自动重装错误。当对定时器2 或寄存器RCAP 进行访问时,应关闭定时器清零TR2。表4 列出了常用的波特率和如何用定时器2 得到这些波特率表4 由定时器2产生的常用波特率波特率振荡器频率定时器212时钟模式6时钟模式RCAP2HRCAP2L375K750K12MHzFFFF9.6K19.2K12MHzFFD92.8K9.6K12MHzFFB22.4K4.8K12MHzFF641.2K2.4K12MHzFEC830060012MHzFB2E11022012MHzF28F3006006MHzFD8F1102206MHzF957波特率公式汇总定时器2 工作在波特率发生器模式外部时钟信号由T2脚进入波特率为波特率如果定时器2 采用内部时钟信号,则波特率为波特率此处n = 16 (6 时钟模式)或32( 12 时钟模式)fOSC=振荡器频率自动重装值可由下式得到:RCAP2H,RCAP2L=65536-fosc/(n *波特率)3.3.6 定时器/计数器2 的设置除了波特率发生器模式T2CON 不包括TR2 位的设置,TR2 位需单独设置来启动定时器.表5 ,表6给出了T2 作为定时器和计数器的设置.表5 T2作为定时器模式T2CON内部控制(注1)外部控制(注2)16位重装00H08H16位捕获01H09H波特率发生器接收和发送相同波特率34H36H只接收24H26H只发送14H16H表6 T2作为计数器模式TMOD内部控制(注1)外部控制(注2)16位02H0AH自动重拔03H0BH注 1.仅当定时器溢出时进行捕获和重装2.当定时/计数器溢出并且T2EX(P1.1)发生电平负跳变时产生捕获和重装定时器2 用于波特率发生器模式除外3.3.7 时钟振荡器: AT89C5l中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和 XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。 外接石英晶体(或陶瓷谐振器)及电容 C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容 C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用 30pF10pF,而如使用陶瓷谐振器建议选择 40pF10F。 用户也可以采用外部时钟。采用外部时钟的电路如图 5 右图所示。这种情况下,外部时钟脉冲接到 XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。 由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。3.3.8 编程方法: 编程前,须按表5所示设置好地址、数据及控制信号。编程单元的地址加在P1口和P2口的P2.0P2.3(11 位地址范围为 0000H0FFFH),数据从P0口输入,引脚P2.6、P2.7和 P3.6、P3.7 的电平设置见表 6,PSEN为低电平,RST保持高电平,EAVpp引脚是编程电源的输入端,按要求加上编程电压,ALEPROG引脚输入编程脉冲(负脉冲)。编程时,可采用 420MHz 的时钟振荡器,AT89C51 编程方法如下:1在数据线上加上要写入的数据字节。2激活相应的控制信号3在高电压编程方式时,将EAVpp 端加上+12V 编程电压4每对 Flash 存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE编程脉冲。改变编程单元的地址和写入的数据,重复 15 步骤,直到全部文件编程结束。每个字节写入周期是自身定时的,通常约为 1.5ms。3.4 数模转换器与单片机的接口设计DAC芯片的型号很多,他们在价格、精度和速度上有很大的差别.常用的DA器件是将数字量转换成电压或者电流的形式。按照DA和单片机的接口方法可分为并行和串行DA转换器。前者CPU将各位代码同时送到转换器相应的输入端,转换速度快,应用较广。因此根据上述原因,本设计用DAC0832作为与单片机AT89C51相连的数模转换器。DAC0832具有一组 8 位数据线 D 0 D 7 用于输入数字量,一对模拟输出端 I OUT1 和 I OUT2 用于输出与输入数字量成正比的电流信号,一般外部连接由运算放大器组成的电流 -/ 电压转换电路。转换器的基准电压输入端 V REF 一般在 -10V+10V 范围内。 DAC0832的引脚及功能如下所示: 图3 DAC0832的外部图形DI0DI7:数据输入线,TLL电平。 ILE:数据锁存允许控制信号输入线,高电平有效。 :片选信号输入线,低电平有效。 WR1:为输入寄存器的写选通信号。 XFER:数据传送控制信号输入线,低电平有效。WR2:为DAC寄存器写选通输入线。 Iout1:电流输出线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业废气催化燃烧技术环保产业发展报告
- 自媒体技术使用合同范本
- 游戏行业临时工合同协议
- 江苏招聘教师就业协议书
- 用吊车维修楼房合同范本
- 门市房出租协议合同范本
- 舞蹈机构合作人合同协议
- 门窗代加工项目合同范本
- 祖屋继承公证协议书范本
- 港龙文化体育合作协议书
- 江苏省公墓管理暂行办法
- 医疗不良事件管理体系建设与持续改进
- 中国铂族金属供需发展趋势
- 风电施工合同模板
- GA/T 1567-2019城市道路交通隔离栏设置指南
- 氧化还原反应的类型
- 小学英语素材-1-5年级英语牛津词汇表(带音标) 牛津上海版
- DB11-T1836-2021 城市桥梁工程施工技术规程高清最新版
- 2023年唐山市开平区社区工作者招聘考试笔试题库及答案解析
- 用章申请表模板
- 煤矿设备常用动力系数
评论
0/150
提交评论