设计与开发

单片机rlc FPGA与单片机在RLC测量系统设计中的应用

小编 2024-10-21 设计与开发 23 0

FPGA与单片机在RLC测量系统设计中的应用

为了方便用户准确掌握手中RLC(电阻电容电感)的各项参数,笔者提供了一种采用FPGA和MCU的测量系统,可自动测量RLC的多项基本参数,系统以液晶屏显示测量结果,并可根据需要打印测量的结果,与现有的昂贵测试仪相比,该测量系统功能精简、操作智能化、人机接口友好。 1 方案设计与论证 为满足高校实验室教学需要,设计一个低成本RLC电参数测量系统,本系统采用基于C8051F020单片机的可编程控制系统方案,单片机生成各种波形的数据表传输给FPGA,使用DDFS技术使FPGA生成所需要的波形并进行输出,通过DA转换模块,将数字信号转换成模拟信号,通过程控放大器AD603,由单片机控制AD603进行增益的调整,再经过NE5532构成的调理电路对其进行电压放大¨’2]。产生高精度的正弦波信号流经待测的电阻、电容或者电感和标准电阻的串连电路,通过测量电容或者电感和标准电阻各自的电压,利用电压比例计算的方法推算出电容值或者电感值,利用C8051F020单片机控制测量和计算结果,运用自校准电路提高测量精度,采用液晶模块实时显示数值。系统总体组成框图如图1所示。 1.1 DDS简介 直接数字频率合成(DDS)技术是通过累加相位来合成所需波形的频率合成技术。利用DDS设计的波形发生器具有精度高、稳定性好、频率和波形易于控制等优点¨1。DDS主要由参考时钟、相位累加器、波形存储器、数模转换器和滤波器组成,近年来在频率合成、通信、仪器测量领域均有广泛地应用。 1.2信号产生模块 要求设计的正弦波信号发生器的频率范围较宽,其频率范围是1Hz~1MHz,且可以对频率进行设置,还有频率步进调节的功能,一般传统的LC谐振回路或无源RC结合运放的方式很难达到这一要求,所以我们提出利用DDS原理使用FPGA实现的解决方案。用FPGA实现波形信号的输出,只需要在FPGA内部建立一个波形数据表,然后在时钟的驱动下,读取数据表中的数据,经过高速DA的转化,即可得出需要的波形。要输出不同的波形,改变波形数据表中的内容即可实现。若要实现频率的设置和步进,只需要给FPGA相应的数据关键字即可”’5。。采用FPGA中DDFS技术,对于不同波形,可建立不同存储表即可输出相应的波形,也可由外部输入波形表来完成任意波形的输出。频率范围高、精度高,方便与其它设备接口。FPGA中实现波形输出原理图如图2所示。 1.3控制器方案选择 C8051F020是集模拟和数字信号为一体的混合信号系统级高速单片机,他采用贴片封装,体积小、运算速度快。具有与MCS-51指令集完全兼容的CIP-51内核,具有所有8052外设器件,采用流水线指令结构,除此之外,C8051F020单片机具有丰富的I/O,具有高达20个中断源,而且具有丰富的外设:UART、SPI、ADC、定时器等。该单片机具有高达128k的FLASH和8k+256的RAM,无需外部扩展便可实现高速度运算和掉电存储,并具有JTAG接口,便于在线调试,非常适合于各种工业控制和仪表的使用。 1.4信号调理模块 增益可调的AD603的放大倍数可以通过单片机调节,由微控制器来判断当前信号幅度的大小,经过一定的运算处理后给出一一对应的数字量控制信号,然后经过DA转换输出一个对应的模拟量来控制放大电路的增益,可以输出电压的连续变化。NE5532可实现固定放大倍数放大H’51。AD603通过软件控制输出,使之输出电压连续变化通过调节反馈电位器可实现输出幅度不小于5V,信号调理电路如图3所示。 1.5时间模块 利用DSl2887作为时钟显示模块。DSl2887自带晶体振荡器和电池,连接方便。通过修改其内部控制寄存器可以方便的加以控制㈨。DSl2887内部自带114字节通用RAM,因此可以通过它实现掉电存储功能。 3程序设计 3.1软件实现方法 本测量系统软件部分有以下几个模块:键盘控制模块、显示模块、计算及量程控制模块、数据存储模块、时钟模块、频率控制模块、打印与语音播报控制模块。软件控制由C8051F020单片机实现。单片机完成对FPGA、AD603、NE5532的控制和人机交互。波形数据和频率控制字K由串口写入FPGA,增益控制由单片机的DA接口输出到AD603的控制端,电压输出控制由单片机输出控制数字电位器来控制NE5532的输出。 3.2单片机软件设计流程图 单片机担任着整个系统的控制任务,不仅要控制FPGA产生固定频率的波形,还要控制AD603的增益,对于电压放大模块中,要对数字电位器进行控制,反馈中的结果还要输入到FPGA中进行处理。单片机软件流程如图4所示。 4系统测试 硬件系统测试:焊接硬件电路后,分模块进行测试,每个模块焊接完成后,测试通断,判断电路是否存在短路、虚焊,硬件部分全部焊接完毕后,采用自制电源给硬件电路供电,通过测量AD637输出,计算出待测元件的参数,对比LCR数字电桥测量值进行硬件电路的优化。 软件系统测试:采用自下而上调试的方法,先对每个编程模块进行测试,最后组合每个模块的功能进行软件部分整体测试。 整体功能测试:通过加被测元件,通过按键实现被测元件信息的输入,对比液晶显示和LCR数字电桥WY2812A测量值观察效果。并检查语音功能与液晶显示的一致性。结果见表1~表3。 5 结束语 笔者设计并实现了一种基于FPGA与单片机的电参数测量系统,给出了主要硬件功能电路和控制软件的设计过程,制作了实验样机并对实验样机进行了测试。系统产生最高频率可达lMHz,且步进可以设定为l Hz和10 Hz的正弦波。实验结果表明该测量系统具有价格低廉、效率高、适应性强、可靠性好等优点,可以用作实验室中低成本电参数测量系统。

