基于单片机的全数字信号发生器设计

合集下载

基于DDS与单片机的信号发生器的设计.

基于DDS与单片机的信号发生器的设计.

基于DDS与单片机的信号发生器的设计参赛队员:陈天元杨维龙王伟健选题:信号源的设计和制作(B题)摘要在信号发生器的设计中,传统的用分立元件或通用数字电路元件设计电子线路的方法设计周期长,花费大,可移植性差。

本设计是用直接数字频率合成器(DDS)。

与传统的频率合成方法相比,DDS合成信号具有频率切换时间短、频率分辨率高、相位变化连续等诸多优点。

使用单片机灵活的控制能力与液晶显示相结合,使得可以直观的控制波形的产生与调整,带来了很大的便利。

关键词:单片机,直接数字频率合成,液晶1、现有元件电源模块7805,STC89C52单片机,DDS直接式数字合成频率计,模数转换器ADC0804,1602液晶显示模块,独立按键等。

2、设计要求一、任务在给定±12V电源电压条件下,设计并制作一个正弦波信号源。

二、要求1、基本要求:(1)输出信号频率:20Hz~300kHz;(2)信号幅度:负载50Ω时,输出电压峰峰值为1~3V可调;(3)信号源输出电阻为50Ω;(4)显示信号的频率和幅度。

2、发挥部分:(1)提高信号的输出频率至1MHz;(2)提高信号的输出电压峰峰值至1~10V可调(带50Ω负载);(3)自行扩展信号源功能。

3、可以达到的效果本设计可以将输出频率调整到1~30 MHz,而由于在超高频条件下,一般运放的带宽不足以满足放大波幅的设计要求,但是我们通过负电压增加电流的方式,使得信号输出电压峰峰值为0.7v~2.4v可调。

本设计可以通过按键进入设置模式,左右按键移动光标,上下按键加减频率,再通过旋钮调节幅值,然后按键结束设置模式,就可以从输出口输出我们在设置模式下给定的波形。

4、硬件设计4.1、总体设计通过STC89c52给定DDS频率,短接DDS上J3口,使DDS可以输出稳定频率通过按键中断进入波形设置模式,可以通过按键增减与移位调整液晶屏上的频率显示,通过调整LM348设置新的幅值,在跳出波形设置模式时,DDS会按照设置好的波形参数产生一个新的波形,用以输出。

基于AT89C52单片机信号发生器设计

基于AT89C52单片机信号发生器设计

目录引言 (2)一设计任务 (2)1设计内容 (2)2设计要求 (2)二芯片功能介绍 (2)三总体功能图和总原理图 (4)四程序流程图 (5)1 锯齿波程序流程图 (5)2 三角波程序流程图 (5)3 梯形波程序流程图 (6)4 方波程序流程图 (7)5 正弦波程序流程图 (8)6 整体程序流程图 (9)五程序设计 (10)六仿真测试 (13)七总结与体会 (16)八参考文献 (16)九致谢....................................................................... 错误!未定义书签。

引言信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。

这次的设计分为五个模块:单片机控制及显示模块、数模转换模块、波形产生模块、输出显示模块、电源模块。

使用AT98C52作为主控台结合芯片DAC0832产生1HZ-10HZ频率可调的五种信号波(锯齿波、三角波、方波、梯形波、正弦波)。

这几种波形有几个开关控制,可以随意进行切换,十分方便。

另外,波形的频率和振幅也可以通过开关进行更改。

可以说这次的设计操作简单,内容丰富,而且电路快捷明了。

1设计任务1.1设计内容以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、锯齿波、梯形波等),且频率、幅度可变的函数发生器。

1.2设计要求设计借口电路,将这些外设构成一个简单的单片机应用系统,画出接口的连接图和仿真图,并编写出控制波形的程序。

2芯片功能介绍2.1、DAC0832芯片介绍:DAC0832为一个8位D/A转换器,单电源供电,在+5~+15V范围内均可正常工作。

基准电压的范围为±10V,电流建立时间为1μs,CMOS工艺,低功耗20mW。

DAC0832的内部结构框图如下图所示。

图2.1 DAC0832的内部结构框图2.2 DAC0832的外部引脚及功能介绍图如下:图2.2 DAC0832介绍2.3 DAC0832的应用:DAC0832一是用作单极性电压输出,二是用作双极性电压输出,最后是用作程控放大器。

基于单片机的信号发生器设计

基于单片机的信号发生器设计

