信号发生器实验说明书
- 格式:doc
- 大小:150.00 KB
- 文档页数:9
VC2002函数信号发生器使用说明书VC2002是胜利公司生的一种精密的测试仪器。
它可以连续的输出正弦波,三角波和方波等函数波形。
它的频率和幅度均可连续调节。
本仪器是工程师、电子实验室、生产线及教学需配备的理想设备。
1.主要特征a.采用单片微处理器CPU控制整机运行和显示,智能化程度高,便于操作和使用。
b.采用了大规模的单片集成精密函数发生器,使得整机性能优越,性能价格比高。
c.采用大规模集成电路设计,保证仪器高可靠性和高稳定性。
2.技术参数a.输出频率:频率:0.2Hz – 2MHz,按每档十倍频程覆盖率分类,共分7档,具体频率如下:1档0.2Hz – 2Hz2档2Hz – 20Hz3档20Hz – 200Hz4档200Hz – 2KHz5档2KHz – 20KHz6档20KHz – 200KHz7档200KHz – 2MHzb.输出信号阻抗:50Ωc.输出信号波形:正弦波、三角波、方波d.输出信号幅度:(1MΩ负载)正弦波:不衰减(1Vp-p – 18Vp-p)±10% 连续可调衰减20dB(0.1Vp-p –1.8Vp-p)±10% 连续可调衰减40dB(10mVp-p – 180mVp-p)±10% 连续可调方波:不衰减(1Vp-p –20Vp-p)±10% 连续可调衰减20dB(0.1Vp-p – 2Vp-p)±10% 连续可调衰减40dB(10mVp-p – 200mVp-p)±10% 连续可调三角波:不衰减(1Vp-p –16Vp-p)±10% 连续可调衰减20dB(0.1Vp-p – 1.6Vp-p)±10% 连续可调衰减40dB(10mVp-p – 160mVp-p)±10% 连续可调说明:对于50Ω负载,数值应为上述值的二分之一。
e.函数输出占空比调节20% - 80% ±5% 连续可调。
信号发生器工程案例使用说明书V1.0 - 2009.3文档版本 1.0.0文档日期2009年3月第1章概述1.1 案例概述信号发生器工程案例参照“2007年全国大学生电子设计竞赛”高职高专组“信号发生器(H题)”要求设计而成。
根据H题要求,需设计并制作一台信号发生器,使之能产生正弦波、方波和三角波信号,且输出可调。
本工程案例提供的软、硬件设计方案能够完全满足比赛题目中所提到的各项要求。
不仅可作为日常工程训练,还为以后类似比赛题目提供借鉴。
根据设计要求,本案例选用EDA比赛套件中:EDA-SOPC核心板、LCD1602、RS232&PS2及DDS_BOARD四个模块。
电源采用5V直流电源及±5V电源供电。
各模块连接如下图所示:图1.1 各模块连接示意图各模块功能如下:一、由EDA-SOPC核心板提供的FPAG及SDRAM为本系统的核心器件。
主要完成功能:1、采用DDS技术基于FPGA设计信号发生模块,产生要求的信号序列;2、利用SDRAM配合FPGA构成片上系统,建立NIOS控制系统,完成任务调度及人机交互控制。
核心板分别通过相关接口与其它三个功能模块相连。
二、RS232&PS2模块通过8-PIN双排线与核心板的PORT2CP接口相连。
将PS2接口的数字小键盘连接到该模块的PS/2接口上,实现按键输入功能。
三、LCD1602模块通过16-PIN双排线与核心板的PORT12-LCD接口相连。
将液晶LCD1602连接到该模块的液晶接口上,实现人机交互的显示功能。
四、DDS模块分别通过14-PIN双排线与核心板的PORT14-DA接口相连及通过16-PIN双排线与核心板的PORT16-IO接口相连。
该模块实现两路D/A,其中一路产生信号,另一路实现信号幅度的调整,模块的BNC 接头直接输出信号。
注:相关模块的详细功能,可参考该模块说明书。
1.2配件清单EDA-SOPC核心板 1块LCD1602模块 1块RS232&PS2模块 1块DDS_BOARD模块 1块LCD1602液晶 1块PS2接口的数字小键盘 1个5V电源 1个8针接口线 1根14针接口线 1根16针接口线 2根说明书及相关资料 1份快速上手3.1 电路连接按图1.1示意图,将各模块通过双排线连接好。
杭州联测自动化技术有限公司杭州联测自动化技术有限公司U-S4.1-LCCN1第1版信号发生器使用说明书前言●感谢您购买我公司产品。
●本手册是关于产品的功能、操作方法和故障处理方法等的说明书。
●在操作之前请仔细阅读本手册,正确使用产品。
●在您阅读完后,请妥善保管在便于随时取阅的地方,以便操作时参照。
注意●本手册内容随仪表的性能及功能提升而改变,恕不提前通知。
●本手册内容我们力求正确无误,如果您有任何疑问或发现任何错误,请与我们联系。
版本U-S4.1-LCCN1第一版2019年10月确认包装内容仪表提供以下标准附件,请确认附件是否齐全并完好无损。
序号物品名称数量备注1信号发生器1升级版2测试引线3一红一黑一黄3使用说明书14合格证157号电池46便携包1目录第一章概括 (1)1.1简介 (1)1.2主要功能 (1)1.3技术指标 (2)1.4规格 (3)第二章各部分名称及功能 (4)2.1接线端子 (5)2.2按键 (6)2.3液晶屏显示 (7)第三章信号输出 (8)3.1电压、有源电流输出 (8)3.24-20mA输出 (8)3.3热电偶输出 (9)3.4无源电流输出 (9)3.5电压、电流信号按显示量程输出或测量(免去量程换算) (10)第四章信号测量 (12)4.1电压、有源电流测量 (12)4.2无源电流测量 (13)4.3热电偶测量 (14)4.4调节阀门 (15)第五章可编程输出 (16)5.1分割输出功能(n/m) (16)5.2线性输出功能 (16)5.3自动步进功能 (18)第六章故障排除及仪表维护 (19)6.1故障排除 (19)6.2仪表维护 (20)第一章概括第一章概括1.1简介本信号发生器具有多种信号的测量和输出功能,包括电压、电流、热电偶信号,采用高清LCD液晶屏和功能分明的硅胶按键,显示清晰,操作简单,且具有待机时间长,精度高和可编程输出功能。
广泛应用于实验室、工业现场PLC与过程仪表、电动阀门等的调试。
通信行业信号发生器使用说明书1. 简介通信行业信号发生器是一种用于产生各种测试信号的仪器,可用于测试、调试和验证通信设备的性能和功能。
2. 规格参数- 频率范围:XX Hz 至 XX Hz- 输出功率:XX dBm- 调制方式:XX调制- 调制频率范围:XX Hz 至 XX Hz- 工作温度:XX℃至 XX℃- 输入电源:XX VAC3. 外观及结构通信行业信号发生器外观简洁美观,采用坚固的金属外壳,具有抗干扰能力和耐用性。
仪器正面设有液晶显示屏,操作按键和旋钮,便于用户进行操作和参数调节。
4. 使用方法4.1 电源连接将通信行业信号发生器的电源线连接到交流电源插座,并确保电源电压与规格参数相符。
4.2 信号参数设置通过操作按键和旋钮,设置所需的信号频率、输出功率、调制方式和调制频率等参数。
4.3 信号输出将信号发生器的输出端与待测试设备的输入端连接,确保连接稳固可靠。
4.4 信号调试与验证通过调整信号发生器的参数,观察并验证待测试设备的性能和功能。
可使用示波器、频谱仪等测试仪器进行进一步的信号分析。
5. 注意事项5.1 请在通风良好的环境中使用信号发生器,避免长时间暴露在高温或潮湿的环境中。
5.2 在使用信号发生器前,请阅读并理解本使用说明书,并按照说明进行正确的操作。
5.3 请避免将信号发生器连接到不匹配的设备,避免因此造成设备损坏或人身伤害。
5.4 请勿在使用过程中随意拆卸或改动信号发生器的内部零部件,如需维修请联系专业技术人员。
5.5 当信号发生器长时间不使用时,请及时断开电源并妥善保存。
6. 故障排除当信号发生器无法正常工作时,可按以下方法进行故障排除:- 检查电源连接是否正常。
- 检查输入信号线缆是否与待测试设备连接良好。
- 尝试调整信号发生器的参数,查看是否能够恢复正常工作。
如果以上故障排除方法无法解决问题,请联系供应商或相关技术人员进行进一步的维修和支持。
7. 保养与维护7.1 定期清洁信号发生器的外壳,并使用柔软的干布擦拭显示屏和操作按键。
EE1641C~EE1643C型函数信号发生器/计数器使用说明书共 11 张2004年 10 月1 概述1.1 定义及用途本仪器是一种精密的测试仪器,因其具有连续信号、扫频信号、函数信号、脉冲信号等多种输出信号,并具有多种调制方式以及外部测频功能,故定名为EE1641C型函数信号发生器/计数器、EE1642C(EE1642C1)型函数信号发生器/计数器、EE1643C型函数信号发生器/计数器。
本仪器是电子工程师、电子实验室、生产线及教学、科研需配备的理想设备。
1.2 主要特征1.2.1 采用大规模单片集成精密函数发生器电路,使得该机具有很高的可靠性及优良性能/价格比。
1.2.2 采用单片微机电路进行整周期频率测量和智能化管理,对于输出信号的频率幅度用户可以直观、准确的了解到(特别是低频时亦是如此)。
因此极大的方便了用户。
1.2.3 该机采用了精密电流源电路,使输出信号在整个频带内均具有相当高的精度,同时多种电流源的变换使用,使仪器不仅具有正弦波、三角波、方波等基本波形,更具有锯齿波、脉冲波等多种非对称波形的输出,同时对各种波形均可以实现扫描、FSK调制和调频功能,正弦波可以实现调幅功能。
此外,本机还具有单次脉冲输出。
1.2.4 整机采用中大规模集成电路设计,优选设计电路,元件降额使用, 以保证仪器高可靠性,平均无故障工作时间高达数千小时以上。
1.2.5 机箱造型美观大方,电子控制按纽操作起来更舒适,更方便。
2 技术参数2.1 函数信号发生器技术参数2.1.1 输出频率a) EE1641C:0.2Hz~3MHz 按十进制分类共分七档b) EE1642C:0.2Hz~10MHz 按十进制分类共分八档c) EE1642C1:0.2Hz~15MHz 按十进制分类共分八档d) EE1643C:0.2Hz~20MHz 按十进制分类共分八档每档均以频率微调电位器实行频率调节。
2.1.2 输出信号阻抗a) 函数输出:50Ωb) TTL同步输出:600Ω2.1.3 输出信号波形a) 函数输出(对称或非对称输出):正弦波、三角波、方波b) 同步输出:脉冲波2.1.4 输出信号幅度a) 函数输出:≥20Vp–p±10%(空载);(测试条件:fo≤15MHz,0dB衰减)≥14Vp–p±10%(空载);(测试条件:15MHz≤fo≤20MHz,0dB衰减)b) 同步输出:TTL电平:“0”电平:≤0.8V,“1”电平:≥1.8V(负载电阻≥600Ω)CMOS电平:“0”电平:≤4.5V,“1”电平:5V~13.5V可调(fo≤2MHz)c) 单次脉冲:“0”电平:≤0.5V,“1”电平:≥3.5V2.1.5 函数输出信号直流电平(offset)调节范围:关或(–10V~+10V)±10%(空载)[“关”位置时输出信号所携带的直流电平为:<0V±0.1V,负载电阻为:50Ω时,调节范围为(–5V~+5V)±10%]2.1.6 函数输出信号衰减:0dB、20dB、40dB和60dB(0dB衰减即为不衰减)2.1.7 输出信号类型:单频信号、扫频信号、FSK调制信号、调频信号和调幅信号2.1.8 函数输出占空比(SYM)调节范围:关或20%~80%(“关”位置时输出波形为对称波形,误差:≤2%)2.1.9 内扫描:a) 扫描方式:线性/对数扫描方式b) 扫描时间:10ms~5s ±10%c) 扫描宽度:≥1频程2.1.10内部FSK调制:a) 调制频率:1kHzb) 频偏范围:0~≥5%2.1.11内调频:a) 调制频率:1kHzb) 频偏范围:0~≥5%2.1.12内调幅:a) 调制度:0~100%±5%b) 调制频率:1kHzc) 载波频率:1、10、10M档无调幅2.1.13外调频:a) 输入信号幅度:0V~2Vb) 输入信号周期:10ms~5sc) 输入阻抗:约100kΩd) 频偏范围:0~≥5%2.1.14外调幅:a) 输入信号幅度:0V~2Vb) 输入信号周期:10ms~5sc) 输入阻抗:约100kΩd) 调制度:0~100%e) 载波频率:1、10、10M档无调幅2.1.15 输出信号特征:a) 正弦波失真度:<0.8%(测试条件:fo=1kHz、Uo=10Vp–p)b) 三角波线性度:>90%(输出幅度的10%~90%区域)c) 脉冲波上升/下降沿(输出幅度的10%~90%)时间:≤20ns(测试条件:fo=2MHz、Uo=10Vp–p)脉冲波、上升、下降沿过冲:≤5%V0(50Ω负载)2.1.16 输出错接检测电压:≥±15V最大反向输入电压为±30V(测试条件:直流电平旋钮旋至“关”)2.1.17 输出信号频率稳定度:±0.1%/min(测试条件:频档选择在1k档,整机预热15min)2.1.18 幅度显示a) 显示位数:三位(小数点自动定位)b) 显示单位:Vp–p或mVp–p 、Vrms或mVrmsc) 显示误差:V0±20%±1个字(V0输出信号的峰峰幅度值,负载电阻为50Ω)(负载电阻大于等于1MΩ时V0读数需乘2 )d) 分辩率(50Ω负载): 0.1Vp–p (衰减0dB)10mVp–p (衰减20dB)2.1.19 频率显示:a) 显示范围: 0.200Hz~20000kHzb) 显示有效位数:五位(10.000Hz~20000kHz)四位(0.200Hz~9.999Hz)2.1.20 单次脉冲输出:“0”电平:≤0.5V;“1”电平:≥3.5V2.2 频率计数器技术参数2.2.1 频率测量范围:0.2Hz~100000kHz2.2.2 输入电压范围(衰减器为0dB):a) 50mV–2V (10Hz~20000kHz)b) 100mV~2V (0.2Hz~10Hz、20000kHz~100000kHz)2.2.3 输入阻抗:500kΩ/30pF2.2.4 波形适应性:正弦波、方波2.2.5 滤波器截止频率:大约100kHz(带内衰减,满足最小输入电压要求)2.2.6 测量时间:0.1s (fi≥10Hz)单个被测信号周期(fi<10Hz)2.2.7 显示方式显示范围:0.2Hz~100000kHz显示位数:八位2.2.8 测量误差:时基误差±触发误差(触发误差:单周期测量时被测信号的信噪比优于40dB,则触发误差小于等于0.3%)2.2.9 时基2.2.9.1 标称频率:10MHz2.2.9.2 频率稳定度:±5×10–5/d2.3 点频输出技术参数(选件)2.3.1 输出波形:正弦波2.3.2 输出频率:50Hz2.4 功率输出技术参数(选件)2.4.1 输出功率:≥10W(4Ω负载)2.4.2 输出波形:正弦波2.4.3 输出频率范围:20Hz~40kHz2.5 电源适应性及整机功耗2.5.1 电压:220V±10%2.5.2 频率:50Hz±5%2.5.3 功耗:≤30V A2.6 外形尺寸及重量2.6.1 外形尺寸:l×b×h,mm:250×235×902.6.2 质量:约3.5kg2.7 工作环境组别:II组(0°C~+40°C)3 工作原理3.1 如图1所示,整机电路由一片单片机进行管理,主要工作为:a) 控制函数发生器产生的频率;b) 控制输出信号的波形;c) 测量输出的频率或测量外部输入的频率并显示;d) 测量输出信号的幅度并显示;3.2 函数信号由专用的集成电路产生,该电路集成度大,线路简单精度高并易于与微机接口,使得整机指标得到可靠保证。
SOE测试信号发生器HS-256应用介绍北京华箭英泰电子科技有限公司一、HS-256测试信号发生器技术条件1-1、电气参数输出通道数: 256接点特性:无极性光电隔离(100V50mA)触发方式:顺序触发、组群触发、脉冲触发触发间隔:0.1~5ms (以0.1mS为单位任意可调).精度:≤3us工作电源:AC220V工作温度:-10~55℃产品寿命:10万小时输出模拟接点特性:开路电压:≥300V(D C)电流容量:≥100mA隔离特性:≥1000V(任意通道之间,通道和输入电源之间)设备外型:便携手提箱 500*400*200mm重量:8.0KG模拟触发接点特性项目单位规范测试条件注释最小典型最大开路耐压V 80 100 Is=0.5uA 图1-3 导通压降V 2.4 2.6 If=100mA 图1-4 电流容量mA 50 Vs=2.4V 图1-4 隔离特性MΩ10 Vce=300V 图1-5 注:测试装置断电时所有接点为开路状态1-2、系统连接方式见附图二1-3、外形及安装尺寸见附图三1-4、设备成套性1-4-1、SOE测试信号发生器主机1-4-2、DB37转接专用测试电缆线1-4-3、AC电源线1-4-4、使用说明书二、使用说明2-1、系统连接2-1-1、HS-256的面板布局如下图所示。
T1H-T8L为DB37连接器插座。
其中每个插座含16个输出通道。
触发输出顺序按T1H-T8L,而每个输出插座内是按1-16(指示灯为0-F)顺序触发的。
这样,一共有256个输出通道,任意相邻通道之间的触发间隔时间是严格一致的。
2-1-2、输出插座(DB37)上的接线排列如下线号1,20 2,21 3,22 4,23 5,24 6,25 7,26 8,27通道Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8线号9,28 10,29 11,30 12,31 13,32 14,33 15,34 16,35通道Q9 Q10 Q11 Q12 Q13 Q14 Q15 Q162-1-3、根据不同SOE系统类型,HS-256的输出接线方式有两种。
EE1420系列DDS合成函数信号发生器使用说明书目录一、概述二、主要特征三、技术参数四、工作原理五、面板功能说明六、使用说明6.1数值输入6.2频率、相移参数设置6.3幅度、偏置参数设置6.4波形选择6.5 AM、FM调制设置6.6 FSK调制设置6.7 BPSK调制设置6.8 SWP设置6.9 Burst(猝发)设置6.10同步功能设置6.11图形辅助设置6.12测频功能设置6.13音频功能设置6.14扫频仪功能设置6.15存储、调用功能设置6.16 GPIB、RS232/485、USB使用七、远控编程指南八、使用实例九、维修与注意事项十、仪器成套设备及附件一、概述本仪器是一种精密的测试仪器,采用DDS(直接数字合成)技术,输出信号的频率稳定度等同于内部晶体振荡器,使测试更加准确,内部输出正弦波,方波,脉冲波,三角波,锯齿波,TTL/CMOS,50Hz,AM波及FM波、FSK、BPSK、BURST、扫频等多种波形,内嵌式1.5G计数器,可以实现低频数字扫频仪功能。
可满足各种测试要求,是工程师、电子实验室、生产线及教学、科研必备的理想设备。
使用了多种数字化技术、全中文操作、采用ARM处理器具有极佳的性价比。
二、主要特征1.采用DDS直接数字合成技术,频率稳定度±2.5ppm(秒稳、常温);2.4.3寸、65536色高亮度液晶显示屏,全中文显示,极佳的人性化人机交互界面;3.优于0.15%的正弦波失真;4.具有音频信号输出功能(选用);5.超低频扫频仪功能(选用);6.大量采用大规模器件和贴片元件,保证仪器的高可靠性,平均无故障时间高达数千小时以上;7.选配GPIB、RS232、USB接口;8.所有参数数字化控制;9.同主输出信号相位相关的50Hz信号(选用);10.内嵌式1.5G计数器。
三、技术参数1.输出波形:1.1函数输出波形组合:BURST 扫频AM FM FSK BPSK TTL/CMOS正弦√√√√√√√方波√√√√√√脉冲√√三角√√锯齿√√1kHz内部调制信号、50Hz输出等1.2 音频输出波形:正弦波(方波,三角,锯齿等可选);2.输出频率2.1主函数输出频率函数信号的频率低端为1uHz,分辨率1uHzEE1420A EE1420B EE1420C正弦10MHz 30MHz 50MHz方波,TTL 10MHz脉冲,三角,锯齿波100kHz2.2音频源输出频率:10mHz~300kHz(1MHz可选),分辨率1mHz3.输出端:函数,同步(TTL/CMOS),音频(选用)4.输出信号方式:点频,扫频,调幅,调频,FSK,BPSK,BURST5.输出电平:函数信号输出:<10MHz,2mVpp~20Vpp (高阻,<±10%±1mVpp);>10MHz, 2mVpp~6Vpp (高阻,显示精度不考核);频响:≤±0.5dB(<3MHz,20Vpp);≤± 2dB(<10MHz,20Vpp);音频幅度:100mVpp~6Vpp(6mVpp~6Vpp可选)(高阻,输出阻抗50Ω);CMOS信号范围:3Vpp~15Vpp(<1MHz);50Hz信号幅度:3Vpp±1Vpp;6.同步:同步源:载波调制内部1KHz调制信号、外部调制信号(TTL)信号电平:TTL,信号频率<10MCMOS电平,设置范围3Vpp~15Vpp,频率<1M7.函数(正弦)信号起始相位调节:0~360度,分辨率:0.1度8.正弦波失真:≤0.15%(<100kHz, 20Vpp)9.方波、脉冲:方波占空比调节范围: 20%~80%,频率<1MHz30%~70%,频率<6MHz40%~60%,频率<10MHz脉冲占空比调节范围:1%~99% ,频率<50KHz,2%~98% ,频率>50KHz 方波上升/下降沿:≤30ns(主函数)10.三角波线性度:≤1%(≤50kHz),≤2%(>50kHz)(主函数)11.内部扫频:线性,满量程扫频扫描步进时间:100uS ~ 1S12.调制特性:AM:载波正弦,调制源:内/外部调幅深度:0~100%(载波≤10M, ≤10Vpp,调制频率≤1kHz)调幅深度:0~50%(载波≤30M, ≤3Vpp,调制频率≤1kHz)调幅深度:0~30%(载波>30M, ≤3Vpp,调制频率≤1kHz)FM:载波正弦、方波,调制源:内/外部,调频频偏:0~100KHz可调(载波>1MHz,调制<20kHz)FSK:载波正弦、方波,调制源:内/外部BPSK:载波正弦、方波,调制源:内/外部,相位设置:0~360度设置BURST:载波正弦、方波、脉冲、三角、锯齿猝发数量:1-65535,±1误差内触发:按键单次触发外触发:单次或连续触发,外输入频率必须小于内部脉冲频率的50倍以上(占空比50%±10%)内调制信号:1KHz,正弦波外调制信号要求:(典型)AM:正弦波,≤1Vpp,频率<10kHzFM:正弦波,≤1Vpp,频率<30kHzFSK、BPSK、BURST:输入脉冲波,TTL电平,频率<30kHz 13.直流偏置调节可以实现单极性信号(正、负极性,≤10Vpp)偏移量设置范围:≤±10V(信号幅度3.17Vpp~5Vpp),设置范围随信号输出幅度自动调整14.外部参考:频率:正弦、10MHz±50KHz幅度:300mVrms~1Vrms15.内嵌式计数器(选配)计数范围:10Hz~100MHz(~200M~1G~1.5G选配)灵敏度:10Hz~100M 100mVrms16.内嵌式扫频仪(选配)(功率相关指标为检波器50Ω匹配状态下)扫描范围:10KHz~10MHz(30MHz、50MHz选件)频率分辨率:1uHz输出功率:13dBm~-56dBm动态范围:+17dBm~-63dBm显示分辨率:0.1dB标记数量:5扫描时间:100mS(20S)~40S17.功率放大模块(选配)功率≥10W(4Ω),20Hz~40kHz,正弦波18. 接口:(选用件)GPIB接口(选用件)RS232/485接口(选用件)USB Device(选用件);19. 电源及整机功耗:电压:220V±10%;频率:50Hz±5Hz;功耗:≤30VA;20. 外形尺寸及重量:外形尺寸:L×B×H mm:400×250×120;质量:3Kg21.工作环境组别:Ⅱ组(0℃~+40℃)四、 工作原理1. 如图1所示:整机电路主要由波形产生电路,变换电路,控制电路,键盘及显示电路、接口电路和输出电路组成。
硬件大型实验说明书包含的内容1.需求分析将各种波形描述成数组;使用定时器0,用于设定采样频率,控制对波形数组的采样频率;使用定时器1,用于设定数码显示管的数据刷新频率;设置数码显示管引导用户对波形信息选择进行设置以及显示选定波形信息的频率;设定键盘,进行单一波形选择,多个波形叠加选择,波形幅值、频率的设定;连接DA转换芯片,将波形信息的数字量转换成模拟量输出。
程序开始执行时,通过数码显示管显示内容的引导,使用户通过键盘选择单波形或多波形叠加,输入波形的类型、幅值、频率,确定后,开始产生波形信号。
定时器0定时溢出时转入定时器0 中断服务程序在对应波形数组中顺序取值通,取值的选取需要过输入频率计算出移动步长,每次取值的数组下标都是上一次取值的数组下标加移动步长,进而实现对频率的控制。
取到的值通过计算得到对应幅值下的正确值送入DA转换,输出模拟量。
2.总体设计数码显示模块,编写一段用于测试数码显示管的花样显示,对键盘读入信息data_arr[8]中数值右移、高位添加数字、转化为浮点数,以及将一位数的段码转换为一位数字。
键盘模块,通过键盘扫描,将矩阵键盘的扫描码转换为数值,实现从键盘读入0~9数字以及小数点,对于输入数字的确定、重写,将由键盘接收输入的波形信息返回。
定时器模块,用到两个定时器。
定时器0 ,定时实现每秒固定的扫描频率,它的中断服务程序中,根据输入的选择,依次将全局变量signal_type[]将其中存储的各波形透过全局变量signal_inf[MAX_SIG_NUM][5]计算后的取值,相加,赋给全局变量curr_val,判断该值与记录上次值的Last_val比较,如果相同则跳过DA转换使输出端电压保持,如果不同,通过DA转换输出,返回。
DA转换模块,涉及启动I2C总线,将定时器部分计算出的数据值发送,关闭I2C总线。
主程序模块,计算两个定时器的定时初值,赋予全局变量TH0_val,TL0_val,TH1_val,TL1_val,调用数据输入程序输入波形信息,后启动定时器0,启动DA转换。
硬件大型实验说明书包含的内容1.需求分析将各种波形描述成数组;使用定时器0,用于设定采样频率,控制对波形数组的采样频率;使用定时器1,用于设定数码显示管的数据刷新频率;设置数码显示管引导用户对波形信息选择进行设置以及显示选定波形信息的频率;设定键盘,进行单一波形选择,多个波形叠加选择,波形幅值、频率的设定;连接DA转换芯片,将波形信息的数字量转换成模拟量输出。
程序开始执行时,通过数码显示管显示内容的引导,使用户通过键盘选择单波形或多波形叠加,输入波形的类型、幅值、频率,确定后,开始产生波形信号。
定时器0定时溢出时转入定时器0 中断服务程序在对应波形数组中顺序取值通,取值的选取需要过输入频率计算出移动步长,每次取值的数组下标都是上一次取值的数组下标加移动步长,进而实现对频率的控制。
取到的值通过计算得到对应幅值下的正确值送入DA转换,输出模拟量。
2.总体设计数码显示模块,编写一段用于测试数码显示管的花样显示,对键盘读入信息data_arr[8]中数值右移、高位添加数字、转化为浮点数,以及将一位数的段码转换为一位数字。
键盘模块,通过键盘扫描,将矩阵键盘的扫描码转换为数值,实现从键盘读入0~9数字以及小数点,对于输入数字的确定、重写,将由键盘接收输入的波形信息返回。
定时器模块,用到两个定时器。
定时器0 ,定时实现每秒固定的扫描频率,它的中断服务程序中,根据输入的选择,依次将全局变量signal_type[]将其中存储的各波形透过全局变量signal_inf[MAX_SIG_NUM][5]计算后的取值,相加,赋给全局变量curr_val,判断该值与记录上次值的Last_val比较,如果相同则跳过DA转换使输出端电压保持,如果不同,通过DA转换输出,返回。
DA转换模块,涉及启动I2C总线,将定时器部分计算出的数据值发送,关闭I2C总线。
主程序模块,计算两个定时器的定时初值,赋予全局变量TH0_val,TL0_val,TH1_val,TL1_val,调用数据输入程序输入波形信息,后启动定时器0,启动DA转换。
程序中涉及到的浮点数计算时,将各个浮点数的整数部分和小数部分分开存放,计算时,分开计算,最后判断小数部分是否有进位,如果有则给整数部分加1,小数部分做减处理。
#define SIN 0#define RECT 1#define SCAN 2#define TRI 3#define IMPL 4#define PI 3.1416 //圆周率∏#define MAX_SIG_NUM 3 //复合信号最大允许信号数量#define MAXSWING 5 //DA转换模拟输出最大电平#define MAXFREQ 100 //输出信号最高频率#define SYSCLK 39888104 //系统时钟频率#define REFRESH_FREQ 60 //数码管刷新频率#define AddWr 0x90 //写数据地址#define AddRd 0x91 //读数据地址#define _Nop() _nop_()#define DataPort P0#define KeyPort P1 //定义P1口为矩阵键盘接口sbit Enter =P3^7; //P3^7接独立键盘Enter键sbit Back =P3^6; //P3^6接独立键盘Back键sbit Up=P3^0; //P3^0接独立键盘Up键sbit Down=P3^1; //P3^1接独立键盘Down键sbit Left=P3^2; //P3^2接独立键盘Left键sbit Right =P3^3; //P3^3接独立键盘Right键sbit Inc=P3^4;sbit Dec=P3^5;sbit SCL=P2^0;sbit SDA=P2^1;sbit LATCH_duan=P2^2;sbit LATCH_wei=P2^3;sbit SPK=P2^4;unsigned char code wavedata[5][256] //波形数据定义组长:杜建红组员:梁聪礼、路曼、王南舟、钟志明任务分派如下:杜建红:与同组同学协商完成本设计的实现方法和原理,合理分配所设计的单片机资源,定义数据字典及存储单元的分配,确定单片机外部扩展的器件的访问方法;主要完成硬件电原理及各部分的控制原理设计;以及将全组其他同学的软件进行协调与连接,完成整个设计任务。
梁聪礼:充分掌握所设计系统的硬件原理,理解系统中各功能的实现方法,编程实现显示程序。
路曼:充分掌握所设计系统的硬件原理,理解系统中各功能的实现方法及各部件的访问方法,编制该系统中定时器的使用,实现系统中时间的控制,完成系统中其他的定时任务。
王南舟:充分掌握所设计系统的硬件原理,理解系统中各功能的实现方法,设计不同功能的程序,以能通过程序的控制,实现键盘输入功能,控制波形选择等。
钟志明:充分掌握所设计系统的硬件原理,理解系统中各功能的实现方法,编程程序,实现DA转换,以及键盘功能。
详细设计在主程序模块中,首先计算两个定时器的定时初值,赋予全局变量TH0_val,TL0_val,TH1_val,TL1_val,设置两个定时器中断优先级,进入死循环,首先将signal_type[]中内容格式化,将data_arr[]中内容清空,并将表示程序运行状态的变量赋值为输入阶段,启动定时器1,定时刷新数码管以实时显示,再结合数码显示管根据显示的data_arr[]内容,调用GetNum1_3()输入选择波形的个数,根据所选择的波形数,进入设置各波形信息的循环,由GetNum0_4()输入波形号、输入幅值、输入频率,并写入全局变量signal_inf[][] 、signal_step_locate[][]中,将数码显示管根据显示的data_arr[]内容清空,启动DA转换,等待数据传输,启动定时器0,在其中断中计算并返回信息传给DA转换,进入死循环,判断是否有UP、DOWN、LEFT、RIGHT键按下,实现对所选波形信息的幅值、频率的查看,如下图所示,以及判断是否有INC、DEC键按下,实现对所选内容的修改,若选择了频率则对其进行加/减1,若选择了幅值,则对其进行加/减0.05,直到按下BACK键,退出循环,对定时器的工作字TMOD清0,关闭定时器,关闭I2C总线,相当于复位操作。
其中所涉及到的浮点运算,将一个浮点数的整数部分和小数部分分开存放,对于小数部分至存放最高两位,在计算时,分别对整数部分、小数部分运算,判断小数部分是否有进位,若有进位,则整数部分加1,小数部分减100。
硬件大型实验的总结通过此次的硬件实验,我深切的体会到,在需求分析阶段我们所要做的不仅仅是这个项目的要求,尤其是功能要求,还要充分调研各个功能的实现方法、算法,以及考虑所花费的时间,所涉及的硬件,以及这些硬件的各方面信息。
在硬件试验中,所涉及的问题不仅是各个模块功能实现,在硬件联调的时候,就不一定会出现什么问题了,可能由于计算复杂,导致中断服务程序的运行占用时间过长至使整个程序执行不下去,这就涉及到代码优化问题。
还有硬件存储空间的限制也要顾虑周全,这还是与代码优化关系密切。
不仅如此,我还从心底里认识到团队协作,共同讨论问题的好处,及乐趣。
附件:功能模块的源程序void main (void){unsigned char idata Input_SignalNum,Input_TypeNo,i,j;float idata Input_Swing,Input_Frequancy,Input_Displacement;Test();// Beep();// Delay(10000);BeepH();TH0_val=(0xffff-SYSCLK/(192*MAXFREQ))/256;TL0_val=(0xffff-SYSCLK/(192*MAXFREQ))%256;TH1_val=(0xffff-SYSCLK/(12*REFRESH_FREQ))/256;TL1_val=(0xffff-SYSCLK/(12*REFRESH_FREQ))%256;PT0=1;PT1=0;while(1){for(i=0;i<MAX_SIG_NUM;i++)signal_type[i]=5;for(i=0;i<8;i++)data_arr[i]=0x00;state=0;data_arr[0]=0x37;data_arr[1]=0x5c;data_arr[2]=0x48;Init_Timer1();Input_SignalNum=GetNum1_3();data_arr[0]=0x73;data_arr[3]=0x48;for(i=0;i<Input_SignalNum;i++){data_arr[1]=duanma[i+1]|0x80;data_arr[2]=duanma[0];Input_TypeNo=GetNum0_4();data_arr[2]=duanma[1];Input_Swing=ReadNumber(0);data_arr[2]=duanma[2];Input_Frequancy=ReadNumber(0);data_arr[2]=duanma[3];Input_Displacement=ReadNumber(1);SetSignalInformation(i,Input_TypeNo,Input_Swing,Input_Frequancy,Input_Displacement);}for(i=0;i<8;i++)data_arr[i]=0x00;FastFlash(2);Init_PCF8591();Init_Timer0();state=1;i=0;j=1;FloatToDuanma(signal_inf[0][1]);while(1){while(0x00==~P3);DelayMs(5);while(0x00==~P3);if(!Up){DelayMs(5);if(!Up){if(Input_SignalNum==i+1) Beep();else {i++;FloatToDuanma(signal_inf[i][j]);}while(!Up);}}if(!Down){DelayMs(5);if(!Down){if(0==i) Beep();else{i--;FloatToDuanma(signal_inf[i][j]);}while(!Down);}}if(!Left){DelayMs(5);if(!Left){if(0==j)Beep();else{j--;FloatToDuanma(signal_inf[i][j]);}while(!Left);}}if(!Right){if(!Right){if(1==j)Beep();else{j++;FloatToDuanma(signal_inf[i][j]);}while(!Right);}}if(!Inc){DelayMs(30);if(0==j){if(signal_inf[i][0]<MAXSWING){signal_inf[i][j]=signal_inf[i][j]+0.05;signal_step_locate[i][4]=signal_step_locate[i][4]+1;}}else{if(signal_inf[i][1]<MAXFREQ){signal_inf[i][j]=signal_inf[i][j]+1;signal_step_locate[i][0]=signal_step_locate[i][0]+(unsignedchar)(16/MAXFREQ);signal_step_locate[i][1]=signal_step_locate[i][1]+(unsigned char)((1600/MAXFREQ)%100);if(signal_step_locate[i][1]>99){signal_step_locate[i][0]=signal_step_locate[i][0]+signal_step_locate[i][0];signal_step_locate[i][1]=signal_step_locate[i][1]-100;}}}FloatToDuanma(signal_inf[i][j]);}if(!Dec){DelayMs(30);if(0==j){if(signal_inf[i][0]>0.05){signal_inf[i][j]=signal_inf[i][j]-0.05;signal_step_locate[i][4]=signal_step_locate[i][4]-1;}}else{if(signal_inf[i][1]>1){signal_inf[i][j]=signal_inf[i][j]-1;signal_step_locate[i][0]=signal_step_locate[i][0]-(unsigned char)(16/MAXFREQ);if(signal_step_locate[i][1]<(unsignedchar)(1600/MAXFREQ)%100){signal_step_locate[i][0]=signal_step_locate[i][0]-1;signal_step_locate[i][1]=signal_step_locate[i][1]+100;signal_step_locate[i][1]=signal_step_locate[i][1]-(unsigned char)((1600/MAXFREQ)%100);}elsesignal_step_locate[i][1]=signal_step_locate[i][1]-(unsigned char)(1600/MAXFREQ)%100;}}FloatToDuanma(signal_inf[i][j]);}if(!Back){DelayMs(20);if(!Back)break;}}TMOD &= 0xf0;TR0=0;TR1=0;Stop_D2A();FastFlash(3);BeepH();TR1=1;}}整体原理图。