单片机应用技术测试 试卷及答案

一、填空题(每空1分,共15分)

1、二进制数(10100101)2=___A5____H =___165____D。

2、LED显示器中的发光二极管的两种连接方法是___共阴_____和_共阳_________。

3、一般的计算机系统都是由地址总线__、_数据总线____、_控制总线三总线结构组成。

4、89C51片内RAM有_256_____字节,其中包含___128___字节用户数据存储单元和__128____字节的特殊功能寄存器单元,片内ROM有__4k____字节。

5、AT89C51有____4_______个并行I/O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入______1______。

6、AT89C51有___4_组工作寄存器,它们的地址范围是_00H-1FH__________。

得分

评卷人

、选择题(每题2分,共30分)

1、在MCS—51指令中,下列指令中 C 是无条件转移指令。

A.LCALL addr16 B.DJNZ direct,rel C.SJMP rel D.ACALL addr11

2、16.寻址方式就是 D 的方式。

A.查找指令操作码 B.查找指令

C.查找指令操作数 D.查找指令操作码和操作数

3、下列指令判断若P1口最低位为高电平就转LP,否则就执行下一句的是 B 。

A.JNB P1.0,LP B.JB P1.0,LP C.JC P1.0,LP D.JNZ P1.0,LP

4、下列指令能能使累加器A的最高位置1的是 D 。

A.ANL A,#7FH B.ANL A,#80H C.ORL A,#7FH D.ORL A,#80H

5、下列指令能能使P1口的最低位置1的是 B 。

A.ANL P1,#80H B.ORL P1,#01H C.ORL P1,#0FFH D.ORL P1,#80H

6、MCS—51汇编语言指令格式中,唯一不可缺少的部分是 B 。

A.标号 B.操作码 C.操作数 D.注释

7、MCS—51指令包括操作码和操作数,其中操作数是指 D 。

A.参与操作的立即数 B.寄存器 C.操作数 D.操作数或操作数地址

8、设累加器A中为无符号数,B中数为2,下列指令 D 的作用与其它几条不同。

A ADD A,0E0H B MUL AB C RL A D RLC A

9、欲将P1口的高4位保留不变,低4位置1,可用指令 B 。

A ANL P1,#0F0H B ORL P1,#0FH

C XRL P1,#0FH D 以上三句都对

10、8051单片机的位寻址区位于内部RAM的 D 单元。

A 00H~7FH B 20H~7FH

C 00H~1FH D 20H~2FH

11、8051的程序计数器PC为16位计数器,其寻址范围是 D 。

A 8K B 16K C 32K D 64K

12、在单片机算术运算过程中,指令DA A常用于 C 运算。

A.二进制 B.加法 C.BCD码加法 D.十六进制

13、LJMP跳转空间最大可达到 D 。

A 2KB B 256B C 128B D 64KB

14、单片机能直接运行的程序叫 C 。