drc dg a f q e c y tei D F ) h et ea dsoecnb hn e ecr i rn e t i t i t eu nysn s e( D S .T p n cp a ec agdi t et n ag .I e i lr h z y nh a
K e r s: wa eo r e e ao ;AT 9C5 y wo d v f r lg n r t r f 8 2;D/A o v ri n c n e so
0 引 言
信号 发生器 亦称 函数 发 生 器 , 是一 种 能 产生 各 种 函数 波形 的仪 器 。在现 代 电子学 的各 个领 域 , 常 常需要高精度 和频率 方便 可调 的信号 发 生器 。产 生 信号频率越高 , 波形 种类 越多 , 发生 器 的性 能越好 , 但 随之而来的是 , 器件 成本和技术要求也会大大提高 。 利用单 片 机 通 过 程 序 设 计 方 法 来 产 生 低 频 信 号 , 频率底 线很低 , 其 具有线 路相 对简单 、 结构 紧凑 、
收 稿 日期 :2 1 0 0—1 0 1— 8 作 者 简 介 : 【蛟 ( 9 7一), , 士 研 究 生 , 究 方 向 为 系统 性 能 检 } { 18 男 硕 研
1 工作 原 理
信 号发 生器采用 直接数 字合成 技术 。基本原 理 为 采样定 理 : 样频 率必 须 大 于 或等 于 两倍 信 号谱 抽 的最 高频率 。因此 , 通过 查 表 法来 让 单 片机 产 生波 形 。首先 , 对需要 产生 的波形进 行采样 , 将采 样值数 字化 存人 单 片 机存储 器 作 为查 找 表 , 后再 通 过查 然
Absr c : T e ta t h wa e o m g ne ao fg r d he v fr e r tr i u e t AT8 2 a d 9C5 n DAC 3 a t e a d o e Th 08 2 s h h r c r . e

基于单片机制作高频DDS信号发生器

基于单片机制作高频DDS信号发生器

基于单片机制作高频DDS信号发生器在现代科学和电子技术的不断进步下,数字信号发生器(DDS)已经成为了频率控制和生成的重要工具。

尤其是高频DDS信号发生器,其在雷达、通信、电子对抗等领域的应用具有不可替代的地位。

本文将介绍如何使用单片机制作高频DDS信号发生器。

一、DDS技术概述DDS,全称Direct Digital Synthesizer,即直接数字合成器,其工作原理是将数字信号通过数模转换器(DAC)转换成模拟信号。

DDS 技术的核心是相位累加器,它将输入的数字信号的相位进行累加,从而生成新的频率信号。

二、硬件设计1、单片机选择:本设计选用具有高速、低功耗、高集成度的单片机,如STM32F4系列。

2、频率控制字:通过设置频率控制字(FCW),可以控制输出信号的频率。

频率控制字由一个16位二进制数组成,表示了相位累加的步进大小。

3、存储器:使用Flash存储器存储预设的频率波形数据。

4、DAC:数模转换器将存储器中的波形数据转换成模拟信号。

本设计选用具有高分辨率、低噪声、低失真的DAC芯片。

5、滤波器:使用LC滤波器对DAC转换后的信号进行滤波,以得到更加纯净的信号。

三、软件设计1、相位累加器:相位累加器是DDS的核心,它将输入的数字信号的相位进行累加,从而生成新的频率信号。

2、波形查找表:将所需的波形数据存储在波形查找表中,通过查表的方式获取波形数据,可以大大提高DDS的工作效率。

3、控制逻辑:控制逻辑负责处理输入的控制信号,如启动、停止、频率控制字等。

4、通信接口:为了方便远程控制,需要设计通信接口,如SPI、I2C 等。

四、性能测试1、频率范围:测试DDS输出信号的频率范围是否满足设计要求。

2、频率分辨率:测试DDS输出信号的频率分辨率是否达到设计要求。

3、信号质量:测试DDS输出信号的信噪比、失真度等指标是否满足设计要求。

4、稳定性:长时间运行后,测试DDS输出信号的频率是否稳定。

5、远程控制:测试通信接口是否正常工作,可以通过计算机或者其他控制器对DDS进行远程控制。

基于单片机制作高频DDS信号发生器

基于单片机制作高频DDS信号发生器

目录1 DDS技术的基本原理 (2)2.1 DDS结构 (2)DDS数学原理 (5)2 总体设计方案 (7)3.1系统设计原理 (7)3.2总体设计框图 (8)3系统的硬件设计 (8)3.2 DDS芯片的选择及与单片机之间的通信 (8)3.3 单片机〔AT89S52〕控制电路 (11)3.4 液晶显示模块 (14)3.5 低通滤波器的设计 (16)4 信号发生器的软件设计 (17)4.1 程序流程图 (17)4.2 键盘扫描流程图 (19)4.3 LCD的显示 (21)5部分系统的仿真和调试 (21)6 系统的程序代码................ 错误!未定义书签。

7设计心的及体会 . (25)8 参考文献 (26)1 DDS技术的基本原理2.1 DDS结构1971年,美国学者等人撰写的“A Digital Frequency Synthesizer”-文首次提出了以全数字技术,从相位概念出发直接合成所需波形的一种新组成原理。

限于当时的技术和器件产,它的性能指标尚不能与已有的技术相比,故没受到重视。

近几年间,随着微电子技术的迅速发展,直接数字频率合成器〔Direct Digital Frequency Synthesis简称DDS或DDFS〕得到了飞速的发展,它以有别于其它频率合成方法的优越性能和特点成为现代频率合成技术中的佼佼者。

具体表达在相对带宽、频率转换时间短、频率分辨率高、输出相位连续、可产生宽带正交信号及其他多种调制信号、可编程和全数字化、控制灵活方便等方面,并具有极高的性价比。

DDS是直接数字式频率合成器〔Direct Digital Synthesizer〕的英文缩写。

与传统的频率合成器相比,DDS具有低成本、低功耗、高分辨率和快速转换时间等优点,广泛使用在电信与电子仪器领域,是实现设备全数字化的一个关键技术。

直接数字频率合成器〔Direct Digital Synthesizer〕是从相位概念出发直接合成所需波形的一种频率合成技术。

毕业设计基于单片机的函数信号发生器

毕业设计基于单片机的函数信号发生器

目录1 绪论 (5)1.1 选题背景及意义 (5)1.1.1 本课题的研究现状 (5)1.1.2 选题目的及意义 (6)1.2 设计任务及要求 (6)1.2.1 设计的基本要求 (7)1.2.2 本文结构安排 (7)2 函数发生器系统设计 (8)2.1 设计方案的比较 (8)2.2 系统模块设计 (9)2.2.1 控制模块: (9)2.2.2 按键及其显示模块: (9)2.2.3 波形产生模块 (9)2.2.4 D/A转换 (10)2.3 系统总体框图 (12)2.4 理论分析 (12)2.4.1 电路的理论计算 (12)2.4.2 波形产生相关理论 (15)2.5 单片机软件开发系统 (15)3 系统硬件电路的设计 (17)3.1 单片机最小系统 (17)3.2 单片机的接口电路 (18)3.3 幅度控制模块 (23)3.3.1 单片机与DAC0832的接口 (23)3.3. 2DAC0832与运放的连接 (23)4 系统软件设计 (26)4.1 系统软件设计方案 (26)4.2 系统软件流程图 (26)4.3 信号产生程序 (27)4.3.1 正弦波产生 (28)4.3.2 三角波产生 (28)4.3.2 方波产生 (29)4.3.4 锯齿波的产生 (30)5 系统调试与测试 (32)5.1 调试 (32)5.2 测试 (35)6 结论与展望 (38)6.1 结论 (38)6.2 展望 (38)致谢 (39)参考文献 (51)附录 (40)附录一系统软件部分源程序 (40)附录二系统原理图 (49)附录三系统PCB图 (50)基于单片机的波形发生器的设计学生:李利刚指导老师:李敏(黄冈职业技术学院)摘要:函数发生器是一种用于产生标准信号的电子仪器,它广泛用于工业生产、科研和国防等各个领域中,所以论文选题具有一定的实用意义。

本文介在绍了函数发生器的基本概念及原理的基础上,采用AT89C51单片机为核心,完成了简易的DDS函数发生器的硬件设计和软件编程,并通过调试实现了其功能和主要技术指标。

基于单片机的信号发生器设计

基于单片机的信号发生器设计
作 者简 介 :孙勤江 ( 1 9 7 9 一),男,黑龙江五大连池人 ,大庆
石 油学院毕 业 ,工程 师。 中海石 油 ( 中国)有限公司 天津分公司 业务 主管 。
1 单片机在低频信号发生器 中的应用
信 号 发 生 器 作 为 一 种 常 见 的 应 用 电子 仪 器 设 备 】 ,传 统 方 法完 全 可 以 由硬件 电路 搭 接 而 成 , 如采用5 5 5 振 荡 电路 发 生 正 弦 波 、 三 角 波 和 方 波
波 形 发 生 器 广 泛 应 用 于Байду номын сангаас电子 电路 、 自动 控 制
的 电路 便 是 可取 的路 径 之 一 ,不 用 依 靠 单 片机 。
和 科 学 试验 领 域 ,是 一 种 为 电子 测 量 提 供 符 合 严 格 技 术要 求 的 电信 号设 备 。示 波 器 、 电压 表 、 频 率 计 等 仪器 是 最 普 通 、最 基 本 的应 用 最 广 泛 的 电 子 仪 器 , 几乎 所 有 电参 量 的测 量 都 要 用 到 波 形 发
单片 机可 将 应用 所 需 的存储 器 、各种 功 能 的I /
产 生 波 形 信 号 有 许 多方 法 , 如 采 用 分 立 元
件 实 现 非 稳 态 的 多 谐振 振 荡 器 ,然 后 根 据 具 体 需 要 加 入 积 分 电路 等 构 成 正 弦 波 、矩 形 波 、 三 角 波
0接 口集 成 在一 块芯 片 内 ,其性 , 一 c , h 6 E K t 高 ,价格 却相 对 较 低廉 ,即性价 比较 高 。 1 . 2控 制功 能 强
单 片 机 体 积 虽 小 ,但 功 能 齐 全 ,非 常 适 合 于
的便 利 ,本文 以A T 8 9 S 5 1 作 为 主控核 心 ,采 用简 易 搭 建 、成 本低 廉 的 电 阻网 络作 为DA转 化 器件 ,通 过 软 硬 件 电路 设计 ,产 生 数 字 式 正 弦 波 、方 波 、 三角 波等 波形 信 号 。

基于单片机DDS信号发生器的硬件设计

基于单片机DDS信号发生器的硬件设计

基于单片机DDS信号发生器的硬件设计单片机DDS信号发生器是一种利用数字直接频率合成技术(Direct Digital Synthesis, DDS)来生成高精度信号波形的设备。

它通过调用存储在单片机中的频率、幅度和相位数据,实时更新波形,从而实现高速、高分辨率和低失真的信号发生器功能。

在本文中,将简要介绍单片机DDS信号发生器的设计流程以及其硬件实现。

设计流程:1.确定需求和规格:首先需要明确所需信号的频率范围、分辨率、输出幅度和失真要求等基本参数,以确定设计的方向和重点。

2.硬件选型:根据需求确定适合的单片机型号和外围器件,如振荡器、滤波器、放大器等。

3.硬件连接:根据单片机的引脚功能和外部器件的连接方式设计电路图,将各模块连接起来。

4.编程开发:编写单片机控制程序,实现DDS算法和信号波形生成,并将其烧录到单片机中。

5.调试和优化:通过实际调试和测试,不断优化硬件和软件设计,使其符合设计要求。

硬件实现:1.单片机选择:选择一款适合的高性能单片机作为控制核心,如STM32系列、PIC系列等,具有较高的计算性能和丰富的功能模块。

2.时钟源部分:基于晶振或者DDS芯片提供的时钟信号作为主时钟源,保证信号发生器稳定输出。

3.数字与模拟部分:DDS信号发生器的核心是DDS芯片,它与单片机通过SPI接口通信,实现信号波形的生成和调试。

4.输出功率放大器:将DDS芯片输出的信号通过功率放大器放大至所需的幅度,以驱动外部电路工作。

5.滤波器设计:为了消除输出信号中的高次谐波和噪声干扰,需要设计合适的低通滤波器,保证输出信号的纯净度和稳定性。

6.电源管理:为各个模块提供稳定可靠的电源,充分考虑信号发生器的功耗和稳定性要求。

7.外部控制:设计合适的用户接口和控制按钮,方便用户操作和调节信号波形的参数。

总结:单片机DDS信号发生器的硬件设计涉及到信号生成、时钟同步、数字模拟转换、输出功率放大和滤波等多个方面,需要综合考虑各个模块的性能和需求,以实现高质量、高稳定性的信号输出。

基于单片机的智能信号发生器设计与仿真

基于单片机的智能信号发生器设计与仿真
i nt e r f a c e c i r cu i t d i a gr a m a r e gi v e n,c o m bi ni ng wi t h t he ke yb o ar d t o c o nt r o l t he c hoi c e a nd f r e qu e nc y o f wav e f o r m
Ab s t r a c t :U s i n g AT8 9 C5 1 a s t h e c o r e mo d u l e s , t h i s a r t i c l e d e s i g n e d a n i n t e l l i g e n t s i g n a l g e n e r a t o r , wh i c h c a n p r o d u c e s a wt o o t h wa v e , t r i a n g l e wa v e ,s q u a r e wa v e a n d s i n e wa v e .S i g n a l g e n e r a t o r s t r u c t u r e d i a g r a m a n d t h e Ha r d wa r e
e x p o n e n t i a l , l o g a r i t h mi c wa y, t h r o u g h D/ A c o n v e r t e r c o n v e r t s t h e s i g n a l s p r o d u c e d b y a n a l o g wa v e f o r m, a n d b y 1 2 8 6 4

8 1 0 0 0 8 )
要 :利 用 A T 8 9 C 5 1单 片 机 为 核 心 模 块 , 设 计 了 一种 智 能 信 号 发 生 器 , 可 实现锯齿波 、 三 角波 、 方 波 和 正 弦 波 4种

