为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

小孩上幼儿园家长意见怎么写

2017-04-03 1页 doc 6KB 48阅读

用户头像

is_477540

暂无简介

举报
小孩上幼儿园家长意见怎么写 编 号: 审定成绩: xxxx大学 毕业设计(论文) 设计(论文)题目: 基于单片机的函数发生器的研究制作 学 院 名 称 : 学 生 姓 名 : 专 业 : 班 级 : 学 号 : 指 导 ...
小孩上幼儿园家长意见怎么写
编 号: 审定成绩: xxxx大学 毕业设计(论文) 设计(论文)目: 基于单片机的函数发生器的研究制作 学 院 名 称 : 学 生 姓 名 : 专 业 : 班 级 : 学 号 : 指 导 教 师 : 答辩组 负责人 : 填表时间:2010年 6 月 xxxx大学教务处制 摘 要 函数发生器主要作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。本次设计的主要目的就是为了学习基于单片机的函数发生器的工作原理,设计出一个低频的函数发生器。从事本次设计不仅可以让我对函数发生器的原理有更深的了解,而且也对单片机的知识有更深的掌握。 单片机有很多种类,而且制作函数发生器的方案繁多,本次设计是以AT89C51单片机为核心,选用DAC0832为数模转换芯片,并辅以必要的模拟电路,设计出了一个基于AT89C51单片机的函数信号发生器。其设计主要包括单片机最小系统的设计、DA转换模块的设计、键盘控制模块的设计及LCD显示模块的设计。其中DA转换模块包括2块DAC0832芯片和OP07运放电路,第一块DA芯片的输出作为第二块DA芯片的参考电压,而第一块DA芯片的2.5V参考电压由MC1403芯片的输出来提供;键盘控制模块采用3个按键来选择波形类型及调节频率、幅值;显示模块则采用LCD1602来显示波形类型、频率及幅值;最终将设计好的函数发生器的输出接上示波器,在示波器上显示实际输出的波形。 本设计最终能达到预期的效果,能实现电压步进0.1V,方波能够任意调节占空比以及在LCD1602上显示波形类型、电压和频率,并且可以通过示波器来观察其输出的波形。 【关键词】AT89C51单片机 DAC0832 LCD1602 按键 ABSTRACT Function as the main generators by signals. Electronic circuits is now the design in the application of the necessary equipment. The design of the main purpose is to learn revivification function of the generators works, a low frequency function of the generators. in this design could not only allow me to the principle functions of programme,there is more, but also for a more monolithic integrated circuits to learn. Monolithic integrated circuits there are many varieties, and the production function of the generators, the design is AT89c51 monolithic integrated circuits to the selection of a module dac0832 the chips, and supported by the simulation circuits, and devised a function of the signal based on at89c51 monolithic integrated circuits generators. The design includes monolithic integrated circuits to the system design, and D/A the module for the design, the keyboard control module of the design and LCD modules display design. One of D/A the modules including two dollars and op07 dac0832 the discharge of the D/A, the chip is the D/A chip of the voltage and the first piece of D/A chips 5v reference by 2. the voltage mc1403 chip of the output to provide; keyboard control in three key to select the type and frequency, wave of value displays module lcd1602;is used to indicate the type and frequency and wave be; Eventually will be designed to function of the generators output meet on oscilloscope, in the wave is varied in the practical output. The design of the will to achieve the desired results can be achieved step 3 1v voltage and waves to any regulation of free and lcd1602 than on the type of signal wave, voltage and frequency, and may, by the wave is varied to observe the output. 【Key words】AT89C51MCU DAC0832 LCD1602 KEY 目 录 1前 言 2第一章 单片机概述 2第一节 单片机的发展历史及趋势 3第二节 AT89C51单片机结构简介 3一、AT89C51的基本特性 4二、AT89C51单片机的外部引脚介绍 6第三节 本章小结 7第二章 方案选择 7第一节 波形生成方案 8第二节 频率改变方案 9第三节 本章小结 10第三章 系统硬件设计 10第一节 各模块硬件设计 10一、系统总体设计 11二、单片机最小系统设计 12三、8位DA转换器DAC0832 16四、2.5V基准电压模块设计 16五、系统显示功能设计 20六、系统按键功能设计 21第二节 本章小结 23第四章 系统软件设计 23第一节 Keil C51开发环境简介 23一、Keil uVision3环境介绍 24二、利用Keil uVision3创建新项目 25第二节 系统软件流程设计 25一、系统软件总体设计 26二、子系统软件设计 28三、系统详细流程 29第三节 本章小结 30第五章 设计成果 30第一节 实物展示和性能说明 30一、系统设计的实物整体 31二、液晶显示模块 33三、示波器显示模块 35第二节 本章小结 36结 论 37致 谢 38参考文献 39附 录 39一、英文原文: 42二、英文翻译: 44三、工程设计图纸: 45四、源程序: 前 言 本次设计的主要是学习基于单片机的函数发生器的工作原理,制作出一个低频的函数信号发生器。 在科学研究、工程教育及生产实践中,如工业过程控制、教学实验、机械振动试验、动态分析、材料试验、生物医学等领域,常常需要用到低频信号发生器。函数发生器作为一种通用的电子仪器,在生产、科研、测控、通讯等领域都得到了广泛的应用。但市面上能看到的此类仪器在频率精度、带宽、波形种类及程控方面都已不能满足许多方面实际应用的需求。我们长期使用的信号发生器,大部分是由模拟电路构成的,这类仪器作为信号源,频率可达上百MHz,在高频范围内其频率稳定性高、可调性好。但用于低频信号输出时,它所需要的RC值很大,参数准确度难以保证。而且其体积大,损耗也大。前人研制了采用8031单片机及程序存储器构成的最小系统组成的数字式低频信号发生器,它在低频范围内性能好,但是体积较大,价格较贵。随着大规模集成电路技术的发展,集成度不断提高,使得微型机的速度和性能大为提高,可靠性增加,成本降低。MCS-51就是将具有存储程序、处理数据以及与外设交换信息的功能电路集成在一块芯片中,并符合一定系统结构而构成的单片机。 单片机有很多种类,而且制作函数发生器的方案繁多,本次设计是以AT89C51单片机为核心,选用DAC0832为数模转换芯片,并辅以必要的模拟电路,设计出了一个基于AT89C51单片机的函数信号发生器。其设计内容主要包括单片机最小系统的设计、DA转换模块的设计、键盘控制模块的设计及LCD显示模块的设计。其中DA转换模块包括2块DAC0832芯片和OP07运放电路,第一块DA芯片的输出作为第二块DA芯片的参考电压,而第一块DA芯片的2.5V参考电压由MC1403芯片的输出来提供;键盘控制模块采用3个按键来选择波形类型及调节频率、幅值;显示模块则采用LCD1602来显示波形类型、频率及幅值;最终将设计好的函数发生器的输出接上示波器,在示波器上显示实际输出的波形。 本设计最终能达到预期的效果,能实现电压步进0.1V,方波能够任意调节占空比以及在LCD1602上显示波形类型、电压和频率,并且可以通过示波器来观察其输出的波形。 第一章 单片机概述 单片机的全称是单片微型计算机(Single Chip Microcomputer),国际上统称为微控制器(Micro Controller Unit,MCU)。它把组成微型计算机的各功能部件(中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、可编程存储器(EPROM)、并行及串行输入/输出(I/O)接口电路、定时器/计数器、中断控制器等)集成在一块半导体芯片上,构成一个完整的微型计算机。 在进行一个具体的单片机应用系统开发之前,需要对单片机的硬件资源配置和体系结构有较深入的了解。本章将对AT89C51单片机的基础内容作较详细的讲解。 第一节 单片机的发展历史及趋势 单片机出现的历史并不长,但发展十分迅猛。它的产生与发展和微处理器的产生和发展大体相同,自1971年Intel公司首先推出4位微处理器以来,它的发展到目前为止大致可分为4个阶段: 1、 单片机发展的初级阶段(20世纪70年代初~70年代中期)。 1971年11月Intel公司首先设计出集成度为2000只晶体管/片的4位微处理器Intel 4004,并配有RAM、ROM和移位寄存器,构成了第一台MCS-4微处理器。随后又设计出了8位微处理器Intel8008,在此期间Fairchild公司也设计出了8位微处理器F8。这些微处理器虽然还不是真正的单片机,但从此拉开了研制单片机的序幕。 2、 低性能单片机阶段(20世纪70年代中期~80年代初期)。 以1976年Intel公司推出的MCS-48系列为代表,采用将8位CPU、8位并行I/O端口、8位定时器/计数器、RAM和ROM等集成在一块半导体芯片上的单片结构,虽然其寻址范围有限,也没有串行I/O端口,RAM、ROM容量小,中断系统也较简单,但功能可满足一般工业控制和智能化仪表等的需要。这种采用将CPU与计算机外围电路集成到一块芯片上的技术,标志着单片机的诞生。从而导致了计算机领域中开始出现两大分支:通用计算机系统和嵌入式系统。 3、 高性能单片机阶段(20世纪80年代初期~90年代初期)。 这一阶段推出的8位单片机普遍带有串行口,有多级中断处理系统,多个16位定时器/计数器。片内RAM、ROM的容量加大,寻址范围可达64KB,个别片内还带有A/D转换接口。这一阶段中最具典型性的产品为1980年Intel公司推出的MCS-51系列单片机,其他代表产品有Motorola公司的6801和Zilog公司的Z8等。这类单片机的运算速度大幅度提高,增加了外围电路功能,强化了智能控制的特征,拓宽了单片机的应用范围,使之能用于智能终端、局域网络的接口等。因而,它是目前国内外单片机产品的主流,各制造公司还在不断的改进和发展它。 四、8位单片机巩固发展阶段及16位、32位单片机不断推出阶段(20世纪90年代至今)。 此阶段单片机在集成度、功能、速度、可靠性、应用领域等方面向更高水平发展。如:CPU的位数有8位、16位、32位,而结构上采用双CPU结构或内部流水线结构,以提高处理能力和运算速度;时钟频率高达20MHz甚至更高,使指令执行速度相对加快;提高新型的串口总线结构,为系统的扩展和配置打下了良好的基础;增加新的特殊功能部件,如监视定时器WDT、DMA传输、PWM输出、可编程计数阵列PCA、调制解调器、通信控制器、浮点运算单元等;半导体制造的不断进步,使芯片向高集成度、低功耗方向发展。此阶段单片机内集成的功能越来越强大,并朝着片上系统方向发展,单片机在大量数据的实时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人以及局域网等各方面得到大量应用。 随着技术的进步,早期的8位中、低档单片机逐渐被淘汰,但8位单片机并没有消失,尤其是51系列单片机不仅没有消失,反而还呈现快速发展的趋势。目前,单片机正朝着高性能和多品种方向发展,将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方向发展。 第二节 AT89C51单片机结构简介 一、AT89C51的基本特性 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 AT89C51单片机有40个管脚,分成两排,每一排各有20个脚,其中左下角标有箭头的为第1脚,然后按逆时针方向依次为第2脚、第3脚……第40脚。在40个管脚中,其中有32个脚可用于各种控制,比如控制小灯的亮与灭、控制电机的正转与反转、控制电梯的升与降等,这32个脚叫做单片机的“端口”,在单片机技术中,每个端口都有一个特定的名字,比如第一脚的那个端口叫做“P1.0”。 AT89C51单片机的主要特性: ·与MCS-51兼容 ·4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 ·全静态工作:0Hz-24Hz ·三级程序存储器锁定 ·128*8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路 二、AT89C51单片机的外部引脚介绍 AT89C51单片机的外部引脚的排列及名称如图1.1所示:图1.1所示管脚描述如下: ·VCC:提供掉电空闲正常工作电压。 ·GND:接地。 ·P0口:P0口是开漏双向口,可以写为1使其状态为悬浮用作高阻输入。P0也可以在访问外部程序存储器时作地址的低字节,在访问外部数据存储器时作数据总线,此时通过内部强上拉输出1。 ·P1口:P1口是带内部上拉的双向I/O口,向P1口写入1时,P1口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P1口会因为内部上拉而输出电流。其中P1.0用作定时/计数器2的外部计数输入/时钟输出;P1.1用作定时/计数器2重装载/捕捉/方向控制。 图1.1 AT89C51单片机的外部引脚图 ·P2口:P2口是带内部上拉的双向I/O口,向P2口写入1时,P2口被内部上拉为高电平,可用作输入口。当作为输入脚时,被外部拉低的P2口会因为内部上拉而输出电流。在访问外部程序存储器和外部数据时,分别作为地址高位字节和16位地址(MOVX @DPTR),此时通过内部强上拉传送1。当使用8位寻址方式(MOV@Ri)访问外部数据存储器时,P2口发送P2特殊功能寄存器的内容。 ·P3口:P3口是带内部上拉的双向I/O口。向P3口写入1时,P3口被内部上拉为高电平,可用作输入口。当作为输入脚时被外部拉低的P3口会因为内部上拉而输出电流,P3口还具有以下特殊功能:RxD(P3.0):串行输入口 TxD(P3.1):串行输出口 INT0(P3.2):外部中断0 INT1(P3.3):外部中断 T0(P3.4):定时器0外部输入 T1(P3.5):定时器1外部输入 WR(P3.6):外部数据存储器写信号 RD(P3.7):外部数据存储器读信号 ·RST:当晶振在运行中只要复位管脚出现2个机器周期高电平即可复位。内部有扩散电阻连接到Vss,仅需要外接一个电容到Vcc即可实现上电复位。 ·ALE:地址锁存使能,在访问外部存储器时,输出脉冲锁存地址的低字节,在正常情况下,ALE输出信号恒定为1/6振荡频率。并可用作外部时钟或定时,注意每次访问外部数据时一个ALE脉冲将被忽略。ALE可以通过置位SFR的auxlilary.0禁止,置位后ALE只能在执行MOVX指令时被激活。 ·PSEN:当执行外部程序存储器代码时,PSEN每个机器周期被激活两次.在访问外部数据存储器时PSEN无效,访问内部程序存储器时PSEN无效。 ·EA/VPP:在访问整个外部程序存储器时EA必须外部置低,如果EA为高时将执行内部程序,除非程序计数器包含大于片内FLASH的地址。该引脚在对FLASH编程时提供5V/12V编程电压(Vpp),如果保密位1已编程EA在复位时由内部锁存。 ·XTAL1:反相振荡放大器输入和内部时钟发生电路输入。 ·XTAL2:来自反向振荡器的输出。 第三节 本章小结 本章第一节主要介绍了单片机的发展历史及未来趋势,让我们对单片机有了一个初步的了解。第二节比较详细地描述了AT89C51单片机的结构特性及引脚功能,为学习下一章打下了坚实的基础。 第二章 方案选择    函数发生器一般是指能自动产生正弦波、方波、三角波的电压波形的电路或者仪器。其波形产生方法有单片机控制DA技术、直接数字合成等;电路形式可以采用由运放及分离元件构成,也可以采用单片集成函数发生器。本章将讨论采用何种方法设计函数发生器。 第一节 波形生成方案 函数发生器在科学实验、电子测量、自动控制、设备检测、无线通讯等领域有着广泛的应用。信号发生器的基本功能是可以提供符合一定技术指标要求的电信号,其波形、频率、幅值均可以调节。实现信号发生器电路的方案很多,其特点也不同,主要有模拟电路实现方案、数字电路实现方案和模数混合实现的方案。 1、 采用单片机控制技术实现的信号发生器 该方案的主要思路是采用编程的方法来产生希望得到的波形,用户将要输出的波形预先存储在半导体存储器中,在需要某种波形时将储存在存储器中的数据依次读出来,经过数模转换、滤波等处理后,输出该波形的信号。该方案优点是输出信号的频率稳定,抗干扰能力强,实现任意波形的信号容易,可通过外置按键或键盘来设定所需要产生信号源的类型和频率,还可以通过显示器显示出波形的相关信息。不足之处是由于单片机的处理数据的速度有限,当产生频率比较高的信号时,输出波形的质量将下降。 2、利用直接数字频率合成(DDS)集成芯片实现的信号发生器 随着大规模集成电路制作技术的发展,采用直接数字频率合成技术实现的信号产生集成芯片应用越来越广泛。DDS集成芯片内部主要由相位累加器、波形存储器、高速D/A转换器等环节组成,在时钟脉冲的控制下,相位累加器对输入的频率控制字不断进行累加得到相应的相位码,同时相位码序列作为地址信号去寻址波形存储器进行相位码到幅度码的转换,并输出不同的幅度编码。这一系列不同的幅度编码经过D/A转换器得到相应的阶梯电压信号,最后经过低通滤波器平滑,即可输出相应的信号。一般集成DDS芯片内部时钟脉冲的频率固定,其相位累加器位数也不变,所以只需改变频率控制字即可实现输出信号频率的变化。利用DDS集成电路设计的信号发生器具有输出频率高,频率稳定度高,输出频率分辨率高,易于实现全数字控制等优点,是目前设计高精度、高性能信号发生器的首选方案。目前典型的DDS集成芯片有AD9850、AD9851、AD9852和AD9834等。 3、 利用专用函数发生器集成电路实现的信号发生器 利用集成函数发生器专用芯片可以方便的实现多种波形的输出,而且外围电路简单,调试容易。例如早期的函数发生器集成芯片有ICL8038、BA205、XR2206/2207/2209等,这些芯片的不足时输出信号的频率不高,最大仅有几百kHz,调节方式不灵活,频率和脉冲信号的占空比不能独立调节。MAX038是美国MAXIM公司推出的新一代单片函数信号发生器,MAX038内部含有精密带隙电压参考、鉴相器和TTL同步输出,可以采用较少的外部元件构成一台高频函数发生器,也可单独用作电压控制振荡器、频率调制器、脉宽调制器、锁相环、频率合成器和FSK信号发生器,它的主要特点有:0.1Hz~20MHz的输出频率调节范围,350:1的扫频范围,10%~90%的占空比调节范围,可以输出正弦波、方波、矩形波、三角波、锯齿波等波形,且频率和占空比调节互不影响,是目前较为理想的函数发生器集成芯片。 4、采用分立器件组成的信号发生器 过去传统的信号发生一般采用这种方式,该方案一般采用集成运算放大器外加电阻、电容等元件,构成方波、三角波发生器,然后将三角波信号或方波信号转换成正弦波信号输出;也可以直接采用RC正弦波信号发生器产生正弦波信号。该方案的缺点是输出信号频率较低,输出的波形质量差,输出频率调节范围小,电路复杂且体积大。 综合考虑成本、复杂程度、技术要求等各种因素,选择了单片机控制双DA技术完成频率的改变这种方案。 第二节 频率改变方案 方案一:单片机控制DA产生波形均是由查表产生,查表频率的改变可导致送至DA的数据端得点与点之间的距离变化,点与点距离的变化后,波形的周期将发生变化,也就是波形的频率改变了。因此控制单片机的查表频率即可实现频率的步进。其优点是能够很方便的改变频率;其缺点是对单片机查表频率的精度要求较高,且随着频率增高而提高。 方案二:单片机控制计数器的初值。其优点是解除了单片机对查表频率精度的要求;其缺点是当DA的输出频率高于100Hz时,每改变一个计数频率引起输出频率的增加或者减少的频率都大于100Hz。对计数器的位数要求较高(至少需要10位),且由于受到VCO的振荡频率的影响输出频率失真度增加。 综合方案一和方案二的优缺点,本文采用了在低频时控制单片机的查表频率从而改变输出频率,在高频时改变计数器的计数初值来改变频率的方法从而较完美地实现要求。 第三节 本章小结 本章主要介绍了本设计的具体方案,本设计采用双DA技术来生成波形,在频率控制方面,本设计采用控制单片机查表的频率和改变计数器的计数初值相结合的方法。 第三章 系统硬件设计 硬件设计是系统设计非常重要的一部分,这关系到系统能否正常运行,每一个模块的设计都关系到整体。本章将详细地介绍系统各个模块的设计,包括单片机最小系统、DA转换模块、液晶显示模块和按键控制模块等。 第一节 各模块硬件设计 一、系统总体设计 本设计总体框图如图3.1所示: 图3.1 系统总体框图 系统总体款图主要包括以下几个部分: 单片机部分:本设计选用AT89C51单片机作为控制核心。 DA转换部分:本设计采用2块DAC0832芯片,其中一块的输出用于另一块DA的基准 基准电压部分:第一块DA的2.5V基准电压通过MC1403芯片来实现。 显示部分:本设计采用LCD1602来显示波形的类型、幅值的大小、频率的大小。 键盘部分:本设计采用3个独立按键来控制波形类型的选择、幅值大小的改变及频率大小的改变。 二、单片机最小系统设计 本设计以AT89C51单片机为核心,要使AT89C51单片机正常工作,必须满足它的基本条件,这就是最小工作系统,如图3.2所示: 图3.2 AT89C51单片机最小系统 最小工作系统包括如下几部分: 电源:单片机使用的是5V电源,其中正极接40引脚(Vcc),负极接20引脚(GND)。 晶振电路:晶振是晶体振荡器的简称,单片机是一种时序电路,必须提供脉冲信号才能正常工作。AT89C51单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为11.0592MHz,电容值约为30μF。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。单片机内部已经集成了振荡器;使用晶体振荡器,接18(XTAL2)、19(XTAL1)脚。只要买来晶振、电容,按图接上即可。 复位电路:单片机复位电路是指单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。 单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见表3.1。 表3.1 寄存器复位后状态表 特殊功能寄存器 初始状态 特殊功能寄存器 初始状态 A B PSW SP DPL DPH P0—P3 IP IE 00H 00H 00H 07H 00H 00H FFH ***00000B 0**00000B TMOD TCON TH0 TL0 TH1 TL1 SBUF SCON PCON 00H 00H 00H 00H 00H 00H 不定 00H 0********B 按图中画法连好9脚(RST),单片机即可上电初始化。复位电路的工作原理是:通电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程度,即为低电平,时间不少于5ms。复位后单片机才开始正常工作。 EA引脚:31引脚一般接到正电源端。 三、8位DA转换器DAC0832 eq \o\ac(○,1)DAC0832芯片引脚介绍 DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出的转换。图3.3和图3.4分别为DAC0832的引脚图和内部结构图。其主要参数如下:分辨率为8位,转换时间为1μs,满量程误差为±1LSB,参考电压为(+10~-10)V,供电电源为(+5~+15)V,逻辑电平输入与TTL兼容。从图4中可见,在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号/XFER。 图3.3中,当ILE为高电平,片选信号/CS和写信号/WR1为低电平时,输入寄存器控制信号为1,这种情况下,输入寄存器的输出随输入而变化。此后,当/WR1由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存器中,这样输入寄存器的输出端不再随外部数据DB的变化而变化。 对第二级锁存来说,传送控制信号/XFER和写信号/WR2同时为低电平时,二级锁存控制信号为高电平,8位的DAC寄存器的输出随输入而变化,此后,当/WR2由低电平变高时,控制信号变为低电平,于是将输入寄存器的信息锁存到DAC寄存器中。 图3.3 DAC0832引脚图 图3.3中其余各引脚的功能定义如下: (1)、DI7~DI0:8位的数据输入端,DI7为最高位。 (2)、IOUT1:模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当DAC寄存器中数据全为0时,输出电流为0。 (3)、IOUT2:模拟电流输出端2,IOUT2与IOUT1的和为一个常数,即IOUT1+IOUT2=常数。 (4)、RFB:反馈电阻引出端,DAC0832内部已经有反馈电阻,所以RFB端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。 (5)、VREF:参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,VREF范围为(+10~-10)V。VREF端与D/A内部T形电阻网络相连。 (6)、VCC:芯片供电电压,范围为(+5~15)V。 (7)、AGND:模拟量地,即模拟电路接地端。 (8)、DGND:数字量地。 图3.4 DAC0832内部结构图 eq \o\ac(○,2)DAC0832的工作方式 DAC0832可处于三种不同的工作方式: (1)直通方式 :当ILE接高电平,CS、WR1、WR2和XFER都接数字地时,DAC处于直通方式,8位数字量一旦到达DI7~DI0输入端,就立即加到8位D/A转换器,被转换成模拟量。例如在构成波形发生器的场合,就要用到这种方式,即把要产生基本波形的数据存在ROM中,连续取出送到DAC去转换成电压信号。 (2)单缓冲方式 :只要把两个寄存器中的任何一个接成直通方式,而用另一个锁存器数据,DAC就可处于单缓冲工作方式。一般的做法是将WR2和XFER都接地,使DAC寄存器处于直通方式,另外把ILE接高电平,CS接端口地址译码信号,WR1接CPU的WR信号,这样就可以通过一条MOVX指令,选中该端口,使CS和WR1有效,启动D/A转换。 (3)双缓冲方式 :主要在以下两种情况下需要用双缓冲方式的D/A转换。需在程序的控制下,先把转换的数据输入输入缓存器,然后在某个时刻再启动D/A转换。这样,可先选中CS端口,把数据写入输入寄存器;再选中XFER端口,把输入寄存器内容写入DAC寄存器,实现D/A转换。在需要同步进行D/A转换的多路DAC系统中,采用双缓冲方式,可以在不同的时刻把要转换的数据打入各DAC的输入寄存器,然后由一个转换命令同时启动多个DAC转换。先用3条输出指令选择3个端口,分别将数据写入各DAC的输入寄存器,当数据准备就绪后,再执行一次写操作,使XFER变低同时选通3个D/A的DAC寄存器,实现同步转换。 eq \o\ac(○,3)DAC0832与单片机连接及外围电路的设计 图3.5 第一片DAC0832外接转换电路 图3.6 第二片DAC0832外接转换电路 本次函数发生器的设计采用双AD技术。即用第一片DAC0832芯片的输出作为第二片DAC0832的基准电压,通过改变单片机对第一片DAC0832的输入来改变其输出,从而改变第二片DAC0832的基准电压,从而控制第二片DAC0832的输出电流,由此可见,幅值的大小可由单片机来控制。同样单片机也与第二片DAC0832相连接,通过单片机查表频率的改变和定时器初值的改变来控制波形频率的大小。由于DAC0832是电流输出型,在输出端需接一个电流电压转换电路和一个负电压转换为正电压转换电路即可输出0~Vref的电压值。其电路图如图3.5、图3.6所示: 四、2.5V基准电压模块设计 本设计采用MC1403芯片实现2.5V电压基准,其引脚图如图3.7所示: 图3.7 MC1403引脚图 MC1403是低压基准芯片。一般用作8~12bit的D/A芯片的基准电压等一些需要基本精准的基准电压的场合。输出电压:2.5V+/-25mV,输入电压范围:4.5V~40V,输出电流:10mA。因为输出是固定的,所以电路很简单。就是Vin接电源输入,GND接底,Vout加一个0.1uf~1uf的电容就可以了。Vout一般用作8~12bit的D/A芯片的基准电压。 五、系统显示功能设计 本设计采用LCD1602来显示波形的类型、幅值及频率。LCD1602液晶显示模块,它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单。LCD1602管脚如图3.8所示: 图3.8接口管脚功能表如表3.2所示: 图3.8 LCD1602芯片管脚图 表3.2 LCD1602管脚功能表 引脚号 符号 状态 功能 1 Vss 电源地 2 Vdd 电源+5V 3 V0 对比度控制端 4 RS 输入 寄存器选择 5 R/W 输入 读、写操作 6 E 输入 使能信号 7 DB 三态 数据总线 8 DB 三态 数据总线 9 DB 三态 数据总线 10 DB 三态 数据总线 11 DB 三态 数据总线 12 DB 三态 数据总线 13 DB 三态 数据总线 14 DB 三态 数据总线 15 LEDA 输入 背光+5V 16 LEDK 输入 背地光 LCD1602主要管脚介绍: V0:液晶显示器对比度调整端,接地电源时对比度最高,对比度过高时会产生‘鬼影’,使用时可以通过一个10K的电位器调整对比度。 RS:寄存器选择,高电平时选择数据寄存器;低电平时选择指令寄存器。 R/W:读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址;当RS为高电平R/W为高电平R/W为低电平时可以写入数据。 E:使能端,当E端由高电平跳变成低电平时,液晶模块执行指令。 LCD1602控制指令: LCD1602有11个控制指令,如表3.3所示: 表3.3 LCD1602指令对应功能表 指令 功能 清屏 清DDRAM和AC值 归位 AC=0,光标、画面回HOME位 输入方式设置 设置光标、画面移动方式 显示开关控制 设置显示、光标及闪烁开、关 光标、画面位移 光标、画面移动,不影响DDRAM 功能设置 工作方式设置 CGRAM地址设置 设置CGRAM地址。A5~A0=0~3FH DDRAM地址设置 DDRAM地址设置 读BF及AC值 读忙标志BF值呵地址计时器AC值 写数据 数据写入DDRAM或CGRAM内 读数据 从DDRRAM或CGRAM 清屏指令表如表3.4所示: 表3.4 LCD1602清屏指令表 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 0 0 0 0 1 显示开关控制如表3.5所示: 表3.5 显示开关控制表 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 0 1 D C B 功能:设置显示、光标及闪烁开、关; 其中:D表示显示开关:D=1为开,D=0为关。 C表示光标开关:C=1为开,C=0为关。 B表示闪烁开关:B=1为开,B=0为关。 光标、画面位移控制如表3.6所示: 表3.6 LCD1602光标、画面位移控制表 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 1 S/C R/L * * 功能:光标、画面移动,不影响DDRAM。 其中:S/C=1:画面平移一个字符位; S/C=0:光标平移一个字符位; R/L=1:右移;R/L=0:左移。 功能设置如表3.7所示: 表3.7 LCD1602功能设计表 RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 1 DL N F * * 功能:工作方式设置(初始化指令) 其中:DL=1,8位数据接口;DL=0,四位数据接口; N=1,两行显示;N=0,一行显示; F=1,5 10点阵字符;F=0,5 7点阵字符。 读写控制时序如表3.8所示: 表3.8 LCD1602读写控制时序 RS R/W E 功能 0 0 下降沿 写指令代码 0 1 高电平 读忙标志和AC码 1 0 下降沿 写数据 1 1 高电平 读数据 LCD1602与单片机连接图如下: 图3.9 LCD1602与单片机连接电路图 六、系统按键功能设计 此信号发生器采用三个按键与LCD1602配合使用来调节输出信号的各个参数。如图3.10所示,三个按键分别赋予的意义为:“+”键、“—”键、功能键。 图3.10 按键分布与功能图 “功能键”是选择输出波形需要调节的参数,“+”键和“—”键则是增加或者减小输出波形幅值或频率。操作时必须观察LCD1602上显示的内容再按键来调节相应参数。LCD1602上显示的内容如图3.11所示。 (1)G:M——“+”键和“—”键调节输出波形类型,改变的是mode 的值(方波为0,三角波为1,正弦波为2)。 (2)G:F— —“+”键和“—”键调节输出信号频率,改变的是定时器的值。 (3)G:A— —“+”键和“—”键调节输出信号幅值,改变的是A的值(0.0~5.0V, 步进为0.1V)。 图3.11 LCD1602显示内容示意图 说明:按动“功能键”会使G的值在0、1、2之间循环切换。 第二节 本章小结 本章是本文的核心内容,其详细地介绍了该系统硬件设计的具体方案,对各硬件模块以及调试过程中遇到的问题及解决方法作了比较系统的阐述。其中硬件设计方面包括单片机最小系统的设计、按键的设计、液晶显示模块的设计、DA转换模块的设计及基准电压的设计等。在本次硬件调试过程中主要遇到两个问题:第一个问题是由于焊接技术比较生疏,造成在焊接完电路板后出现短路问题。因为没有通过PCB制板,而是由自己直接搭的电路,所以在焊接过程中用到了很多导线来连接,导线越多则越容易焊接错误。比如出现短路、短路以及线跟线之间的干扰等一系列问题。这些问题都可能导致整个电路不通电。在开始调试的时候发现将USB电源接口通过数据线接入电脑的USB接口后电路板上的电源指示灯并不亮,当时想到可能是由于短路或者断路造成的,后来通过万用表一一排查发现原来是USB电源接口那里焊接短路,于是用吸焊器将那里的锡吸出并重新焊接,问题终于得到解决。第二个问题是液晶上显示乱码。通过网上查询后知道液晶显示乱码可能有两个原因:一是软件延时问题,二是线路干扰问题。我试着编了一个简单的液晶测试程序,通过改变延时时间的大小(从100us到1s)发现液晶仍然显示乱码,因此我认为问题不是出在这里,所以我把注意力放在了线路上。经过半天的检查,发现液晶的使能端口和读写指令端口的导线裸露处相连了,所以造成了干扰。通过将两根导线分开并重新焊接后问题得到了解决,液晶正常显示。在此次电路的调试过程中出现的问题虽然很让人烦恼,但是在通过自己的努力使得问题得到解决后,那种成就感油然而生,并且然我懂得了搞科研是多么需要那种认认真真、一丝不苟的精神啊! 第四章 系统软件设计 如果说硬件是一个系统的躯体,那么软件就是系统的灵魂。所谓软件设计当然包括软件的流程设计和具体程序的编写。流程的设计代表系统的一个大概的运行思路,而程序的编写当然涉及到编写程序的软件。本章将介绍编写程序的Keil软件及具体流程的设计,并且将最终的设计成果一一展现。 第一节 Keil C51开发环境简介 一、Keil uVision3环境介绍 Keil C51是KEIL公司推出的51系列单片机C语言软件开发系统,对于多数单片机的应用开发,Keil C51是一款非常优秀的软件。Keil C51软件支持功能强大的集成开发调试工具和丰富的库函数,生成的目标代码效率很高,多数语句的汇编代码很紧凑,且容易理解,在开发大型软件时更能体现高级语言的优势 Keil uVision3是Keil C51 for Windows的集成开发环境,可以用开编译C源代码、汇编源程序、连接和重定位目标文件和库文件、创建HEX文件、调试目标程序等。它集编辑、编译、仿真于一体,并且支持汇编语言。Keil uVision3提供的多功能的文件操作环境,包括一个内藏式编辑室,它是标准的文件编辑器,具有十分强大的文件编辑功能,例如文件块的移动、剪切、复制、查找、删除等,它支持鼠标操作,也有快捷键。在Keil uVision3中,用户可以同时打开多个窗口对多个不同的文件进行处理,这一特性有利于使用C51进行结构化的多模块程序设计。在模块化编程时,如果同时打开多个不同文件,可以在Keil uVision3中分别进行编辑处理。Keil uVision3的主菜单栏涵盖了几乎所有的C51编辑、编译以及调试等功能方式,共有11个选项,分别是File、Edit、View、Project、Debug、Flash、Peripherals、Tool、SVCS、Windows和Help。下面分别对各菜单的列表项所指向的功能进行说明。 (1)文件(File)菜单 文件菜单命令主要用于对文件的一些操作,如新建、打开、关闭、输出等。文件菜单的“Device Database”选项用于修改Keil支持的51系列芯片的型号的设定。 (2)编辑(Edit)菜单 编辑菜单命令主要包括剪切、复制、粘贴、查找、替换等编辑操作和签管理命令。 (3)视图(View)菜单 视图菜单命令用于控制Keil的界面显示,使用视图菜单中的命令可以显示或隐藏Keil的各个窗口和工具栏。 (4)项目(Project)菜单 项目菜单命令包括项目的创建、打开、关闭、维护、目标环境设定、编译等命令。 (5)调试(Debug)菜单 调试菜单命令用于软件仿真环境下的调试,提供断点、单步、跟踪等操作指令。 (6)烧写(Flash)菜单 烧写菜单命令主要用于程序下载到EEPROM的控制。 (7)外设(Perpherals)菜单 外设菜单是外围模块菜单命令,用于控制芯片的复位和片内功能模块的控制。 (8)工具(Tools)菜单 工具菜单主要用于支持第三方调试系统,包括Gimpel Software公司的PC-Lint和西门子公司的Easy-Case. (9)软件版本控制系统(SVCS)菜单 软件版本控制系统菜单命令用于设置和运行软件版本控制系统。 (10)窗口(Windows)菜单 窗口菜单命令用于设置窗口的排版方式,与Windows的窗口管理兼容。 (11)帮助(Help)菜单 帮助菜单用于提供软件帮助信息和版本说明。 二、利用Keil uVision3创建新项目 Keil uVision3中的项目是一个特殊结构的文件,它包含应用开发系统相关所以文件的相互关系,在Keil uVision3中,主要使用项目来进行应用系统的开发。创建一个新项目的详细步骤为: 1、选择菜单命令Project|New Project,弹出“Creat New Project”对话框。 2、在对话框中选择新项目要保存的路径和文件名,单击“保存”按钮即可。Keil uVision3的项目文件扩展名为.uv2。 3、单击“保存”按钮后,弹出“Select Device for Target”对话框。用户需要在左侧的芯片列表中选择调试使用的51系列单片机型号,使对话框右侧的“Descripion”文本框可以查看选中单片机型号的说明。 4、单击“Select Device for Target”对话框中的“确定”按钮,程序会询问是否将标准51初始化程序加入到项目中,选择“是”,程序会自动复制标准51初始化程序到项目所在目录并将其加入项目文件。 5、下面需要向项目中添加文件。选中项目窗口中的文件组后单击鼠标右键,在弹出的菜单中选择Add Files to Group”项添加所需文件。 6、如果没有现成的程序,就需要新建一个程序文件。单击新建文件的快捷按钮,屏幕中出现一个新的文字编辑窗口,这样就可以在新的窗口中输入需要的程序了。 第二节 系统软件流程设计 一、系统软件总体设计 系统软件总体设计,初始化时输出的是方波,显示方波的幅值和频率。通过按键可以选择调节频率还是调节幅值以及选择输出正弦波和三角波。流程图如图4.1所示: 图4.1主程序流程图 二、子系统软件设计 eq \o\ac(○,1)外部中断0 本设计采用外部中断0控制波形类型的选择以及幅值频率的增加,当程序检测到外部中断0时,执行相应的操作。其程序流程图如图4.2所示: 图4.2 外部中断0程序流程 eq \o\ac(○,2)外部中断1 本设计采用外部中断1控制波形类型的选择以及幅值频率的减小,当程序检测到外部中断1时,执行相应的操作。其程序流程图如图4.3所示: eq \o\ac(○,3)定时器0 本设计采用定时器0来控制波形频率的改变,通过装初值来改变定时从而改变频率。其流程图如图4.4所示: 图4.3 外部中断1程序流程 图4.4 定时器0程序流程 三、系统详细流程 系统详细流程图如图4.5所示: 图4.5 系统详细流程图 第三节 本章小结 本章主要介绍了系统软件设计的思路,包括系统总体设计的流程图、定时器、外部中断的程序流程的设计以及在软件调试过程中遇到的问题。其实,软件设计的思路和流程图的设计并不复杂,复杂的是程序编辑和编译。如何使程序编译无误并实现其功能才是真正严峻的问题。在用Keil软件编程编译的过程中,遇到一些问题是不可避免的,如C语言编程格式问题,如何一一化解这需要一定的编程经验和专业基础,这里将不一一叙述。在这次程序调试过程中主要遇到两个棘手的问题:第一个是无法将程序烧进单片机。当时只想到可能是烧写软件没有设置好,或者计算机端口跟软件端口不匹配,但是经过检查后这些都没问题,弄了半天都找不到问题的根源,后来在无意中看到51单片机相关资料后发现51单片机的ROM只有4K大小,也就是说只能容纳4K大小的程序,但是我编的程序却有7K左右,难怪烧不进去,面对这一问题,要么削减程序,要么把51的单片机换成8K的52系列的单片机,要想从7K削减至4K基本不可能,所以只能换成52的单片机。其实51系列单片机跟52系列单片除了ROM大小不同,其他都一样,所以对本设计没有任何影响。第二个问题是按键扫描程序的问题。刚开始按下按键时,液晶显示无任何变化。通过网上查阅知道可能是按键程序没有消抖,所谓消抖就是延时几毫秒后再判断按键是否按下,通过检查程序,发现果真没有消抖。添上一行简单的程序后问题就得到了解决。可想而知,搞软件更加需要严谨的态度,小小的一行程序就有可能是整个设计无法完成。 第五章 设计成果 本次设计的结果无论从硬件的焊接上还是从软件的调试上都基本上还算令人满意。液晶正常显示,示波器上也能正常显示波形。本章将一一介绍本设计的各个模块的性能,包括液晶的显示情况和示波器上波形的显示情况。 第一节 实物展示和性能说明 一、系统设计的实物整体 本设计的完整实物图如图5.1所示: 图5.1 本设计的实物整体展示图 本实物图中包括供电电源、函数发生器和示波器三个部分。 电源:它通过一个变压器将220伏的电压经过处理后能提供本设计中要求的5伏和正负12伏的电压。其中5伏电压是供单片机系统和MC1403芯片使用,正负12伏电压时供OP07芯片使用。 函数发生器:该部分是本设计的核心主题,接通电源后,它将产生方波、三角波、正弦波三种波形,而且上面的液晶能显示波形的类型、幅值大小和频率的大小,接上示波器就能在示波器上显示波形。 示波器:它是用来显示从函数发生器产生的波形,可以通过它开判断函数发生器是否正常工作。 二、液晶显示模块 本设计要求在液晶上显示波形的类型、波形的幅值大小和频率大小。下面将一一展示三种波形的显示情况。方波的显示如图5.2所示: 图5.2 方波的显示图 图5.2所示液晶上A代表波形的幅值,此时按“+”、“—”按键可以改变赋值的大小。其中Mode:F表示当前的波形类型为方波,而液晶第二行的F表示计数器的计数初值,计数初值的改变导致频率的改变。 三角波的显示情况如图5.3所示: 图5.3 三角波的显示图 图5.3所示液晶上A代表波形的幅值,M表示波形类型选择模式,此时按“+”、“—”按键可以选择波形的类型。其中Mode:S表示当前的波形类型为三角波,同样液晶第二行的F表示计数器的计数初值,计数初值的改变导致频率的改变。 正弦波的显示情况如图5.4所示: 图5.4 正弦波的显示图 图5.4所示液晶上A代表波形的幅值,M表示波形类型选择模式,此时按“+”、“—”按键可以选择波形的类型。其中Mode:Z表示当前的波形类型为正弦波,同样液晶第二行的F表示计数器的计数初值,计数初值的改变导致频率的改变,此时若按功能键,则液晶第二行的M变为A或F(A为幅值改变模式,F为频率改变模式)。 三、示波器显示模块 示波器主要用于显示函数发生器输出的波形,用它可以检测函数发生器是否正常工作。 方波显示情况如图5.5所示: 图5.5 示波器上的方波显示效果图 图5.5中示波器的垂直刻度每格为2V,其中方波所占2.5格,所以它的幅值为5V。图中所示的只是方波显示的瞬间情况,然而通过函数发生器的按键可以改变波形的幅值和频率从而导致波形形状的不同。 三角波显示情况如图5.6所示: 图5.6示波器的垂直刻度每格为2V,其中三角波所占2.5格,所以它的幅值为5V。图中所示的只是三角波显示的瞬间情况,然而通过函数发生器的按键可以改变波形的幅值和频率从而导致波形形状的不同。 图5.6 示波器上三角波的显示效果图 正弦波显示情况如图5.7所示: 图5.7 示波器上正弦波的显示效果图 图5.7所示波器的垂直刻度每格为2V,其中三角波所占2.5格,所以它的幅值为5V。图中所示的只是正弦波显示的瞬间情况,然而通过函数发生器的按键可以改变波形的幅值和频率从而导致波形形状的不同。 第二节 本章小结   本章主要是对设计成果的展示和介绍,通过这一章的介绍,我们了解到了此次设计的函数发生器的一些性能。虽然设计的结果可能谈不上完美,但是基本上能够满足设计的要求。 结 论 经过了几个月的努力,我的毕业设计终于完成了。此次毕业设计的过程真的可以用坎坷艰辛来形容啊,第一次硬件调试以失败而告终,于是重新焊了一块电路板。功夫不负有心人,第二次的调试终于成功。通过这次设计,我的动手能力和思考能力都有所提高,尤其是锻炼了我的耐力。在设计的过程中,可以说是困难重重,但是我最终凭借自己的努力一一将之排除。 通过这次设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力,同时在设计的过程中发现了自己的不足之处。 其实函数发生器的设计技术有很多,而且已经很成熟。我本次的设计基本上利用的是前人的技术,谈不上什么创新,而且性能远不如市场上销售的成品。但是唯一有所创新的就是利用两块DAC0832芯片来设计函数发生器,因为一般都是利用一块DA芯片。我希望我的设计技术在将来能够更加完善一点,能够在函数发生器设计的这个领域占有一席之地。 这次毕业设计终于完成了,在此对给过我帮助的所有同学和各位老师表示忠心的感谢! 致 谢 本文是在xxx老师的悉心指导下完成的,衷心感谢她在论文的写作期间给与我的热情帮助和指导。x老师渊博的知识,认真负责的工作作风,平易近人的态度让我获益匪浅。在此,向张老师表示最衷心的感谢和最诚挚的敬意。 同时,我还要感谢我的同学,在我的毕业设计过程中,我多次请教他们有关硬件、软件方面的问题,他们都耐心地为我讲解;在我的毕业论文写作过程中,他们提出了很多建设性的意见,并给了我很多启发。 参考文献 [1] 张毅刚.新编MCS-51单片机应用设计[M]. 哈尔滨工业大学出版社,2003. [2] 刘坤. 51单片机C语言应用开发技术大全[M].人民邮电出版社,2008.09. [3] 王平.计算机控制系统[M].自动化教学部,2009. [4] 童诗白,华成英.模拟电子技术基础[M].高等教育出版社,2001.01. [5] 陈国平.MC-51系列单片机系统原理与设计[M].冶金工业出版社, 2003.03. [6] 刘征宇.电子电路设计与制作.福建科学技术出版社, 2003.09. [7] 杨丽君.智能数字式低频信号发生器(J).电工技术杂志,1999. [8] 徐阳.基于单片机的低频信号发生器设计(J).长江大学学报,2008.5. [9] 王晓光.单片机在低频信号发生器中的应用(J).工业仪表与自动化,2003.2. [10] 陈坚.单片机低频信号发生器(J). 华东地质学院学报,1999. [11] 戚勇.数字式低频信号发生器的软件设计(J).山东理工大学学报,2007. [12] 黄智伟.全国大学生电子设计竞赛训练教程.电子工业出版社,2005.01. [13] 何立民. 51系列单片机应用系统设计.北京航空航天大学出版社,1990. [14] 韩全立,王建明.单片机控制技术及应用.北京:电子工业出版社,2004. [15] 房小翠.单片机使用系统设计技术.北京:国防工业出版社,1999. 附 录 一、英文原文: history of electric power system In 1878, Thomas A. Edison began work on the electric light and formulated the concept of a centrally located power station with distributed lighting serving a surrounding area. He perfected his light by October 1879, and the opening of his historic Pearl Street Station in New York city on September 4, 1882, marked the beginning of the electric utility industry. At Pearl Street, dc generators, then called dynamos, were driven by steam engines to supply an initial load of 30kW for 110-V incandescent lighting to 59 customers in a 1-square-mile area. From this beginning in 1882 through 1972, the electric utility industry grew at a remarkable pace – a growth based on continuous reductions in the price of electricity due primarily to technological accomplishment and creative engineering. The introduction of the practical dc motor by Sprague electric, as well as the growth of incandescent lighting, promoted the expansion of Edison’s dc systems. The development of three-wire 220-V dc systems allowed load to increase somewhat, but as transmission distances and loads continued to increase, voltage problems were encountered. These limitations of maximum distance and load were overcome in 1885 by William Stanley’s development of a commercially practical transformer. Stanley installed an ac distribution system in Great Barrington, Massachusetts, to supply 150 lamps. With the transformer, the ability to transmit power at high voltage with corresponding lower current and lower line-voltage drops made ac more attractive than dc. The first single-phase ac line in the United States operated in 1889 in Oregon, between Oregon city and Portland – 21 km at 4 kV. The growth of ac systems was further encouraged in 1888 when Nikola Tesla presented a paper at a meeting of the American Institute of Electrical Engineers describing two-phase induction and synchronous motors, which made evident the advantages of polyphase versus single-phase systems. The first three-phase line in Germany became operational in 1891, transmitting power 179 km at 12 kV. The first three-phase line in the United States (in California) became operational in 1893, transmitting power 12 km at 2.3 kV. The three-phase induction motor conceived by Tesla went on to become the workhorse of the industry. In the same year that Edison’s steam-driven generators were inaugurated, a waterwheel-driven generator was installed in Appleton, Wisconsin. Since then, most electric energy has been generated in steam-powered and in water-powered (called hydro) turbine plants. Today, steam turbines account for more than 85% of U.S. electric energy generation, whereas hydro turbine account for about 7%. Gas turbines are used in some cases to meet peak loads. Steam plants are fueled primarily by coal, gas, oil, and uranium. Of these, coal is the most widely used fuel in the United States due to its abundance in the country. Although many of these coal-fueled power plants were converted to oil during the early 1970s, that trend has been reversed back to coal since the 1973/74 oil embargo, which caused an oil shortage and created a national desire to reduce dependency on foreign oil. In 1957, nuclear units with 90MW steam-turbine capacity, fueled by uranium, were installed, and today nuclear units with 1312 MW steam-turbine capacity ware in service. However, the growth of nuclear capacity in the United States has been halted by rising construction costs, licensing delays, and public opinion. Starting in the 1990s, the choice of fuel for new power plants in the United States has been natural gas. The gas-fired turbine is safe, clean, more efficient than competing technologies, and uncontroversial. As of 2001, the tread toward natural gas has accelerated. It is estimated that 200 large gas-fired plants are being developed, accounting for 75-90% of planned U.S. Expansion. However, increasing natural gas prices may slow this trend. Other types of electric power generation are also being used, including wind-turbine generators; geothermal power plants, wherein energy in the form of steam or hot water is extracted from the earth’s upper crust; solar cell arrays; and tidal power plants. These sources of energy cannot be ignored, but they are not expected to supply a large percentage of the world’s future energy needs. On the other hand, nuclear fusion energy just may. Substantial research efforts have shown nuclear fusion energy to be a promising technology for producing safe, pollution-free, and economical electric energy later in the 21st century and beyond. The fuel consumed in a nuclear fusion reaction in deuterium, of which a virtually inexhaustible supply is present in seawater. The early ac systems operated at various frequencies including 25, 50, 60, and 133 Hz. In 1891, it was proposed that 60 Hz be the standard frequency in the United States. In 1893, 25-Hz systems were introduced with the synchronous converter. However, these systems were used primarily for railroad electrification (and many are now retired) because they had the disadvantage of causing incandescent lights to flicker. In California, the Los Angeles Department of Power and Water operated at 50 Hz, but converted to 60 Hz when power from the Hoover Dam became operational in 1937. In 1949, Southern California Edison also converted from 50 to 60 Hz. Today, the two standard frequencies for generation, transmission, and distribution of electric power in the world are 60 Hz (in the United States, Canada, Japan, Brazil) and 50 Hz ( in Europe, the former Soviet republics, South America except Brazil, India, also Japan). The advantage of 60-Hz systems is that generators, motors, and transformers in these systems are generally smaller than 50-hz equipment with the same ratings. The advantage of 50-Hz systems is that transmission lines and transformers have smaller reactances at 50 Hz than at 60 Hz. The rate of growth of electric energy in the United States was approximately 7% per year from 1902 to 1972. This corresponds to a doubling of electric energy consumption every 10 years over the 70-year period. In other words, every 10 years the industry installed a new electric system equal in energy-producing capacity to the total of what it had built since the industry began. The annual growth rate slowed after the oil embargo of 1973/74. Kilowatt-hour consumption in the United States increased by 3.4% per year from 1972 to 1980, and by 2.1% per year from 1980 to 2000. Along with increases in load growth, there have been continuing in creases in the size of generating units. The principal incentive to build larger units has been economy of scale – that is, a reduction in installed cost per kilowatt of capacity for larger units. However, there have also been steady improvements in generation efficiency. For example, in 1934 the average heat rate for steam generation in the U.S. electric industry was 17,950 BTU/kWh, which corresponds to 19% efficiency. By 1991, the average heat rate was 10,367 BTU/kWh, which corresponds to 33% efficiency. These improvements in thermal efficiency due to increases in unit size and in steam temperature and pressure, as well as to the use of steam reheat, have resulted in savings in fuel costs and overall operating costs. There have been continuing increases, too, in transmission voltages. From Edison’s 220-V three-wire dc grid to 4-kV single-phase and 2.3-kV three-phase transmission, ac transmission voltages in the United States have risen progressively to 150, 230, 345, 500, and now 765 kV. And ultra-high voltages (UHV) above 1000 kV are now being studied. The incentives for increasing transmission voltages have been: (1) increases in transmission distance and transmission capacity, (2) smaller line-voltage drops, (3) reduced line losses, (4) reduced right-of-way requirements per MW transfer, and (5) lower capital and operating costs of transmission. Today, one 765-kV three-phase line can transmit thousands of mega watts over hundreds of kilometers. 二、英文翻译: 电源系统的历史 1878年,爱迪生开始研究电灯,提出由位于中央的电站向四周地区提供照明的想法。1879年10月,他进一步改进了他的电灯的设计,1882年9月4,纽约Peral街电站的运行标志着电力工业的开始。在Pearl街,由蒸汽机驱动直流发电机向1平方里范围内的59个用户的110V的白炽灯供电,供电负荷最初为30kW。从1882年至1972年,电力工业成长速度惊人,电能价格持续下降,主要原因是由于科技上不断取得的成就和工程界创造性的成果。 由Sprague电力引进的实用的直流电机及白炽灯的发展推动了爱迪生的直流系统的发展。3线220V直流系统的发明在一定程度上提高了供电负荷,但是当输电距离和负荷继续增加,电压成为一大问题。1885年William Stanley发明的经济可行的变压器解决了这一在输电距离和负荷上的限制问题。Stanley在Massachusetts的Great Barrington建立了一个交流配电系统,为150盏灯供电。变压器使得电能可以在更高电压和更低电流传输,降低了线路电压降,使交流系统比直流系统跟具吸引力。美国第一条单相交流线路1889年在Oregon运行,该线路21公里,电压等级为4kV,连接Oregon和Portland。 1888年Nikola Tesla在美国电气工程师协会的会议上,提交了一篇讲解两相感应和同步电机的论文,使得多相系统相对单相系统的优势更加明显了,这更加推进了交流系统的发展。1891年,第一条三相线路在德国运行,传输距离179km,电压等级12kv。在1893年美国(加利福尼亚)的第一条三相线路开始运行,传输距离12km,电压等级2.3kv。Tesla所设想的三相感应电动机逐渐成为工业的主力。 蒸汽电厂的主要燃料是煤,天然气,石油和铀。其中,由于储量丰富,煤是在美国使用最广泛的燃料。虽然,在20世纪70年代早期很多以煤为燃料的电厂都转化为以石油为燃料,然而由于1973年至1974年石油禁运而导致的石油短缺,这一趋势又被反转以燃煤为主,以减少对外国石油的依赖。1957年,相当于90MW汽轮机装机容量,以铀为燃料的核电机组投建,如今,具有1312MW汽轮机装机容量的核电机组在使用中。但是,由于建设费用的增加,申请许可的拖延和公众的舆论阻碍了美国核电容量的增长。 自从20世纪90年代以来,美国新建电厂的燃料一直是天然气。燃气轮机安全,干净,一致认为比其他技术更有效率。截至2001年,天然气的发展趋势一直在加快。据估计,200个大型燃气电厂正在发展中,占据了美国电源规划的75%-90%。然而,天然气价格的提高可能会减慢燃气电厂的发展。 其他类型的电力发电也在使用中,包括风力涡轮发电机;从地壳获得蒸汽或热水形式能源的地热发电厂,太阳电池阵列和潮汐发电厂。这些能源不容忽视,但预计它们不能满足世界未来的大部分能源需求。相反,核聚变能源却能够满足这一需求。大量的研究已经表明,因核聚变能源生产安全,无污染并且节约(经济)电力能源,其将是21世纪后期及以后一项大有可为的技术。核聚变反应消耗的氚,海水是其几乎取之不尽的补给。 最早的交流系统以25Hz, 50Hz, 60Hz和133Hz各种频率运行。1891年60Hz成为美国的标准频率。1893年,通过采用同步换流器,开始使用25Hz系统。但是,这些系统主要用于铁路电气化(很多现在已经退役),因为它们有造成白炽灯闪烁的缺点。加利福尼亚的水利电力部采用50Hz,但是,当1937年Hoover大坝开始运作,频率就转换为60Hz。1949年南加利福尼亚的Edison公司也将频率从50Hz转变为60Hz。今天,60Hz(在美国,加拿大,日本和巴西使用)和50Hz(在欧洲,前苏联,除巴西以外的南美洲,印度以及日本使用)是世界上发电,输电和配电的两个标准频率。60Hz系统的优点在于系统中的发电机,电动机和变压器通常比同等级50Hz系统的设备小。50Hz系统的优点是传输线和变压器的电抗在50Hz时较60Hz时小。 从1902年到1972年美国电力能源以每年大约7%的速度增长。这相当于在70年中每10年电能消耗就增加了一倍。换而言之,每10年电力工业新增的容量等于初始时所建容量的总和。1973/1974的石油禁运之后,每年的增长率就比较缓慢了。1972到1980年美国的千瓦时消耗每年增长3.4%,而1980至2000年每年增长2.1%。 随着负荷的增长,发电机组的规模也在不断的增加。投建较大机组的主要目的就是规模效应,即减少了每千瓦容量的安装成本。不过,发电效率也在稳步的提高。由于机组规模和蒸汽温度、压力的改进,还有蒸汽再加热的使用,使得热效率得到提高,节约了燃料费用和总的运行费用。 传输电压也在不断地提高。从爱迪生的220V三相直流电网到单相4kV和三相2.3kV输电,美国的交流输电电压已经逐步上升到150,230,345,500和现在的765kV。并且1000kV以上的超高压正在研究当中。提高传输电压的目的是为了:(1)提高传输距离和传输容量,(2)线电压下降较小,(3)降低线路损耗,(4)减小每MW输电用地费用,(5)减少输电的投资和运行费用。如今,一条三相765kV的线路能将数千兆瓦的功率输送至几百公里以外。 三、工程设计图纸: 四、源程序: #include #define uchar unsigned char #define uint unsigned int #define F P1 //P1口作为第一个DAC0832的数据输入,输出100HZ的方波、三角波、正弦波(一个周期32个点) sbit F_la=P3^1; //高电平时锁存,低电平时直通 P1口 sbit A_la=P3^0; //高电平时锁存,低电平时直通 P1口 sbit k1=P3^2; //选择波形 sbit k2=P3^3; sbit k3=P3^4; sbit lcd_en=P2^4; //LCD1602使能信号E位定义 sbit lcd_rs=P2^3; //LCD1602读/写(H/L)控制信号RS位定义 char fangbo[]="F"; //输出波形 char sanjiao[]="S"; char zhengxian[]="Z"; char F1[]="F"; //模式选择 char A1[]="A"; char M1[]="M"; char h1[]=" Mode: A: . v"; char h2[]=" F: Hz"; void delay00(uint k); //函数申明 void write_com(uchar com); void write_data(uchar data0); void init00(); uchar ii,ll; //ii表示字符串第i位,ll表示字符串长度 uchar code sin[256]={ 0x80,0x83,0x86,0x89,0x8D,0x90,0x93,0x96, //正弦信号码表 0x99,0x9C,0x9F,0xA2,0xA5,0xA8,0xAB,0xAE, 0xB1,0xB4,0xB7,0xBA,0xBC,0xBF,0xC2,0xC5, 0xC7,0xCA,0xCC,0xCF,0xD1,0xD4,0xD6,0xD8, 0xDA,0xDD,0xDF,0xE1,0xE3,0xE5,0xE7,0xE9, 0xEA,0xEC,0xEE,0xEF,0xF1,0xF2,0xF4,0xF5, 0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD, 0xFD,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFD, 0xFD,0xFC,0xFB,0xFA,0xF9,0xF8,0xF7,0xF6, 0xF5,0xF4,0xF2,0xF1,0xEF,0xEE,0xEC,0xEA, 0xE9,0xE7,0xE5,0xE3,0xE1,0xDE,0xDD,0xDA, 0xD8,0xD6,0xD4,0xD1,0xCF,0xCC,0xCA,0xC7, 0xC5,0xC2,0xBF,0xBC,0xBA,0xB7,0xB4,0xB1, 0xAE,0xAB,0xA8,0xA5,0xA2,0x9F,0x9C,0x99, 0x96,0x93,0x90,0x8D,0x89,0x86,0x83,0x80, 0x80,0x7C,0x79,0x78,0x72,0x6F,0x6C,0x69, 0x66,0x63,0x60,0x5D,0x5A,0x57,0x55,0x51, 0x4E,0x4C,0x48,0x45,0x43,0x40,0x3D,0x3A, 0x38,0x35,0x33,0x30,0x2E,0x2B,0x29,0x27, 0x25,0x22,0x20,0x1E,0x1C,0x1A,0x18,0x16, 0x15,0x13,0x11,0x10,0x0E,0x0D,0x0B,0x0A, 0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02, 0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02, 0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09, 0x0A,0x0B,0x0D,0x0E,0x10,0x11,0x13,0x15, 0x16,0x18,0x1A,0x1C,0x1E,0x20,0x22,0x25, 0x27,0x29,0x2B,0x2E,0x30,0x33,0x35,0x38, 0x3A,0x3D,0x40,0x43,0x45,0x48,0x4C,0x4E, 0x51,0x55,0x57,0x5A,0x5D,0x60,0x63,0x66, 0x69,0x6C,0x6F,0x72,0x76,0x79,0x7C,0x80 }; uchar mode,M,N,N3,A,k=5,gong,fen,Ax; uint d; //每次调用都会清屏,显示字符串 void LCD_1602_str(uchar hang1,char *ttt1,uchar hang2,char *ttt2) { init00(); //初始化函数 for(ll=0,ii=0;ttt1[ii];ii++,ll++); //求第一行字符串长度,当ttt1[ii]为最后一位\0时其ascII码为0,所以此时跳出循环,从而求出字符串长度ll write_com(0x80+hang1); for(ii=0;ii0;x--) for(y=10;y>0;y--); } //写指令子程序 void write_com(uchar com) { lcd_rs=0; //RS为L,RW为L时为写指令,开发板硬件已将RW接地了,所以不用控制RW了 P0=com; //送指令代码到P0口 delay00(1); //延时1ms,时序要求 lcd_en=1; //使能信号给高脉冲,使得1602读取P0口上的指令,高脉冲的脉宽有要求,不同厂家的1602要求也不一样 delay00(1); lcd_en=0; delay00(1); lcd_rs=1; } //写数据子程序 void write_data(uchar data0) { lcd_rs=1; //RS为H,RW为L时为写数据,开发板硬件已将RW接地了,所以不用控制RW了 P0=data0; //送数据到P0口 delay00(1); lcd_en=1; //使能信号给高脉冲,使得1602读取P0口上的数据,高脉冲的脉宽有要求,不同厂家的1602要求也不一样 delay00(1); lcd_en=0; delay00(1); lcd_rs=1; } //初始化子程序 void init00() { write_com(0x38); //设置1602为16X2显示,5X7点阵,8为数据口 write_com(0x0c); //设置显示开/关及光标设置,0x0c为开显示,不显示光标但不闪烁。00001DCB:D=1,开显示,D=0关 显示;C=1显示光标,C=0不显示光标;B=1光标闪烁,B=0光标不闪烁 write_com(0x06); //0x06为当写一个字符后地址指针加一,且光标加一,整屏不移动。000001NS:N=1写一个字符后地址 指针加一,光标加一,N=0写入一个字符后地址指针减一,光标减一;S=1写入一个字符后,整屏左移(N=1)或者右移(N=0),以得到光标不移动而屏幕移动的效果,S=0写入一个 字符后整屏显示但不移动。 write_com(0x80); //数据指针设置,0x80+地址码(0~27H,40~67H),00H~0fH和40H~4fH为可显示区间,其余区间为寄存 器 write_com(0x01); //显示清屏 } //用DAC0832输出方波(0)、三角波(1)、正弦波(2) void fout(void) { switch(mode) //根据模式来输出 { case 0: //方波 { if(N<=128) { F_la=0; F=0x00; F_la=1; } else { F_la=0; F=0xff; F_la=1; } N=N+8; break; } case 1: //三角波 { if(M==0) { N3=N3+16; F_la=0; F=N3; F_la=1; if(N3==240) { M=1; } } if(M==2) { N3=N3-16; F_la=0; //直通 F=N3; F_la=1; //锁存 if(N3==0) { M=0; } } if(M==1) //避免刚到240就被减16,保证每个点之间都间隔定时时间T M++; break; } case 2: //正弦波 { F_la=0; //直通 F=sin[N]; F_la=1; //锁存 N=N+8; break; } default:break; } } //用另一个DAC0832控制基准电压 void aout(void) { A_la=0; //锁存器直通 F=A; //送数据到P1口,准备转换数据 A A_la=1; //锁存数据 } //初始化函数 void init(void) //初始化函数 { F=0; // 数模初始值为0 EA=1; //中断允许 TMOD=0x11; //定时器0,1的方式都是1 TH0=(-293)>>8; //定时器0初值装入,12MHz定时312us,中断频率32*100=3200Hz (一个周期32点) TL0=(-293); ET0=1; //中断0允许 TR0=1; //定时器0开 EX0=1; //开外部中断0 IT0=0; //低电平触发 EX1=1; //开外部中断1 IT1=0; //低电平触发 } //延时程序 void delay(uint m) { uint x,y; for(x=m;x>0;x--) for(y=110;y>0;y--); } //按键设置 void key(void) { k3=1; if(k3==0) { delay(10); if(k3==0) { gong++; while(!k3); if(gong==3) gong=0; //显示系统调节状态 if(gong==0) LCD_1602_t(19,fangbo,0,M1); if(gong==1) LCD_1602_t(19,fangbo,0,F1); if(gong==2) LCD_1602_t(19,fangbo,0,A1); } } } //测试主函数 void main(void) { init(); LCD_1602_str(0,h1,19,h1); LCD_1602_str(19,h1,0,h2); A=255; LCD_1602_t(19,fangbo,0,M1); while(1) { key(); //显示输出波型 if(mode==0) LCD_1602_t(5,fangbo,19,fangbo); if(mode==1) LCD_1602_t(5,sanjiao,19,sanjiao); if(mode==2) LCD_1602_t(5,zhengxian,19,zhengxian); //显示输出信号幅值A if(A>=130) Ax=A-5; else Ax=A; if(A==0) Ax=0; LCD_1602_num(12,Ax*0.1/5,19,0); LCD_1602_num(14,(Ax/5)%10,19,0); //显示定时器初值(如果显示的是实际输出频率就好了,后续工作) LCD_1602_num(19,A,7,d/10000); LCD_1602_num(19,A,8,d/1000%10); LCD_1602_num(19,A,9,d/100%10); LCD_1602_num(19,A,10,d/10%10); LCD_1602_num(19,A,11,d%10); } } //定时器0中断服务程序 void time0() interrupt 1 { EA=0; ET0=0; //中断0允许 TR0=0; //定时器0关 /* //****100Hz**** TH0=(-200)>>8; //293定时器0初值装入,12MHz定时312us,中断频率32*100=3200Hz(一个 周期32,DAC出来就是100Hz) TL0=(-200); */ TH0=(-d)>>8; //31231定时器0初值装入,12MHz定时31250us,中断频率32*1=32Hz(一个周期32,DAC出来就是1Hz) TL0=(-d); ET0=1; //中断0允许 TR0=1; //定时器0开 fout(); //输出100Hz方波 EA=1; } //外部中断0,中断服务程序,增加输出信号幅值A //k为幅值或者频率步进增益(分为1、10、100),gong功能键用于控制调节状态(控制波形(0)、频率(1)、赋值(2)) void ex0() interrupt 0 { EA=0; //关总中断 if(gong==0) //控制波形(0) { mode++; if(mode==3) mode=0; } if(gong==1) //频率控制(1) { d=d+10;// fen++; //F_N(); } if(gong==2) //幅值(2) { if(A==255) A=0; if(A==125) A+=5; A=k+A; //步进0.1v aout(); //调用函数实现幅值A步进 } delay(500); EA=1; //开总中断 } //外部中断1,中断服务程序,减小输出信号幅值A void ex1() interrupt 2 { EA=0; //关总中断 if(gong==0) //控制波形(0) { mode--; if(mode>2) //从0减到255时赋值为3,实现循环 mode=2; } if(gong==1) //频率控制(1) { d=d-50; //fen--; } if(gong==2) //幅值(2) { if(A==0) A=255; A=A-k; //步减0.1v aout(); //调用函数实现幅值A步进 } delay(500); EA=1; //开总中断 } _1309586358.vsd � � 开始 初始化� 调用按键程序� 调用显示程序刷新显示内容� 主程序 _1309587603.vsd � � � 外部中断1 开始 关中断� 波形控制?� 变换波形 频率控制? 减小频率 幅值控制? 减小幅值 开中断� 中断返回� 调用频率控制程序� 调用幅值控制程序� 是 是 是 否 否 否 _1310133483.vsd � mode:FSZ A:x.xv M、A、F F:xxxxxHz _1335438704.vsd � � 开始 初始化单片机各端口、初始化定时器、初始化液晶 无按键按下时液晶默认显示方波的幅值、频率,且当前为模式选择状态 功能键按下 “+”键按下 “-”键按下 程序跳至三角波产生程序处执行 程序跳至正弦波产生程序处执行 频率控制模式 幅值控制模式 通过“+”“-”按键来改变频率的大小 通过“+”“-”按键来改变幅值的大小 液晶显示当前波形幅值、频率的大小 结束 _1309587614.vsd � � 定时中断0 开始 关中断� 关定时器� 装初值� 开中断� 中断返回� 开定时器� _1309587573.vsd � � � 外部中断0 开始 关中断� 波形控制?� 变换波形 频率控制? 增加频率 幅值控制? 增加幅值 开中断� 中断返回� 调用频率控制程序� 调用幅值控制程序� 是 是 是 否 否 否 _1309462616.vsd � “+”键� 功能键 “—”键�
/
本文档为【小孩上幼儿园家长意见怎么写】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索