毕业设计(论文)-基于单片机的正弦信号发生器的设计_第1页
毕业设计(论文)-基于单片机的正弦信号发生器的设计_第2页
毕业设计(论文)-基于单片机的正弦信号发生器的设计_第3页
毕业设计(论文)-基于单片机的正弦信号发生器的设计_第4页
毕业设计(论文)-基于单片机的正弦信号发生器的设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南昌大学南昌大学职业职业技技术术学院学院 毕业设计毕业设计 课题名称: 基于单片机的正弦信号发生器设 设计时间: 2011.112011.12 系 部: 电子信息工程系 班 级: 09 电信专 姓 名: 指导教师: 总目录总目录 第一部分第一部分 任务书任务书 第二部分第二部分 开题报告开题报告 第三部分第三部分 毕业设计正文毕业设计正文 第第 一一 部部 分分 任任 务务 书书 南昌大学职业技术学院南昌大学职业技术学院 毕业设计任务书毕业设计任务书 系系 部部 电子信息 工程系 指指导导老老师师职职称称助教 学生姓名学生姓名班班级级09 电信专学号学号 设计题设计题目目 基于单片机的正弦信号发生器设计 设计设计 内容内容 目目标标 和和 要求要求 设计内容目标: 1、通过对单片机 AT89C51 的掌握,实现正弦信号的产生,并且能 在液晶显示器上显示频率的示数。 2、整个设计过程包括电路原理图的绘制,Keil 软件的程序设计 与编译调试,以及利用 Proteus 软件进行仿真调试。 设计要求: 1、收集、整理与毕业设计课题有关领域的信息资料; 2、按照毕业设计的要求形成符合学院规定的毕业设计书面文档; 3、论文用语规范、单位标准、参数符合行业规定范围; 4、论文中图、表整齐、规范。 教研室教研室 审审核核 系部系部 审审核核 南昌大学职业技术学院南昌大学职业技术学院 电子信息工程电子信息工程 系系 1212 届届 毕业设计(论文)开题报告书毕业设计(论文)开题报告书毕业设计(论文)开题报告书毕业设计(论文)开题报告书(表(表(表(表 1 1 1 1) 学生姓名陈 松专业电子信息工程班级09 电信专学号8210309002 题 目基于单片机的正弦信号发生器设计 指导教师胡 亮职称助教学 位学士 题目类别 工程设计 基础研究 应用研究 其它 【课题的内容与要求】 1、通过对单片机 AT89C51 的掌握,利用单片机实现正弦信号的产生,并且能在液晶显示器上显 示频率的示数。 2、整个设计过程包括电路原理图的绘制,Keil 软件的程序设计与编译调试,以及利用 Proteus 软件进行仿真调试。 【前言】 信号发生器是一种常用的信号源,广泛应用于科学研究、生产实践和教学实验等领域。特 别是通信系统的科研实验中,常常需要用到多种不同频率和相位的信号,如正弦波、三角波、 方波和锯齿波等,因此多功能信号发生器应用十分广泛。在数字化时代的今天,经典的有模拟 电路组成的信号发生器已经渐渐远离了人,取而代之的事电路简洁、功能多样、功耗低的数字 电路。在以后的时间里,将会有越来越多的数字化的信号发生器运用在各种科学技术领域和工 程实践中,给人们的日常生活带来更多的便利。 【方案的比较与评价】 方案一:采用专用信号发生器。MAX038 是美信公司的低失真单片信号发生器集成电路,内 部电路完善。使用该芯片,设计简单,可以生成同一频率信号的各种波形信号,但频率精度我 稳定度都难以达到要求。 方案二:选用 AT89C51 单片机作为控制器,与 D/A 转换器 DAC0832 连接,再经过运算放大 器放大输出,使用按键扫描来实现波形的可变,这样输出的波形稳定、精度高、滤波好、抗干 扰效果好、连接简单、性价比高 因此我们设计中选择方案二。 【预期的效果及指标】 本系统采用单片机 AT89C51 单片机实现正弦信号发生器的设计,利用 Proteus 软件完成系 统硬件电路设计,采用 Keiluvision2 软件进行系统程序设计以及编译调试,做种能够利用 Proteus 软件进行调试仿真。 第第 三三 部部 分分 毕毕 业业 设设 计计 正正 文文 基于单片机的正弦信号发生器设计基于单片机的正弦信号发生器设计 陈松陈松 09 电信专 摘 要本系统利用单片机 AT89C51 完成正弦信号发生器的设计。首先通过 D/A 转换器 DAC0832 将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来 1Hz3kHz 的波 形。同时通过键盘来调整频率变化,并通过 LCD1602 显示波形类型及其频率值。该系统大 致包括单片机主控电路、数/模转换电路以及液晶显示电路三部分,其中对数/模转换部分 和波形调整部分进行详细论述。 关键词单片机 AT89C51、正弦信号发生器、DAC0832、LCD1602 DesignDesign ofof thethe SineSine SignalSignal GeneratorGenerator BasedBased onon SCMSCM Tian Hesi 0802 Electric Automation AbstractAbstract: this system capitalize on AT89C51,it makes use of central processor to generate three kinds of waves, they are triangle wave, and use D/A conversion module, wave generate module and liquid crystal display of 1602, it can have the 1Hz-3KHz profile. In this system it can control wave form choosing, frequency, range,can have the sine wave. Simultaneously may also take the frequency measurement frequency,and displays them through liquid crystal display of 1602. this design includes three modules. They are D/A conversion module, wave generate module and liquid crystal display of LED module. In this design, the wave generator into wave form module and D/A conversion module are discussed in detail. KeyKey words:words: AT89C51、DAC0832、Liquid crystal 1602. 目录目录 第一章 绪论.- 1 - 1.1 课题简介.- 1 - 1.1.1 课题来源.- 1 - 1.1.2 技术现状.- 1 - 1.2 单片机的产生和发展.- 1 - 1.2.1 单片机的定义.- 1 - 1.2.2 单片机的发展史及发展趋势.- 1 - 1.3 单片机的特点及应用.- 2 - 1.3.1 单片机的特点.- 2 - 1.3.2 单片机的应用.- 2 - 第二章 AT89C51 单片机的特性与功能.- 3 - 2.1 单片机的应用与选择.- 3 - 2.2 芯片简介.- 4 - 2.2.1AT89C51 性能简介.- 4 - 2.2.2 AT89C51 的主要特性.- 4 - 2.2.3 AT89C51 管脚功能.- 4 - 第三章 硬件设计.- 7 - 3.1 正弦信号发生器设计方案框图.- 7 - 3.2 DAC0832 硬件简介.- 7 - 3.2.1 管脚功能.- 7 - 3.2.2 DAC0832 芯片与单片机硬件接口设计.- 9 - 3.3 放大整形电路.- 9 - 3.4 LCD1602 硬件介绍.- 10 - 3.5 振荡电路.- 11 - 3.6 复位电路.- 12 - 3.7 键盘电路.- 12 - 3.8 显示电路.- 13 - 第四章 软件设计和仿真调试.- 14 - 4.1 正弦信号发生器程序的流程图.- 14 - 4.2 程序设计.- 15 - 4.3 正弦信号发生器仿真编译.- 20 - 致 谢.- 23 - 参考文献.- 24 - - 1 - 第一章第一章 绪绪 论论 1.1 课题简介 1.1.1 课题来源 本课题适用于科学教研、生产实践和教学实验等领域。它是有 AT89C51 单 片机、DAC0832。通过按键来实现波形的产生。 1.1.2 技术现状 运用单片机来完成本设计具有好的实用性和操作性。因为单片机具有体积 小、功能强、成本低、应用面广等功能。 1.2 单片机的产生和发展 1.2.1 单片机的定义 计算机的发展经历了从电子管到大规模集成电路等几个发展阶段,随着大 规模集成电路技术的发展,使计算机向性能稳定可靠、微型化、廉价方向发展, 从而出现了单片微型计算机。 所谓单片微型计算机,是指将组成微型计算机的基本功能部件,如中央处 理器 CPU、存储器 ROM 和 RAM、输入/输出(I/O)接口电路等集成在一块集 成电路芯片上的微型计算机,简称单片机。总体来讲,单片机可以用以下“表 达式”来表示:单片机=CPU+ROM+RAM+I/O+功能部件 1.2.2 单片机的发展史及发展趋势 单片机的历史可以追朔到 1974 年,美国仙童公司研究出世界上第一台单片 微型计算机 F8,该机由两块集成电路芯片组成,结构奇特,具有与众不同的指 令系统,深受民用电器和仪器仪表领域的欢迎和重视。从此,单片机开始迅速 发展,应用范围也在不断扩大。 单片机的发展历史大致可分为下面三个阶段: 第一阶段(1976 年1978 年):初级单片机微处理阶段。以 Intel 公司是 MCS-48 为代表,此系列的单片机具有 8 为 CPU、并行 I/O 端口、8 位时序同步 计数器,寻址范围不大于 4KB,但是没有串行口。 第二阶段(1978 年1982 年):高性能单片机微处理阶段,如 Intel 公司 的 MCS-51、Motorola 公司的 6801 和 Zilog 公司的 Z8 等。该类型单片机具有串 行 I/O 端口,有多级中断处理系统,16 位时序同步计数器,RAM,ROM 容量 - 2 - 加大,寻址范围可达 64KB,有的芯片甚至还带有 A/D 转换接口。由于该系统 单片机应用领域极其广泛,各公司正大力改进其结构与性能。 第三阶段(1982 年现在):8 位单片机微处理改良型及 16 位单片机微 处理阶段。 1.3 单片机的特点及应用 1.3.1 单片机的特点 随着现代科技的发展,单片机的集成度越来越高,CPU 的位数也越来越高, 已能将所有主要部件都集成在一块芯片上,使其应用模式多、范围广,并具有 以下特点: 体积小,功耗低,价格便宜,重量轻,易于产品化。 控制功能强,运行速度快,能针对性地解决从简单到复杂的各类控制问 题,满足工业控制要求,并有很强的位处理和接口逻辑操作等多种功能。 抗干扰能力强,适用温度范围宽。由于许多功能部件集成在芯片内部, 受外界影响小,故可靠性高。 虽然单片机内存储器的容量不可能很大,但存储器和 I/O 接口都易于扩 展。 可以方便的实现多机和分布式控制 1.3.2 单片机的应用 单片机的应用具有面广量大的特点,目前它广泛的应用于国民经济各个领 域,对技术改造和产品的更新起着重要作用。主要表现在以下几个方面: 单片机在智能化仪器、仪表中的应用:由于单片机有计算机的功能,它 不仅能完成测量,还既有数据处理、温度控制等功能,易于实现仪器、仪表的 数字化和智能化。 单片机在实时控制中的应用:单片机可以用于各种不太复杂的实时控制 系统中,如一般性的温度控制、液面控制、电镀顺序控制等。将测量技术、自 动控制技术和单片机技术相结合,充分发挥单片机的数据处理和实时控制功能, 使系统工作于最佳状态。 单片机在机电一体化中的应用:单片机有利于机电一体化技术的发展, 已广泛应用于数控机床、医疗设备、汽车设备等。 - 3 - 单片机在多机系统中的应用:单片机在多机系统中的应用是将来单片机 发展的主要模式,它可以提高单片机的可靠性,使系统运行速度更快。 单片机在计算机外围设备中的应用:单片机广泛应用于打印机、绘图机 等多种计算机的外围设备,特别是用于智能终端,可大大减轻主机负担,提高 系统的运行速度。 单片机在家用电器中的应用:单片具有体积小、重量轻、价格便宜等特 点,所以家电产品中配上微电脑后,使其身价百倍,功能更强,使用方便,灵 活,深得用户欢迎。 单片机在通信中的应用:单片机广泛应用于移动通信领域,使移动电话 的功能更强大,操作更方便。 第二章第二章 AT89C51AT89C51 单片机的特性与单片机的特性与功能功能 2.1 单片机的应用与选择 8051 是 MCS-51 系列单片机中的代表产品,它内部集成了功能强大的中央 处理器,包含了硬件乘除法器、21 个专用控制寄存器、64kB 的程序存储器 、256B 字节的数据存储器、4 组 8 位的并行口、两个 16 位的可编程定时/计数 器、一个全双工的串行口以及布尔处理器。 由于 MCS-51 集成了几乎完善的 8 位中央处理单元,处理功能强,中央处 理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处 理机及各种逻辑运算和转移指令,这给应用提供了极大的便利。 MCS-51 的指令系统近乎完善,指令系统中包含了全面的数据传送指令、 完善的算术和逻辑运算指令、方便的逻辑操作和控制指令、对于编程来说,是 相当灵活和方便的。 MCS-51 单片机的工作频率为 2-12MHz,当振荡频率为 12MHz 时,一个 机器周期为 1us,这个速度应该说是比较快的。 8051 中集成了完善的各种中断源,用户可十分方便地控制和使用其功能, 使得它的应用范围加大,可以说它可以满足绝大部分的应用场合。 MCS-51 把微型计算机的主要部件都集成在一块心片上,使得数据传送距 离大大缩短,可靠性更高,运行速度更块。由于属于芯片化的微型计算机,各 功能部件在芯片中的布局和结构达最优化,抗干扰能力加强,工作亦相对稳定。 - 4 - 因此,在工业测控系统中,使用单片机是最理想的选择。单片机属于典型的嵌 入式系统,所以它是低端控制系统最佳器件。 2.2 芯片简介 2.2.1AT89C51 性能简介 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROM Falsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。该器件采用 ATMEL 高密度非易失存储器制造技术 制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制 器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 2.2.2 AT89C51 的主要特性 8031 CPU 与 MCS-51 兼容 4K 字节可编程 FLASH 存储器(寿命:1000 写/擦循环) 全静态工作:0Hz-24KHz 三级程序存储器保密锁定 128*8 位内部 RAM 32 条可编程 I/O 线 两个 16 位定时器/计数器 5 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 2.2.3 AT89C51 管脚功能 MCS-51 系列单片机芯片均为 40 个引脚,HMOS 工艺制造的芯片采用双列 直插(DIP)方式封装,其引脚示意及功能分类如图 2-1: - 5 - 图 2-1 MCS-51 引脚图 MCS-51 系列单片机的 40 个引脚中有 2 个专用于主电源的引脚,2 个外接 晶体的引脚,4 个控制或与其它电源复用的引脚,以及 32 条输入输出 I/O 引脚。 VCC:供电电压。 GND:接地。 P0 口(P0.0P0.7) 为双向 8 位三态 IO 口,当作为 I/O 口使用时,可 直接连接外部 I/O 设备。它是地址总线低 8 位及数据总线分时复用口,可驱动 8 个 TTL 负载。一般作为扩展时地址/数据总线口使用。 P1 口(P1.0P1.7) 为 8 位准双向 IO 口,它的每一位都可以分别定义 为输入线或输出线(作为输入时,口锁存器必须置 1),可驱动 4 个 TTL 负载。 P2 口(P2.0P2.7) 为 8 位准双向 IO 口,当作为 I/O 口使用时,可直 接连接外部 I/O 设备。它是与地址总线高 8 位复用,可驱动 4 个 TTL 负载。一 般作为扩展时地址总线的高 8 位使用。 P3 口(P3.0P3.7) 为 8 位准双向 IO 口,是双功能复用口,可驱动 4 - 6 - 个 TTL 负载。 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 禁止, 置位无效。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 综上所述,MCS-51 系列单片机的引脚作用可归纳为以下两点: 单片机功能多,引脚数少,因而许多引脚都具有第 2 功能; 单片机对外呈 3 总线形式,由 P2、P0 口组成 16 位地址总线;由 P0 口分时 复用作为数据总线;由 ALE、PSEN/、EA/与 P3 口中的 INT0/、INT1/、T0、T1、WR/、RD/共 10 个引脚组成控制总线。 - 7 - 第三章第三章 系统硬件电路设计系统硬件电路设计 3.1 正弦信号发生器设计方案框图 单 片 机 显示电路 按键电路 数/模转 换电路 放大电路 波形输出 图 3-1 设计方框图 3.2 DAC0832 硬件简介 3.2.1 管脚功能 DAC0832 管脚功能如图 3-2 所示。 图 3-2 DAC0832 管脚图 DAC0832 的主要特性参数如下: * 分辨率为 8 位; * 输出为电流信号,电流的建立时间为 1us; * 可单缓冲、双缓冲或直接数字输入; * 只需在满量程下调整其线性度; - 8 - * 单一电源供电(+5V+15V),低功耗,20mW; * 参考电压可以达到10V; * 直接的数字接口可以与任何一款单片机相连。 DAC0832 的引脚功能: * D0D7:8 位数据输入线,TTL 电平,通常与单片机的数据总线相连,用于输 入 CUP 送来的待转换数字量。有效时间应大于 90ns(否则锁存器的数据会出错); * ILE:数据锁存允许控制信号输入线,高电平有效; * Error!Error!:片选信号输入线(选通数据锁存器),低电平有效; * Error!Error!:数据锁存器写选通输入线,负脉冲(脉宽应大于 500ns)有效。由 ILE、Error!Error!、Error!Error!的逻辑组合产生 LE1,当 LE1 为高电平时,数据锁存器状 态随输入数据线变换,LE1 的负跳变时将输入数据锁存; * Error!Error!:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于 500ns)有效; * Error!Error!:DAC 寄存器选通输入线,负脉冲(脉宽应大于 500ns)有效。由 Error!Error!、Error!Error!的逻辑组合产生 LE2,当 LE2 为高电平时,DAC 寄存器的输出随 寄存器的输入而变化,LE2 的负跳变时将数据锁存器的内容打入 DAC 寄存器并 开始 D/A 转换。 * IOUT1:电流输出端 1,其值随 DAC 寄存器的内容线性变化; * IOUT2:电流输出端 2,其值与 IOUT1 值之和为一常数; 当 DAC 寄存器内容全为 1 时,IOUT1 为最大,IOUT2=0; 当 DAC 寄存器内容全为 0 时,IOUT1=0,IOUT2 为最大; 为了保证输出电流的线性,应将 IOUT1 及 IOUT2 接到外部运算放大器的输入端 上。 * Rfb:反馈信号输入线,改变 Rfb 端外接电阻值可调整转换满量程精度; * Vcc:芯片工作电源,范围为+5V+15V; * VREF:基准电压输入线,VREF 的范围为-10V+10V; * AGND:模拟信号地,为模拟信号和基准电源的参考地; * DGND:数字信号地,为工作电源地和数字逻辑地; - 9 - 3.2.2 DAC0832 芯片与单片机硬件接口设计 根据对 DAC0832 的数据锁存器和 DAC 寄存器的不同的控制方式,DAC0832 有三种连接方式:直通方式、单缓冲方式和双缓冲方式。 1、双缓冲方式:进行两级缓冲; 2、单缓冲方式:只进行一级缓冲; 3、直通方式:不进行缓冲,适用于比较简单的场合。 本设计采用的是直通连接方式。具体电路设计如图 3-3 所示: 图 3-3 连接图 3.3 放大整形电路 为了输入的是小信号时也能对精确的测出它的频率,所以在信号的输入口 加电压放大。有时输入的信号波形不是很好时,放大后也是失真的信号,这就 会影响到所测信号的频率,因此要经过整形。其电路如图 3-4 所示: - 10 - 图 3-4 放大电路 3.4 LCD1602 硬件介绍 图 3-5 LCD1602 引脚图 LCD1602 引脚及其功能介绍如表 3-1 所示。 表 3-1 管脚号管脚名称LEVER管脚功能描述 1VSS0V电源地 2VDD5.0V电源电压 3VEE对比调整电压 - 11 - 4RSH/L RS=“H”,表示 DB7DB0 为显示数 据 RS=“L”,表示 DB7DB0 为显示指 令数据 5R/WH/L R/W=“H”,E=“H”,数据被读到 DB7DB0 R/W=“L”,E=“HL” DB7DB0 的数据被写到 IR 或 DR 6EH/L使能信号:R/W=“L”,E 信号下降沿 锁存 DB7DB0 R/W=“H”, E=“H” DRAM数据读到 D7D0 7D0H/L数据线 8D1H/L数据线 9D2H/L数据线 10D3H/L数据线 11D4H/L数据线 12D5H/L数据线 13D6H/L数据线 14D7H/L数据线 3.5 振荡电路 单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路, 只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元, 决定单片机的工作速度。系统所采用的振荡电路如图 3-6 所示。 - 12 - 图 3-6 振荡电路图 系统选用石英晶体振荡器。此电路在加电大约延迟 10ms 后振荡器起振, 在 XTAL2 引脚产生幅度为 3V 左右的正弦波时钟信号,其振荡频率主要由石英 晶振的频率确定。电路中两个电容 C1,C2 的作用有两个:一是帮助振荡器起 振;二是对振荡器的频率进行微调。C1,C2 的典型值为 30PF。 单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑 单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数,常用 fosc 表示。如时钟频率为 12MHz,即 fosc=12MHz,则时钟周期为 1/12s。 3.6 复位电路 复位电路如图 3-7 所示,采用上电复位,由极性电容 C3 和电阻组成。复位 电路具有上电自动复位功能,高电平有效,在正常工作状态下复位管脚为低电 平。 图 3-7 复位电路图 3.7 键盘电路 键盘电路如图 3-8 所示,P2.0 对应的按键有启动和停止作用,P2.1 对应的 按键是减少频率,P2.1 对应的按键是加频率。 - 13 - 图 3-8 键盘电路 3.8 显示电路 显示电路如图 3-9 所示,频率通过与单片机相连接的LCD1602显示 图 3-9 显示电路 - 14 - 第四章第四章 软件设计和仿真调试软件设计和仿真调试 4.1 正弦信号发生器程序的流程图 开始 初始化 S1 按下 有按键按下? S3 按下S2 按下 S1num+1延时增 f 减小 延时减 f 增大 S1num=1S1num=2 输出正弦波 液晶显示 f 无输出 S1num=0 液晶显示 f 液晶显示 f N Y - 15 - 图 4-1 流程图 4.2 程序设计 #include /头文件 #define uchar unsigned char #define uint unsigned int sbit lcdrw=P33; /位变量的定义 sbit lcdrs=P32; /位变量的定义 sbit lcde=P34;/位变量的定义 sbit s1=P20;/位变量的定义 sbit s2=P21;/位变量的定义 sbit s3=P22;/位变量的定义 sbit cs1=P35;/位变量的定义 sbit cs2=P36;/位变量的定义 uchar s1num,a,ys,j;/变量的定义(字符型) uint fre; /变量的定义(整型) uchar code tosin256= 0 x80,0 x83,0 x86,0 x89,0 x8d,0 x90,0 x93,0 x96,0 x99,0 x9c,0 x9f,0 xa2, 0 xa5,0 xa8,0 xab,0 xae,0 xb1,0 xb4,0 xb7,0 xba,0 xbc,0 xbf,0 xc2,0 xc5, 0 xc7,0 xca,0 xcc,0 xcf,0 xd1,0 xd4,0 xd6,0 xd8,0 xda,0 xdd,0 xdf,0 xe1, 0 xe3,0 xe5,0 xe7,0 xe9,0 xea,0 xec,0 xee,0 xef,0 xf1,0 xf2,0 xf4,0 xf5, 0 xf6,0 xf7,0 xf8,0 xf9,0 xfa,0 xfb,0 xfc,0 xfd,0 xfd,0 xfe,0 xff,0 xff, 0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xfe,0 xfd, 0 xfd,0 xfc,0 xfb,0 xfa,0 xf9,0 xf8,0 xf7,0 xf6,0 xf5,0 xf4,0 xf2,0 xf1, 0 xef,0 xee,0 xec,0 xea,0 xe9,0 xe7,0 xe5,0 xe3,0 xe1,0 xde,0 xdd,0 xda, 0 xd8,0 xd6,0 xd4,0 xd1,0 xcf,0 xcc,0 xca,0 xc7,0 xc5,0 xc2,0 xbf,0 xbc, 0 xba,0 xb7,0 xb4,0 xb1,0 xae,0 xab,0 xa8,0 xa5,0 xa2,0 x9f,0 x9c,0 x99, 0 x96,0 x93,0 x90,0 x8d,0 x89,0 x86,0 x83,0 x80,0 x80,0 x7c,0 x79,0 x76, 0 x72,0 x6f,0 x6c,0 x69,0 x66,0 x63,0 x60,0 x5d,0 x5a,0 x57,0 x55,0 x51, 0 x4e,0 x4c,0 x48,0 x45,0 x43,0 x40,0 x3d,0 x3a,0 x38,0 x35,0 x33,0 x30, 0 x2e,0 x2b,0 x29,0 x27,0 x25,0 x22,0 x20,0 x1e,0 x1c,0 x1a,0 x18,0 x16, 0 x15,0 x13,0 x11,0 x10,0 x0e,0 x0d,0 x0b,0 x0a,0 x09,0 x08,0 x07,0 x06, 0 x05,0 x04,0 x03,0 x02,0 x02,0 x01,0 x00,0 x00,0 x00,0 x00,0 x00,0 x00, 0 x00,0 x00,0 x00,0 x00,0 x00,0 x00,0 x01,0 x02,0 x02,0 x03,0 x04,0 x05, 0 x06,0 x07,0 x08,0 x09,0 x0a,0 x0b,0 x0d,0 x0e,0 x10,0 x11,0 x13,0 x15, 0 x16,0 x18,0 x1a,0 x1c,0 x1e,0 x20,0 x22,0 x25,0 x27,0 x29,0 x2b,0 x2e, 0 x30,0 x33,0 x35,0 x38,0 x3a,0 x3d,0 x40,0 x43,0 x45,0 x48,0 x4c,0 x4e, 0 x51,0 x55,0 x57,0 x5a,0 x5d,0 x60,0 x63,0 x66 ,0 x69,0 x6c,0 x6f,0 x72, 0 x76,0 x79,0 x7c,0 x80 ;/*正弦波码 */ void delay(uint z)/延时子程序 uchar i,j; for(i=z;i0;i-) - 16 - for(j=110;j0;j-); void delay1(uint y)/延时子程序 uint i; for(i=y;i0;i-); void write_com(uchar com) /1602 写指令 lcdrs=0; P1=com; delay(5); lcde=1; delay(5); lcde=0; void write_data(uchar date) /1602 数据 lcdrs=1; P1=date; delay(5); lcde=1; delay(5); lcde=0; void init() /初始化 lcdrw=0; lcde=0; cs2=0; cs1=0; write_com(0 x38); write_com(0 x0c); write_com(0 x06); write_com(0 x01); write_com(0 x80+0 x00); write_data(0 x77); /写 wave: write_data(0 x61); write_data(0 x76); write_data(0 x65); write_data(0 x3a); write_com(0 x80+0 x40); /写 f: write_data(0 x66); - 17 - write_data(0 x3a); void write_f(uint date) /写频率 uchar qian,bai,shi,ge; qian=date/1000; bai=date/100%10; shi=date/10%10; ge=date%10; write_com(0 x80+0 x42); write_data(0 x30+qian); write_data(0 x30+bai); write_data(0 x30+shi); write_data(0 x30+ge); write_data(0 x48); write_data(0 x5a); void xsf()/显示频率 if(s1num=1) /if 语句(判断是否是状态 1) fre=(1000/(9+3*ys); /频率计算公式 write_f(fre); /写频率 void keyscanf() /按键部分 if(s1=0) delay(5); if(s1=0) while(!s1);/无限循环函数 s1num+;/s1num+1 if(s1num=1)/if 语句(判断是否是状态 1) ys=0; write_com(0 x80+0 x05); write_data(0 x73); /写 sine: write_data(0 x69); write_data(0 x6e); write_data(0 x65); - 18 - write_data(0 x20); write_data(0 x20); if(s1num=2) /if 语句(判断是否是状态 2) s1num=0; P1=0; write_com(0 x80+0 x05); write_data(0 x20); write_data(0 x20); write_data(0 x20); write_data(0 x20); write_data(0 x20); write_data(0 x20); write_com(0 x80+0 x42); write_data(0 x20); write_data(0 x20); write_data(0 x20); write_data(0 x20); write_data(0 x20); write_data(0 x20); if(s2=0) /按键减频率

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论