基于AT89C51单片机的多功能函数信号发生器设计毕业论文

基于AT89C51单片机的多功能函数信号发生器设计毕业论文
1.2波形介绍
·正弦波
正弦信号可用如下形式表示
f(t)=Asin(ωt+θ)(1)
其中,A为振幅,ω是角频率,θ为初相位。正弦函数为一周期信号如下图1所示:
图1 正弦波
·方波
方波函数是我们常用且所熟知的简单波形函数,做脉冲等,其表示形式如下:
(2)
方波波形如下:
图2 图形
当方波下半段幅值为0时,就为矩形波,一个原理,所以不再赘述矩形波。
(2)片内数据存储器有128B,地址空间为00H—7FH,片外没数据存储器。
(3)片内有4KB的程序存储器,地址空间为0000H—0FFFH,没有偏外存储器, 应接高电平。
(4)可以使用两个定时/计数器T0和T1,一个全双工的串行通信接口,5个中断源[1]。
·晶振电路工作原理及应用
单片机有18、19两引脚。分别为XTAL1和XTAL2。单片机采取内部振荡电路时,将这两引脚接石英晶体与微调电容。此设计采用的是12M晶振和两个30pF的电容。在芯片内部结构中,XTAL1和XTAL2引脚是一反相放大器的两个输入端,构成单片机内部振荡器。同样,根据需要的不同,也可采用外部时钟方式。本次设计采用内部时钟方式。如图所示。
It can control the type and the output frequency of the waveform when the microcontroller are equipped with the keyboard. Also when it coupled with the LED it can be displayed. It can be sure that it is digital signal that come from the microcontroller. So we should add the DAC0832 on the output side for D/A conversion. With the two levels of op-amp we can adjust waveform. Finally display on theoscilloscope.