A 源程序 B 汇编程序 C目标程序 D编译程序

15、将内部数据存储单元的内容传送到累加器A中的指令是 C 。

A MOVX A,@R0 B MOV A, #data C MOV A,@R0 D MOVX A, @DPTR

三、分析下面程序并填空(每空1分,共20分)

1.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果

MOV A,10H (A)=_____ 0FF _____________,ANL A,#01H (A)=_______01H___________,MOV A,11H (A)=_______00H___________,ORL A,#01H (A)=__________01H________,MOV A,12H (A)=_____________0FFH_____,XRL A,#01H (A)=___________FEH_______,MOV A,13H (A)=______ 0FF ___________,XRL A,#0AH (A)=________0AH__________,(10H)=__ 0FF _____,(11H)=____ 00H_____,(12H)=_0FFH________,(13H)=_00H_________

2、程序填空

MOV 30H,#60HMOV R0,#60HMOV A,30HMOV B,AMOV @R0,B(A)=_____ 60H _____,(R0)=_ 60H ___________,(B)=_ 60H ___________

3.改正下列指令

MOV A,DPTR MOVX A,@DPTRMOV DPTR,10H MOV DPTR,#0010HMOV @R7,#40H MOV @R1,#40HMOVX 40H,#30H MOV 40H,#30HADD 20H,#10H ADD A,#10H

四、寻址方式(每题3分,共15分)

(说明8051单片机的下列各条指令中源操作数的寻址方式)

1.ANL A,20H 直接寻址2.ADDC A,#20H立即寻址3.JZ rel 相对寻址 4.MOV 00H,C 位寻址5.MOV A,R0寄存器寻址

五、综合题(共20分)

1、编程将片内RAM30H单元开始的10个的数据传送到片外RAM3000H开始的单元中去。(10分)

MOV R0,#30H

MOV DPTR,#3000H

MOV R7,#10

LOOP: MOV A,@R0

MOVX @DPTR,A

INC R0

INC DPTR

DJNZ R7,LOOP

2、片内RAM40H开始的单元内有10个二进制数,编程找出其中最大值并存于50H单元中。(10分)

START: MOV R0,#40H ;数据块首地址送R0

MOV R7, _#9__ ;比较次数送R7

MOV A,@R0 ;取数送A

LOOP: INC R0

MOV 30H___,@R0 ;取数送30H

CJNE A,30H,NEXT ;(A)与(30H)相比

NEXT: _JNC NEXT1__ ;(A)≥(30H)转NEXT1

MOV A,30H___ ;(A)<(30H),大数送A

NEXT1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较

_MOV 50H,A__ ;比较结束,大数送50H

相关问答

单片机rlc 指令的使用?

单片机中的RLC指令是用来将寄存器的内容与累加器进行逻辑比较的指令。具体使用方法如下:1.首先,将需要比较的寄存器的内容加载到累加器中。2.执行RLC指令后,...

急求 单片机 几道试题答案,哪位高手来帮下忙,谢谢1、(1)设A=6C...

[最佳回答]1、(1)设A=6CH,CY=1,执行RRC后,A=(0B6H),CY=(0).(2)、执行下列程序段后,(A)=(62H)Cy=(1)(Y是下标啊)CLRCMOVAA,#B1H...

51 单片机 的题目: 依次点亮四个Led灯?

ORG0000HLOOP0:MOVA,#0FEHMOVR0,#4LOOP:MOVP1,ADELL:MOVR7,#0DEL1:MOVR6,#0DEL2:DJNZR6,DEL2DJNZR7,DEL1SET...

单片机 查表指令中#2000h是首地址吗?为啥是这个数?

我的分析不一定对,仅供参考。基本思路是从R2R3处取偏移量,乘以2(每个数据为2个字节)通过A加给DPTR,R2加给DPL,r3加给DPH,再从DPTR处取数,交给A,再给R2R...我...

2022湖南对口招生考试电子电工类专业考试基本要求及考试大纲 ...

电子电工类专业综合知识考试基本要求及考试大纲一、考试基本要求(一)基本知识和基本技能的考试要求1.掌握电工技术和电子技术专业的基础知识、基...

单片机 第三章作业,用移位的方法实现16位二进制数乘3的程序...

[最佳回答]最要练习的是带进位移位,带进位加法clrc;RLCR1,RLCR0.这个结果再加上(R0R1)。就是乘以3的结果。结果放到R2R3,很久没有用51了,指令都忘了。但是...

猜你喜欢