基于51单片机的简易函数信号发生器资料

基于51单片机的简易函数信号发生器资料

创新性实验研究报告实验项目名称_简易函数信号发生器四、实验内容1、运用keil软件对程序进行编写,运行程序,并进行程序修改。

2、运用protues软件进行硬件电路仿真设计。

3、将程序下载到仿真单片机中,并观测输出波形。

4、对程序进行修改,再次运行仿真软件,直到输出理想的波形。

5、仿照仿真软件进行硬件电路的焊接。

6、将程序下载到单片机,并用示波器测试输出波形。

7、对程序进行修改,直到输出满意的波形为止。

3、实验步骤1、首先打开keil软件.2、运用keil软件对程序进行编写,程序见附件。

3、打开protues软件.4、运用protues软件对硬件电路进行设计。

9C51单片机是该信号发生器的核心,具有2个定时器,32个并行I/O口,1个串行I/O口,5个中断源。

由于本设计功能简单,数据处理容易,数据存储空间也足够,因为我们采用了片选法选择芯片,进行芯片的选择和地址的译码。

在单片机最小最小系统中,单片机从P1口接收来自键盘的信号,并通过P0口输出控制信号,通过DA转换芯片最终由示波器显示输出波形。

单片机引脚分配如下:�XTAL1,XTAL2:外接晶振,产生时钟信号。

�RST:复位电路;�P2口:8位数字信号输出输出,外接DAC0832;�P3.6口和P3.7口:DAC0832的时钟信号;单片机模块单片机输出的是数字信号,因为要得到模拟信号的波形就必须对其进行数模转换。

我们采用了DAC0832数模转换器,该芯片具由8位输入锁存器、8位DAC寄存器、8位D/A转换器及转换控制电路四部分构成。

由于其输出为电流输出,因为外加运算放大器LM324使之转换为电压输出。

最后通过示波器显示输出的波形。

数模转换模块运放模块整体硬件电路图五、实验结果与分析1、实验现象、数据记录仿真波形2、对实验现象、数据及观察结果的分析与讨论:经过观察调试,再观察,再调试,最终输出的波形较为理想。

此次试验经过一系列的调试,最终输出的波形为正弦波、方波、三角波。

毕业设计--基于AT89S51单片机的数字信号发生器

毕业设计--基于AT89S51单片机的数字信号发生器

基于AT89S51单片机的数字信号发生器【摘要】智能仪器的出现,极大地扩充了传统仪器的应用范围。

智能仪器凭借其体积小、功能强、功耗低等优势,迅速地在家用电器、科研单位和工业企业中得到了广泛的应用。

本系统是基于AT89S51单片机设计的数字式波形发生器。

采用AT89S51作为系统的控制核心,外围电路采用数字/模拟转换电路(DAC0832),运放电路(MC1458),按键,ISP接口等。

通过按键控制切换产生正弦波,锯齿波,三角波,方波,各类型信号的频率统一为100HZ,而幅值在-5V~+5V范围内可调。

本设计电路原理简单,性能较好,具有一定的实用性和参考价值。

【关键词】单片机 ,波形发生器,D/A电路DIGITAL SIGNAL GENERATOR DESIGN BASED ON AT89S51【ABSTRACT】The emergence of intelligent machines, which greatly expanded the scope of application of traditional instruments. Intelligent instrument, with its small size, powerful, low-power advantages of home appliances quickly, research institutes and industrial enterprises has been widely used.The system is a digital waveform generator based on single chip computer. AT89S51 is used as a control core. The system is composed by digital/analog conversion (DAC0832),imply circuit (MC1458),button ISP inferface and LED lights. It can generate square triangle and sine wave,with LED display .The frequency of various types of signal unity of 100HZ, but the amplitude in the-5V ~ +5 V range adjustable. The circuit design is simple, better performance, has some practical and reference value.【KEY WORDS】the single chip computer , the signal generator , D/A conversion目录绪论 (9)1. 波形发生器现状 (9)2. 单片机在波形发生器中的运用 (9)第一章系统设计 (10)1. 系统要求 (11)2. 系统方案选择与论证 (11)3. 系统设计原理与思路 (11)第二章硬件电路的设计 (12)1. AT89S51的介绍 (12)2. 资源分配 (15)3. 最小单片机系统的设计 (15)4. 各模块电路的设计 (17)5. ISP接口 (23)第三章软件设计 (24)1. 主程序的设计 (25)2. 锯齿波程序的设计 (25)3. 三角波程序的设计 (26)4. 正弦波程序的设计 (27)5. 方波程序的设计 (28)第四章测试仿真 (29)1. 软件仿真 (29)2. 仿真结论分析 (30)3. 硬件测试结论分析 (31)绪论1.波形发生器现状波形发生器作为一种常用的应用电子仪器设备,传统的波形发生器可以完全用硬件电路搭建,如应用555振荡电路可以产生正弦波,三角波,方波等波形,传统的波形发生器多采用这种方式设计,这种方式不应用单片机,但是这种方式存在波形质量差,控制难,可调范围小,电路复杂和体积大等缺点,在科学研究和生产实践中,如工业过程控制,生物医学,地震模拟震动等领域往往需要低频信号源,而由硬件搭建的波形发生器效果往往达不到好的效果,而且低频信号源所需要的RC很大,大电阻,大电容在制作上有困难,参数的精度也难以保证,而且体积大,漏电,体积大是该类波形发生器的显著缺点。

基于STM32单片机的信号发生器设计

基于STM32单片机的信号发生器设计

引言信号发生器又称为信号源,其工作原理是利用频率合成技术提供各种频率、波形和输出电平电信号,常用作测试电子设备的仪器,广泛应用于通信、雷达、测控领域,电子以及现代化仪器仪表等领域,在电子参数的测量过程当中,信号发生器是必不可少的仪器。

目前大多数的波形信号发生器价格都较高,体积大,二次开发复杂,使用进口元器件较多。

单片机,由CPU、定时器和多接口等器件组成的自动化单片微型计算机。

其作为一种微型控制器,主要有体积小、低功耗、控制功能强,功能齐全和使用方便等优点。

本文设计的基于单片机的信号发生器,用户可通过触屏、指令分别设置中心频率及输出功率,控制连续波、脉冲信号的输出,操作简单,价格低。

1 方案设计1.1 系统功能设计并实现一个基于STM32F103的信号发生器:用户可通过触摸屏、指令分别控制;输出频率:550M~4.4G;输出功率:6dBm~-77dBm;输出波形:连续波、脉冲;输出频率精度:1k;输出功率最小分辨率:0.5dBm。

1.2 系统组成系统硬件共分为触屏/指令控制模块、波形产生模块、主控模块、信号衰减模块、电源模块五部分,如图1所示。

(1)触屏/指令控制模块:包括触摸屏(北京迪文DMG 12700T050_06WTC)、USB转TTL串口模块。

通过触摸屏/串口向主控模块发送指令,控制输出信号的中心频率、功率。

(2)波形产生模块:宽带锁相环频率源,主芯片ADF4351。

产生信号并放大。

(3)主控模块:单片机STM32F103ZET6。

对触摸/指令控制模块发送的控制指令进行解析,生成相应设置指令发送至波形产生模块、信号衰减模块,产生控制电压至继电器控制模块、波形产生模块。

(4)信号衰减模块:包括继电器控制模块、两态衰减器、程控衰减器、旋钮可调衰减器。

受主控模块控制,将信号衰减至相应大小。

(5)电源模块主要功能:提供各模块工作所需要的电源,15V、12V、5V、±5V。

系统软件共分为触屏/指令控制软件、主控软件两部分,如图2所示。

基于单片机的函数信号发生器毕业设计完整版

基于单片机的函数信号发生器毕业设计完整版

基于单片机的函数信号发生器毕业设计完整版本毕业设计旨在设计一个基于单片机的函数信号发生器,以满足工程实践需求。

设计的信号发生器将具有以下特点:能够输出多种波形、具备可调频率和幅度的功能、具备稳定性和高精度等。

首先,信号发生器的硬件设计包括信号源、滤波电路、放大电路和输出电路。

信号源负责产生基本的信号波形,可以通过设置单片机的IO口电平高低来控制信号的波形。

滤波电路和放大电路主要负责对信号进行滤波和放大处理,以确保输出的波形质量和幅度稳定性。

输出电路则是将放大后的信号输出到外部设备上。

其次,信号发生器的软件设计主要是通过编程控制单片机的IO口来实现波形的生成和调节。

编程方面,可以使用C语言或者汇编语言来编写程序,实现波形的输出、频率和幅度的调节等功能。

在程序的运行过程中,需要通过控制IO口电平的高低来控制信号的形状。

同时,可以使用按键或旋钮等外部输入设备来实现对频率和幅度的调节,以满足用户的实际需求。

最后,在设计的过程中需要注意信号发生器的稳定性和精度。

稳定性主要包括信号的频率稳定性和幅度稳定性。

频率稳定性可以通过使用高精度的时钟源和精确的频率分频电路来实现。

幅度稳定性可以通过使用高精度的放大电路和自动增益控制电路来实现。

精度方面,则可以通过使用高精度的模拟数字转换芯片和时钟源来实现。

总的来说,基于单片机的函数信号发生器在工程实践中具有重要意义。

本设计旨在结合硬件和软件技术,实现一个功能完善、稳定性好、精度高的信号发生器。

通过合理的设计和优化,该信号发生器能够满足工程实践的需求,为相关领域的研究提供信号源支持。

基于单片机DA转换设计函数信号发生器

基于单片机DA转换设计函数信号发生器

电路综合实习报告课程题目:基于单片机D/A转换设计函数信号发生器摘要:以51单片机为核心设计函数信号发生器,采用程序设计方法产生正弦波,方波,三角波,方波,锯齿波,波形的频率在一定频率范围内可任意改变。

通过键盘来控制四种波形的类型选择与频率变化,并通过液晶屏1602显示其各自的类型及数值。

主要包括信号发生部分、D/A转换部分以及液晶显示部分。

关键词:D/A转换,液晶显示主要内容:1.实习原理2.实习内容1)系统设计●设计要求●方案设计(各模块设计)●软件设计流程2)通过示波器对波形种类及频率进行测试●测试说明●测试过程●测试结果3.实习的心得体会4.附录:源程序1.实习原理:●系统总体框图●主控芯片AT89S52●DAC0832的内部结构:D/A转换原理图DAC0832是双列直插式8位D/A转换器。

能完成数字量输入到模拟量(电流) 输出的转换。

其主要参数如下:分辨率为8位,转换时间为1μs,满量程误差为±1LSB,参考电压为-10V~+10V,供电电源为+5V~+15V,逻辑电平输入与TTL兼容。

DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号 /XFER。

●液晶屏的显示●矩阵键盘2.实习内容:1)系统设计利用AT89S52单片机采用程序设计方法产生锯齿波、正弦波、方波、三角波四种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制四种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。

●设计要求1)基于单片机的D/A转换用软件编程产生四种波形,分别为:锯齿波,正弦波,方波,三角波;2)通过键盘选择四种波形类型;3)波形频率可调;●方案设计论证显示方案论证:方案一:采用LED数码管。

LED数码管由8个发光二极管组成,每只数码管轮流显示各自的字符。

基于单片机的信号发生器设计

基于单片机的信号发生器设计

基于单片机的信号发生器设计一、本文概述随着现代电子技术的飞速发展,单片机因其高集成度、低成本和易于编程等特点,在信号处理和控制领域得到了广泛应用。

本文旨在探讨基于单片机的信号发生器设计,该设计在电子工程、自动化控制、信号处理等领域具有重要的应用价值。

本文将首先介绍单片机的基本概念、特点及其在信号发生器设计中的应用优势。

随后,将详细阐述信号发生器的设计原理、系统架构以及关键模块的设计方法,包括信号生成模块、放大模块、滤波模块等。

本文还将探讨单片机编程技术在信号发生器中的应用,包括程序设计、调试与优化等方面。

通过实验验证所设计信号发生器的性能,并对其在实际应用中的可行性进行评估。

本文的研究成果将为相关领域的研究人员和技术人员提供一定的理论指导和实践参考。

二、单片机概述单片机(Microcontroller Unit,MCU)是一种集成电路芯片,是将中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入输出(IO)端口、定时计数器以及中断系统等主要计算机功能部件集成在一块芯片上的微型计算机。

单片机以其体积小、功能强、性价比高、可靠性高、控制灵活、易于扩展等优点,被广泛应用于各种控制系统和智能化产品中。

单片机通常按照数据总线宽度、内部程序存储器容量、IO端口数量等参数进行分类。

其内部逻辑电路主要包括CPU、存储器、IO接口电路、定时计数器、中断控制逻辑等模块。

CPU是单片机的核心,负责执行指令、处理数据和进行逻辑运算存储器用于存储程序和数据IO接口电路负责单片机与外部设备的连接和通信定时计数器用于实现定时和计数功能中断控制逻辑则用于响应和处理外部中断事件。

在信号发生器设计中,单片机作为核心控制单元,负责产生和控制各种信号波形,如正弦波、方波、三角波等。

通过编程控制单片机的IO端口,可以产生不同频率、不同幅度的信号,从而实现信号发生器的功能。

同时,单片机还可以通过与其他电路模块的配合,实现信号调理、功率放大、显示输出等功能,使信号发生器具有更高的性能和更广泛的应用范围。

基于MSP430单片机的信号发生器设计

基于MSP430单片机的信号发生器设计

基于MSP430单片机的信号发生器设计信号发生器是一种用于产生各种波形信号的仪器,常用于电子实验、通信测试等领域。

本文将基于MSP430单片机设计一个简单的信号发生器,并介绍其原理、硬件电路和软件设计过程。

一、设计原理MSP430是德州仪器(TI)推出的一款低功耗微控制器,具有丰富的外设和易用的开发环境,适合用于嵌入式系统设计。

通过MSP430的数字模拟转换器(DAC)和PWM输出功能,我们可以实现一个基本的信号发生器。

本设计基于MSP430G2553单片机,通过PWM输出产生不同频率的方波,并通过DAC输出控制方波的幅度,从而生成正弦、三角和方波等不同波形的信号。

二、硬件电路设计硬件电路主要包括MSP430G2553单片机、DAC芯片、PWM输出电路和运放放大电路。

1.MSP430G2553单片机MSP430G2553单片机具有16位的定时器,可产生必要的时序信号,以及8位的数字模拟转换器(DAC),可用于控制信号幅度。

2.DAC芯片DAC芯片用于将MSP430的数字信号转换为模拟信号,并控制信号的幅度。

常用的DAC芯片有MAX523和TLV5620等。

3.PWM输出电路PWM输出电路用于产生不同频率和占空比的方波信号。

我们可以利用MSP430的定时器功能或使用外部PWM芯片,如L293D或ULN2803A。

4.运放放大电路运放放大电路用于放大DAC输出的信号,以得到更高的输出幅度。

我们可以选择常见的运放芯片,如LM324或OPA2134三、软件设计过程软件设计主要包括定时器配置、PWM输出配置和DAC控制等模块。

1.定时器配置首先,我们需要配置MSP430的定时器,以产生所需的频率。

通过设定定时器的计数周期和分频系数,可以设置定时器的频率。

2.PWM输出配置接下来,我们需要配置PWM输出。

通过设定PWM期间和占空比,可以产生不同频率和占空比的方波信号。

3.DAC控制最后,我们需要利用MSP430的DAC输出控制信号的幅度。

基于单片机的信号发生器设计

基于单片机的信号发生器设计

基于单片机的信号发生器设计摘要在介绍MAX038 芯片特性的基础上,论述了采用MAX038 芯片设计数字函数信号发生器的原理以及整机的结构设计。

对其振荡频率控制、信号输出幅度控制以及频率和幅度数显的实现作了较详细的论述。

该函数信号发生器可输出三角波,方波和正弦波。

本文重点论述了整机通过D/A转换电路控制MAX038的实现过程,D/A转换电路采用了8位4通道的MAX505来实现。

在幅度的控制上采用数字电位器AD5171,该芯片是I²C总线方式控制,文中给出了I²C总线的读写控制程序。

系统支持按键操作和上位机操作两种模式。

关键词:函数信号;D/A ;单片机控制Design of Signal Generator System Based on SCMZisu zhou(College of Zhangjiajie, Jishou University, Jishou,Hunan 416000)AbstractBased on the introduction of MAX038 , we discussed the principle and the whole frame of the digital function signal generator. We described the control of the oscillatory frequent , amplitude and the digital display in detail. Thegenerator can output three kinds of waves : sine wave , square wave , triangle wave.This text has exposition the mirco-computer controls the D/A electric circuit of conversion realize the process. In D/A changing electric circuit adopt the 8 bit 4 channel come to realize. Porentiometer AD5171 is adopted in the control of length. This chip is that I²C bus control way. This system supports key-control or computer-control modes.Key words : function signal ;D/A ;single - chip microprocessor control ;目录绪论 (1)第一章系统概述和设计方案 (2)1.1论文的内容和组织 (2)1.2方案选择 (2)1.3信号发生芯片选择 (2)1.4方案框图设计及基本控制原理 (3)1.5.1 频段控制调整参数计算 (4)1.5.2频率控制细调参数计算 (5)1.5.3占空比的数字控制参数计算 (6)1.5.4幅度的数控参数实现 (6)第二章系统硬件设计 (8)2.1 系统总体设计 (8)2.2单片机介绍及外围电路 (8)2.3 D/A转换电路(频率,占空比控制电路) (10)2.3.1MAX505的引脚描述 (10)2.3.2MAX505的内部结构及原理 (11)2.3.3 D/A转换电路的电路说明 (13)2.4频段选择电路 (14)2.5 幅度控制电路 (15)2.6 键盘电路 (17)2.7电源电路 (18)第三章系统软件流程图设计 (20)3.1 主程序流程图 (20)3.2频段处理子程序 (21)3.3频率处理子程序 (21)3.4幅度处理子程序 (22)系统分析与总结 (23)参考文献 (24)附录 (25)绪论基于单片机的信号发生器设计,该课题的设计目的是充分运用大学期间所学的专业知识,考察现在正在使用的信号发生器的基本功能,完成一个基本的实际系统的设计全过程。

基于单片机信号发生器的设计毕业设计答辩

基于单片机信号发生器的设计毕业设计答辩

基于单片机信号发生器的设计毕业设计答辩毕业设计答辩稿:基于单片机信号发生器的设计尊敬的评委、老师们,大家好!我是XXX,今天我非常荣幸能够在这里向大家介绍我的毕业设计课题,基于单片机信号发生器的设计,并希望能够得到大家的批评和指正。

一、设计背景和目的在现代电子技术领域,信号发生器是一种非常常见的电子测试仪器。

它广泛应用于电子产品的测试和信号调制等领域。

传统的信号发生器一般由复杂的电路和大量的元器件构成,成本较高且结构复杂。

此外,传统的信号发生器功能较单一,无法根据用户需求进行灵活的适配。

因此,本课题旨在设计一种基于单片机的信号发生器,既能够满足信号发生器的基本功能,同时又能够降低成本和简化结构。

此外,本设计还力求增加其灵活性和可编程性,以便用户可以根据需求自由调整和生成各种类型的信号。

二、设计原理和流程本设计的核心部分是单片机,通过单片机的GPIO(通用输入输出)引脚和定时器等功能实现信号的生成和输出。

具体设计流程如下:1.选择合适的单片机:根据设计需求,选择一款具备足够的GPIO引脚和定时器功能的单片机。

2.编写程序:在单片机上编写程序,实现信号类型的选择和生成。

可以通过键盘或者触摸屏等外部设备对信号类型进行选择,然后通过程序控制单片机GPIO引脚输出相应的信号。

可以根据需要设置不同的参数,如频率、幅度和相位等。

3.信号输出:将单片机的GPIO输出与信号放大器连接,以便放大信号幅度并进行输出。

通过设计合适的电路,能够实现不同类型信号的输出,如正弦波、方波、三角波等。

4.信号显示:为了更直观地观察信号的波形和特征,可以在设计中加入液晶显示器等外部设备,实现信号的实时显示。

三、设计特色和创新点本设计相比传统的信号发生器,具有以下几个特色和创新点:1.成本低廉:传统的信号发生器由于电路复杂,成本较高。

而本设计通过单片机的灵活性和GPIO引脚的输出功能,可以实现类似的信号发生器功能,成本较低。

2.结构简单:本设计的结构相对简单,仅需单片机、信号放大器和触摸屏等外设,不需要太多的元器件和复杂的电路。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于单片机的全数字信号发生器设计设备技术网时间:2010-4-13来源:电子技术网作者:工业设备常用频率量信号作为采集量,如使用光电编码器采信数据,当调试使用频率信号的设备时,由于机械等部份还未动作,无法采集信号,因此需要使用信号发生器。

对于在工业现场使用的设备,其要求与实验室设备并不相同,如果直接使用实验室中所用的标准信号发生器,往往会觉得其体积过大、价格太高、使用较麻烦等。

工业现场使用的设备,其绝对精度要求并不高,关键要稳定可靠,便于携带和使用。

一、性能分析这个项目的目标是替代工业现场的频率采样装置,典型的如光电编码器。

通过调查,确认最终要制作的信号发生器的性能指标如下:频率范围:0~1Hz,以0.1Hz步进,1~500Hz,以1Hz步进;波形:矩形波或方波均可;精度:频率值的相对误差不超过±1%;功能:(1)信号发生,信号发生器以给定的频率输出信号;(2)脉冲个数计数,仪器可对本身已发出的脉冲个数进行计数;(3)设定值可存储,每次上电自动调出前次设定值。

二、初步设计在确定了性能指标后,可以进行初步设计,考虑其显示、操作等方面的要求。

1、显示部分待设定的频率值最高为500HZ,只要3位数码管即可;要求对输出脉冲计数,虽未给出要求的计数值,但3位数码管最大仅能计到999,似乎太少了一些,再考虑到该仪器以后的扩展,如希望以后能加一些高端点频(600、700、800、900、1000、2000、5000、10K等),需要更多的数码管显示,因此最终选择5位数码管显示。

2、键盘部分键盘有很多方案可供选择,如工业品中常用的三键或四键方案,当然也可以用多键(如市售有一些标准的12或16键键盘)等,经过反复比较,考虑到易制作、易使用等等诸多因素,最终将键的个数确定为5个。

键盘操作方案是仪器易用性的很重要的一个方面,这并非仪器的关键部分,但键盘、显示程序的工作量往往占据整个设计的很大的一部份。

对键盘设计,重要的是要确定各按键功能,描述出各键的具体操作。

本仪器的键设计如下:1.工作状态描述由转换键切换两种状态(1)显示设定的频率值(2)显示脉冲个数值2.键定义切换键增加键减少键开启/停止键清除键3.键操作描述切换键:切换两种工作状态增加和减少键:在显示设定频率值时按,按增加键、减少键设定频率,范围为0.1~500HZ,每按一次增加键,设定值加1,如果按着键不放,稍后进入连续状态,设定值快速增加;按减少键,设定值减1,如果按着键不放,稍后进入连续状态,设定值快速减少。

当频率设定值小于1以后,每按一次增加或减少键,设定值增加或减少0.1。

开启/停止键:开始/停止信号发生清除键:用于清除当前脉冲个数的计数值。

4.工作过程开机后,信号发生器自动运行,有信号输出,按下“开启/停止”键,则信号发生器停止工作,没有信号输出,再次按下“开启/停止”键,则信号发生器又开始工作,继续输出信号。

信号灯用于指示信号发生器工作还是停止,当有信号产生时,信号指示灯闪烁,信号发生器暂停工作时,信号指示灯灭。

三、硬件电路的设计在确定了性能指标、操作方案后,可以开始设计,首先要确定信号产生的方式。

该信号发生器的绝对精度指标不高,但是其要求的最低频率低至0.1HZ,而最高分辨也要求达到0.1HZ,如果采用模拟技术难以达到,或需要付出较高代价才能做到。

考虑到仪器的最高输出频率仅为500HZ,而且只需要提供要方波或矩形波,所以采用单片机做成全数字信号发生器。

在有了这一设计思想之后,需要确定该方案是否可行,该方案准备采用单片机的定时器产生信号,由于定时器的定时时间只能是整数,因此,不可避免会在一些频率点上产生误差,为此,用Excel对计数值、真实频率值作了测算,部分表格如表1和表2所示,经过测算表明,当采用12M晶振时,绝对误差最大约0.12HZ(492Hz处),相对误差最大约0.024%(492Hz处),可以满足要求,因此决定采用这一方案。

当然,这仅是理论值,考虑到单片机定时中断的响应时间等因素,实际的误差肯定要比这个计算值大,但是要达到±1%的精度要求并不难,而其长期工作的稳定性取决于晶振的稳定度,并且晶振频率的变化引起的输出频率的变化也很微小,因此其长期工作稳定性也很好。

以下是部份测算的表格,完整的表格在本期光盘Excel文件中。

表1 较高频率算法理论频率 t(ms) 真实频率绝对误差相对误差10 100000 10 0.00E+00 0.00E+0011 90909 11.00001 1.00E-06 9.09E-0812 83333 12.00005 4.00E-06 3.33E-0713 76923 13.00001 1.00E-06 7.69E-0814 71429 13.99992 -6.00E-06 -4.29E-0715 66667 14.99993 -5.00E-06 -3.33E-0716 62500 16 0.00E+00 0.00E+0017 58824 16.99986 -8.00E-06 -4.71E-0718 55556 17.99986 -8.00E-06 -4.44E-0719 52632 18.99985 -8.00E-06 -4.21E-0720 50000 20 0.00E+00 0.00E+00表1 较低频率算法f(hz) t(ms) 次数频率值误差相对误差0.1 10000000 5000 0.1 0.00E+00 0.00E+000.2 5000000 2500 0.2 0.00E+00 0.00E+00 0.3 3333333 1667 0.29994 -2.00E-04 -6.67E-040.4 2500000 1250 0.4 0.00E+00 0.00E+000.5 2000000 1000 0.5 0.00E+00 0.00E+00 0.6 1666667 833 0.60024 4.00E-04 6.67E-04 0.7 1428571 714 0.70028 4.00E-04 5.72E-040.8 1250000 625 0.8 0.00E+00 0.00E+000.9 1111111 556 0.899281 -7.99E-04 -8.88E-04在确定了信号发生的方式以后,综合初步设计中提出的一些技术指标要求,进一步确定具体的实施方案。

根据以往的设计经验,显示部分由单片机的P0口与P2口直接驱动;数据存储则采用串行EEPROM;信号由单片机的一个I/O口输出,并经驱动后输出。

经过上述的设计后,可以确定这个仪器的框图如图1所示。

原理框图出来后,选择一款合适的机壳,然后综合考虑按键、数码管的安装方式,以便进行更详细的设计。

数码管和按键必须安装在印板上才能安装到面板上,数码管与单片机的连线较多,5位数码管,需要13根线,再加上按键的连线共有19根,如果将单片机放在另一块板上,必然要用大量导线与键盘显示板连接,而大量的连线是我们不愿意做的,这不仅使得安装困难,而且线易折断造成故障,因此干脆将单片机也装在同一块板上,只留下电源和输出电路放在另一块板上,这样,两块板间只需3根引线即可,大大降低了装配困难,也减少了故障隐患。

整个设计的原理图,如图2和图3所示。

其中图2是主板图,提供了包括数码管显示驱动、键盘等在内的大部份功能。

从图中可以看到,该电路主要由这样几部份组成:(1)数码管显示部份,由单片机及相关外围电路构成5位数码管显示电路;(2)按键部份,按设计共有5个按键;(3)EEPROM存储器,这里选择I2C接口的AT24C01A芯片;(4)一只LED指示灯;(5)输出管脚。

以上分别需要单片机片机的13、5、3、1、1个引脚,因此,单片机共要用到23只管脚。

引脚数量确定后,即可初步确定主芯片的型号,这里选用40引脚的AT89C51单片机。

如果编程中发现内部资源(如片内RAM、ROM、定时器等)不够,可以更换为89C52等其他单片机,比较灵活。

图3是电源、输出部分,从图中可以看出,仪器的输出接口采用两种方式,即集电极开路(OC门)方式和射极输出方式,其中OC门方式是很多以频率信号为输出的仪器的标准输出方式,如光电编码器、霍尔开关等。

基于单片机的全数字信号发生器设计设备技术网时间:2010-4-13全数字信号发生器的硬件部分就介绍到这里,下一期将介绍程序的编写。

图2本仪器的程序主要由键盘、显示程序、AT24C01A读写程序、信号产生程序等部分组成。

以下对部分功能作一些分析。

一、键盘程序本仪器需要调整的数值范围较大,因此,“增加”和“减少”键必须具有快速连加和快速连减的功能,否则调整速度太慢。

这种键盘可以用多种方法来实现,关键在于设计一个正确的程序结构,图1是一种实现方法的流程图。

图1流程图程序工作时,不断地扫描键盘,第一次扫描到有键按下后如常规键盘一样,进行键值处理,处理完毕,不等待键盘释放,直接退出键盘程序。

当又一次执行到键盘程序,如果检测到键还被按着,就不再直接去键值处理程序,而是将一个计数器加1,直接返回主程序,如此循环,直到计数到一个定值(如500,表示键盘程序已被执行了500次),如果键还被按着,说明用户有连加(或连减)要求,程序即将计数器减去一个数值(如30),然后进行键值处理。

这样,以后键盘程序每执行30次,就执行一次键值处进程序,实现了第一次启动时间较长,以后快速连续动作的要求。

如果检测到键已被释放,则清除所有标志,将计数器清零,准备下一次按键处理。

程序开始时定义了两个常量:Qdsj和Ljsj,如下所示const uint Qdsj=500; /*与首次启动连加(减)功能的时间有关*/const uint Ljsj=30; /*与连加(减)的速度有关*/这两个常量与第一次启动及连加、减的速度有关,具体数值应根据实际情况试验后确定。

下面是部分键处理程序,注意其中这两个变量的使用。

void Key()/*键处理*/{ ……if(!KeyValue){…无键按下,清除一切标志退出}if(KeyMark) /*第一次检测到按键吗?*/{ KeyCounter++; /*不是第一次(KeyMark已是1了)*/if(Qdsj==KeyCounter) /*连续按着已有Qdsj次了*/{ KeyCounter-=Ljsj; /*减去Ljsj次*/KeyProcess(KeyValue,1); /*键值处理*/}else{ return ; } /* 如果按着还没有到Qdsj*/}else /*第一次检测到有键按下*/{ mDelay(10); /*延时10毫秒*/…再次检测if(!KeyValue){…清除一切标志并返回}}二、小数点的处理要在LED数码管上显示小数点,可以有两种选择,一种方式是在显示0.1~0.9时用小数显示,而在显示1~500时不显示小数点,这种方式编程略麻烦一些;另一种是使用定点的方式显示小数点,即不论是在0.1~0.9Hz段,还是1~500Hz段,均在倒数第二位点亮小数点,这种显示方式比较简单,本机采用了第二种方式。

相关文档
最新文档