基于单片机C8051F410的精确信号模拟电路设计
C8051F410 信号发生器设计

三、实验内容
1、实验原理 在 C8051F410 电路板上的 P0.0 脚焊接一个 3.5K 的电阻 R1,用做 DAC 输出的负载。通 过编程, 在单片机 P0.0 脚生成大小变化的电流, 从而在 R1 上产生如下 3 种不同的信号波形:
1)频率为 500HZ 的方波,峰-峰值要大于 1V; 2)频率为 500HZ 的三角波,峰-峰值要大于 1V; 3)频率为 1000HZ 的锯齿波,峰-峰值要大于 1V。 要求:3 种波形能通过按键进行循环切换显示,波形可在示波器上观察。 要求 2、软件设计 #include <c8051f410.h> sfr16 TMR3RL sfr16 TMR3 sfr16 IDA0 = 0x92; = 0x94; = 0x96; // SFR declarations // Timer3 reload value // Timer3 counter // IDA0 high and low bytes // Internal oscillator frequency in Hz // DAC sampling rate in Hz //P1.1 接按键
// Disable Watchdog timer // Initialize oscillator // Initialize crossbar and ports // Initialize DAC0
EA = 1; while(1) { if(KEY==0) { wave++; wave%=3; while(!KEY==1); } } }
#define SYSCLK 24500000 #define SAMPLE_RATE_DAC 100000L unsigned char wave = 0; sbit KEY = P1^1; void OSCILLATOR_Init (void) {
关于C8051F410的设计报告

2013年全国大学生电子设计大赛报告基于C8051F410单片机的设计摘要:微处理器在社会发展中扮演着非同寻常的角色,渗透到了各行各业。
经过不断的发展与创新,单片机大致可分为4位、8位、16位和32位。
C8051F410单片机片内集成了高频振荡源,并具备了多级分频系统以满足各种个性化的需要。
强大的非侵入式JTAG/C2调试手段,是传统仿真器调试模式所不能比拟的,可使内核和全部资源完全透明和可操作化,可以方便地完成下载和硬件仿真,且不占用内部片内资源。
芯片上除了P0~P2,还包括温度传感器和电源,晶振及片上温度传感器等外设集合为一体。
增加了交叉开关,可以灵活的将片内资源分配到I/O端口,3.3V的供电模式,内核的低电压使系统功耗进一步降低。
关键词:微处理器 C8051F410 传感器交叉开关Abstract:the microprocessor plays beautifully role in social development, penetrated into all walks of life. Through continuous development and innovation, SCM can be roughly divided into 4, 8, 16 and 32. C8051F410 micro controller on-chip integration of the high frequency oscillation source, and with the multi-level division system to meet the various needs of personalized. A powerful non-invasive JTAG/C2 debugging tools, is a traditional emulator debug mode can not match, can make the kernel and all the resources completely transparent and operational, can finish downloading and hardware simulation conveniently, and does not occupy the internal on-chip resources. Chip P0~P2 in addition, also includes a temperature sensor and a power supply, a crystal and on-chip temperature sensor is integrated peripherals such as set. Increase the crossbar switch, can be flexible to on-chip resource allocation to the I/O port, 3.3V low voltage power supply mode, the power consumption of the system to further reduce the kernel.Keywords: microprocessor C8051F410 sensor switch目录一、前言.............................. (1)二、总体方案设计...................... .. (1)1、方案设计....................... (1)2、方案论证与比较 ....................... (1)3、方案选择...................... (1)三、单元模块设计...................... .. (2)1、各单元模块功能介绍及电路设计......... .. (2)2、电路参数的计算及元器件的选择........................... .. (5)3、特殊器件的介绍................ . (6)4、各单元模块的联接.............. (7)四、系统调试.......................... .. (8)五、系统功能、指标参数......................... . (9)六、设计总结........................... .................................... .9七、参考文献............................ .................................. ..9八、附录 (9)1、电路原理图...................... .................................. .92、PCB图.......................................... ......... . (10)3、源程序.......................... (10)一、前言C8051F410器件是完全集成的低功耗混合信号片上系统型MCU,它的特性主要有:高速、流水线结构的8051兼容的微控制器核(可达50MIPS);高精度可编程的24.5MHz内部振荡器; 4个通用的16位定时器;硬件实时时钟(smaRTClock),工作电压可低至1V,带64字节电池后备RAM和后备稳压器。
C8051F410实验板使用手册【新】

一、C8051F410实验板原理图
二、C8051F410实验板装配说明
1、套件包括:元器件1袋(51个)、电路板1张(已经焊过贴片元件37个)、USB线1条;
2、,一般按照由低到高的顺序紧贴电路板焊接;
3、注意元器件的极性和方向问题;
4、红外发射LED、红外接收SM0038、温度测量DS18B20、LCD1602、LCD12864、串口连接线和纽扣电池等是预留做功能扩展的器件不包含在本套件中,暂时不必焊接。
三、C8051F410实验板照片
四、C8051F410实验板资源分布图
五、C8051F410实验板元件清单
名称
数量
说明
备注
贴片元件
和PCB板
C8051F410
1
已经焊接到电路板上了
1117-3.3
1
IN4148
2
10Ω
1
270Ω
8
510Ω
10
1KΩ
4
2.2KΩ
2
2.5KΩ
1
8050
1
22pF
2
0.1uF
4.7 uF
1
注意极性
10uF
8
注意极性
LED绿
1
注意极性
LED红
8
注意极性
按键
16
无极性
4
PCB板
1
电源线
USB线
1
直插元件
(共52个)
共阴四联数码管
2
注意方向
CH452
1
注意串口座(孔)
1
USB座
1
钮扣电池座
1
蜂鸣器
1
C8051f410利用SMBUS实现基于I2C器件操作实验

实验参 实验参考代码: 代码: #include <C8051F410.h> #define SYSCLK 24500000 #define SMB_FREQUENCY 50000 #define EEPROM_ADDR 0xA0 #define WRITE 0x00 #define READ 0x01 unsigned char bit WORD_ADDR; SMB_RW; // System clock frequency in Hz // SCL clock rate, between 10kHz and 100kHz // Device address(7 bits, lsb is a don't care). // SMBus WRITE command // SMBus READ command
// 是否伪读 // 时候重复发送 START 信号,轮询 // Timer3 reload registers // Timer3 counter registers
sbit LED = P0^5; sbit SDA = P0^2; sbit SCL = P0^3; void SMBus_Init (void) { SMB0CF = 0x5D; SMB0CF |= 0x80; }
// Used by the ISR to flag failed transfers // 收发字符个数 // Send a start
switch (SMB0CN & 0xF0) // Status vector { case 0xE0: // Master Transmitter/Receiver: START condition transmitted. SMB0DAT = EEPROM_ADDR; // Load address of the target slave SMB0DAT &= 0xFE; // Clear the LSB of the address for the R/W bit SMB0DAT |= SMB_RW; // Load R/W bit STA = 0; // Manually clear START bit i = 0; // Reset data byte counter break; case 0xC0: // Master Transmitter: Data byte (or Slave Address) transmitted if (ACK) // Slave Address or Data Byte Acknowledged? { if (SEND_START) { STA = 1; SEND_START = 0; break; } if(SMB_SENDWORDADDR) { SMB_SENDWORDADDR = 0; SMB0DAT = WORD_ADDR; if (SMB_RANDOMREAD) { SEND_START = 1; // Send a START after the next ACK cycle SMB_RW = READ;
基于C8051F410的信号模拟电路设计

基于C8051F410的信号模拟电路设计为了实现对发射装置的自动测试。
所有利用微机技术设计新型的检测仪。
以CPU 模块为核心,通过程序控制D/A 转换器来产生三组精确在不同的时段取18 个不同的直流电压值的直流电压信号,简化了设计,降低了成本,实现了测试步骤的自动切换。
但是以此设计的在检测仪的使用过程中会经常出现重测合格(RTOK)现象,即检测仪测定某件装备不合格,但是更换仪器或重新开机后再对该装备进行测试时结果良好。
后经分析.认为主要是检测仪中产生这三组精确信号的模拟电路存在工作点漂移问题,精度不高。
电压输出不稳定,从而导致测试状态不正确。
为了解决这个问题,基于C8051F410 单片机,并采用PWM 调制技术和负反馈测量技术设计了一种新的精确信号模拟电路,以达到有效抑制工作点漂移问题,并提高模拟电路输出精度.从而实现解决装备维护使用工作中存在的实际问题。
1 电路结构及原理电路设计采用了闭环控制结构,如放大电路包括二级电压放大电路和推挽式功率输出电路两个部分.如3 软件设计运用c 语言编程来实现PWM 控制,并利用C8051F410 芯片的可编程计数器阵列组成PWM 发生器。
捕捉/比较模块有六种工作方式:边沿触发捕捉、软件定时器、高速输出、频率输出、8 位PWM 和16 位PWM。
每个捕捉/比较模块的丁作方式都可以被独立配置。
对PCA 的配置和控制是通过系统控制器的特殊功能寄存器来实现的.主要有以下几个:1) PCAOMD 可编程计数器阵列方式寄存器。
该寄存器用于设置可编程计数器阵列的工作模式及时钟源。
2) PCAOCN 可编程计数器阵列控制寄存器。
该寄存器包括溢出标志、运行控制标志以及捕捉/比较标志。
3) PCAOCPn 可编程计数器阵列捕捉,比较寄存器(高低字节)。
该寄存。
C8051F410单片机的设计

目录2011年硬件课程设计任务书 ...................................................... 错误!未定义书签。
摘要 .. (1)第1章概述 (2)1.1硬件实习的目的要求 (2)1.2热电偶简介 (2)1.3热电偶校验仪的意义 (3)第2章硬件设计 (4)2.1控制系统设计 (4)2.2供电系统设计 (5)2.3I/V转换、调整设计 (6)2.4按键接口电路 (8)2.5液晶接口电路 (9)第3章软件设计 (10)3.1C8051F410系统初始化 (10)3.2热电偶分度表查询设计 (11)3.315位DAC输出设计 (12)3.4按键接口设计 (12)3.5液晶显示程序设计 (13)第4章结论 (15)参考文献 (16)附录 (18)摘要在工业生产中,往往需要高温生产环境,此时我们可以利用热电偶直接测量工厂生产温度,并把温度信号转换成电压信号,通过仪表转换成被测介质的温度,以数字的形式直观的展现给作业工人。
基于C8051F410的热偶信号发生器是以C8051F410为控制核心的高精度热电偶温度转换仪。
可以利用它对实际生产使用的热电偶进行检查,以确保工业生产的安全、高效。
此课题设计中主要以Keil uVision开发软件和Protel软件绘制电路图作为开发平台。
设计中主要从硬件和软件两方面进行入手。
硬件设计主要包括对供电系统,I/V转换系统,按键输入和液晶显示系统的设计;软件设计包括C8051F410系统初始化,按键输入设计,热电偶分度表查询设计,DAC输出转换设计和液晶显示程序设计。
通过硬件和软件相结合的方式实现热电偶校验仪的精确工作。
关键词:C8051F410 工业生产热电偶第1章概述1.1 硬件实习的目的要求课程设计是学生理论联系实际的重要实践教学环节,是一次综合性专业设计训练。
通过课程设计可以使我们获得以下几方面能力: 1.进一步复习和巩固加深所学专业基础课及专业课理论知识,培养自身规划设计、理论计算、软件绘图、计算机应用、文献查阅、报告撰写等基本技能;2.培养实践动手能力及独立分析和解决工程实际问题的能力;3.培养团队协作精神、创新意识、严肃认真的治学态度和严谨求实的工作作风。
基于C8051F410片上系统智能开关电源的设计

基于C8051F410片上系统智能开关电源的设计林士伟;董亚春【摘要】介绍基于C8051F410设计智能开关电源的方法.利用C8051F410内部PCA模块的PWM功能,结合外围电路进行功率变换,通过A/D转换模块和相应的外围电路对输出电流和电压检测,使用负载预测和PID控制算法实现稳压输出.该设计方案支持RS485现场总线,可实现多台开关电源模块并联使用.最后给出双电源模块并联使用场合的测试数据,分析了稳压和电流分配误差的原因.该电源设计方案对通信等应用场合的供电设计有一定的借鉴作用.%The design of intelligent switching power supply based on C8051F410 control core is introduced.The mode uses the external circuit to carry out power conversion combining with the core's internal PCA module for PWM function.Then through the A/D converter module and the corresponding peripheral circuit,it outputs current and voltage detection.The mode can output regulator by using the load forecasting and PID control algorithm.This switching power supply also supports RS485 Fieldbus and enables multiple parallel switching power supply module.The power supply has some reference for communications applications such as power supply design.【期刊名称】《吉林化工学院学报》【年(卷),期】2012(029)003【总页数】4页(P63-66)【关键词】片上系统;PWM;开关电源;PID控制;负载检测【作者】林士伟;董亚春【作者单位】吉林化工学院信息与控制工程学院,吉林吉林132022;中国石油吉林石化公司乙二醇厂,吉林吉林132022【正文语种】中文【中图分类】TP23随着信息和网络技术的发展,工业控制、通信系统、机电设备等领域的供电设备越来越多使用智能型开关电源.智能型开关电源的典型特点是模块化,能够并联使用,模块之间有信息交换通道,具有负载分配协调机制,更容易实现系统扩展[1].本文针对智能型开关电源的设计和关键技术进行研究,设计的智能型开关电源使用单片机作为控制部件和PWM发生部件,取消了传统的开关电源芯片,可有效降低电源中控制电路的静态功耗,达到提高电源效率的目的.以C8051F410片上系统为核心,包括输出电压电流检测电路、PWM功率驱动电路、LC滤波电路、LCD显示电路、按键电路和辅助供电电源电路等部分组成,LCD显示、按键电路作为人机接口,实现人机信息交换.输出电流检测电路及输出电压检测电路用来测量开关电源模块输出给负载电阻的电压和电流值.C8051F410根据当前测得的输出电压和电流值预测负载大小,以此推算出该负载所对应的输出PWM信号,再对输出电压的偏差进行PID运算,细调输出的PWM信号,PWM 信号经功率驱动放大后输出驱动负载[2].原理,如图1所示.功率输出驱动电路如图2所示.由电平转换电路、栅源保护电路、快速驱动和功率开关等部分组成.图中Q2、Q3为电平转换和功率管导通驱动管,D1的作用是使Q1快速截止,这样设计能够大大提高开关管边沿速度,能够有效提高工作效率.当PWM信号输出高电平时Q3导通使MOS场效应管Q1的栅极经快速开关管D1快速拉低使其漏源导通,输出为VIN将对换能电感充电;反之,当PWM信号输出低电平时Q3截止Q2导通,使MOS场效应管Q1的栅极拉为高电平使其快速截止,VIN关断,换能电感通过D2向负载放电,维持输出稳定[3-5].C8051F410内部ADC转换的电压范围为0~2.2 V,设计中采用的输出电压检测电路,如图3所示.输入电压经过R13与R14分压及运放跟随后可以满足A/D转换的采样范围.C21可有效的抑制高频信号的干扰;C26、C17为电源退偶、滤波;D4实现输入电压保护功能[6-8].输出电流检测电路,如图4所示.R2=0.025欧,为输出电流采样电阻,经过差动运放器AD620放大后送给A/D进行转换.调整R15可改变差动放大电路的增益G,取R15=2.4 k,经计算可得电路的增益为 G=21.5,当输出电流在0~4 A范围内变化时,AD0信号在0~2.15 V 范围内,满足C8051F410内部ADC转换器的输入范围.D3实现输出电压保护[9].由于RS485总线抗干扰强、通信距离远、接口电路简单,因此设计中选用RS485总线方式作为电源模块之间信息交换通道.通信接口电路如图5所示.在图6中,换能电感Li可以按照式(1)计算,如果输入电压Ui=24 V,输出电压Uo=8 V,最大输出功率Pomax=32 W,η=80%,d=50%计算,片上系统的时钟设置为98 MHz时,16位PWM的频率fPWM=1.5 KHz,将以上参数带入公式(1)中计算电感Li=800 uH.首先通过实验测试,标定出不同负载下输出8 V电压所对应的PWM值,建立RL-PWM的对应关系,以二维数组的形式进行存储.通过C8051F410片上系统的两路DAC模块及辅助电路分别实现实时采集开关电源模块的输出电压及输出电流,并以此来预测出当前的负载大小,根据负载大小,对建立的RL-PWM关系二维数组中数据进行二次插值处理,预测出当前负载下合适的PWM数值,送入C8051F410片上系统PCA模块,输出PWM信号,经功率模块转换为电压输出. 使用负载预测算法可有效的避免负载快速变化时输出电压波动现象.在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节,本系统采用增量式PID算法.由于微分作用具有放大干扰信号的特点,在PID控制中,对具有高频扰动的生产过程,微分作用响应过于灵敏,容易引起控制过程振荡.本设计串联一阶惯性环节,作为低通滤波器抑制高频噪声,组成不完全微分PID控制器.可避免控制过程的震荡.当程序开始运行时,系统进行初始化,程序检测当前状态是单机方式还是并联方式.如果当前状态为单机工作,程序通过稳压控制子程序稳定电压输出为8 V,并检测在当前负载状态下,电流值的大小,通过液晶进行显示.如果当前状态为并联方式,通过按键选择系统中的单个电源系统工作在主方式或者从方式.当工作在主方式时,通过稳压控制子程序稳定电压输出8V并检测电流值.当工作在从方式时,通过电流分配控制子程序接收主机工作状态分配自身的电流输出.当控制Io1:Io2=1:2时,对并联系统测得的数据如表 1 所示,其中 Ui、Ii、Uo、Io1、Io2、η 分别为输入电压、输入电流、并联系统输出电压、电源模块1输出电流、电源模块2输出电流以及系统工作效率.根据测试数据,可以得出输出电流与输出电压都存在着误差,分析误差原因并给出提高电源效率的措施如下:电流检测时选用的采样电阻存在温漂,随着电流的增大,会导致检测的输出电流存在一定的误差;导线的压降、输出电压检测电路中分压电阻的精度、温漂等都会引起输出电压误差.在功率变换电路中整流管使用MBR20100肖特基二极管,在4 A输出时,压降只有0.3 V,能够有效提高电源效率.另外,二极管D1可使Q1快速截止,这样设计能够大大提高开关管边沿速度,能够有效提高工作效率.本设计采用片上系统PWM直接合成DC-DC电源,外围电路简单、功能灵活、便于调试和维修、效率高,是一种创新和尝试.根据测试结果可得出结论:调整负载电阻从空载到4A输出时,供电系统的输出电压U0在8.01 V~8.05 V之间,两个模块输出电流之和不变并且可以按照控制的比例分配动态调整各模块自身的输出电流,电流的相对误差绝对值小于1%,系统的效率超过80%;可实现负载短路保护显示及自动报警的功能.系统采用最简单最经济的设计方案,满足通信等应用场合的供电设计要求.【相关文献】[1]王水平,付敏江.开关稳压电源[M].西安电子科技大学出版社,1999.[2]于遵谨.基于单片机的开关电源测试系统的设计[J].计算机测量与控制,2008(3):306-308. [3]练敏英,孙宁,苏瑞丰,等.基于锂离子电池组的微小卫星电源控制器设计[J].计算机测量与控制,2009(1):108-110.[4]霍隆超,焦振宏,张波.新型实验电源系统研究[J].计算机测量与控制,2009(2):368-370. [5]朱明,钱莉莉,林沪生.通信电源集成电路手册[M].北京.人民邮电出版社,1996.[6]徐磊,陈圣俭,王月芳,等.数模混合电路测试与故障诊断方法研究[J].计算机测量与控制,2010(8):2095-2097.[7]高欢,王玉松,刘连生.基于单片机和模数转换器的实用测试系统[J].计算机测量与控制,2011(1):26-29.[8]翟玉文,梁伟,艾学忠,等.电子设计与实践[M].北京:中国电力出版社,2005.[9]刘光斌,刘冬,姚志成.单片机系统实用抗干扰技术[M].北京:人民邮电出版社,2004.。
基于C8051F单片机的低频信号发生器的设计与应用

基于C8051F单片机的低频信号发生器的设计与应用【摘要】信号发生器设计以C8051F410单片机为核心,采用串口、定时器、D/A 转换、系统总线应用、输入输出接口等,通过在液晶屏下可视化操作界面下参数化调节信号的幅值、脉宽、频率、持续时间,可以得到任意波形。
数据通过串口传给单片机,单片机经过锁存器将数据保存在外部存储器中,通过控制电路启动D/A 转换产生正弦波、三角波。
【关键词】信号发生器;C8051F;DAC;液晶显示器一、引言8051 系列微处理器基于简化的嵌入式控制系统结构,被广泛应用。
C8051Fxxx 系列单片机是完全集成的混合信号系统级芯片,具有与8051 兼容的微控制器内核,与MCS-51 指令集完全兼容。
二、系统原理与组成系统以C8051F121 单片机为核心,通过串口通信将PC 机中的数据传送到单片机中,然后单片机将所接受的数据存放到128k 的外部存储器中。
系统的控制电路启动D/A 转换将外部存储器中的数据转化成模拟信号,生成所需要的波形。
波形的幅值、脉宽、频率、持续时间等参数均可以在VB 程序下进行调节,可以实现任意波形的信号发生功能。
三、前期的实验总结四低频信号发生器系统实现信号发生功能设计目标主要包括以下几个方面:4.1波形的变换应用数/模转换器(DAC),将一连串数组转换为模拟波形,得到方波、正弦波、三角波。
具体可参考实验三。
通过中断切换波形,在示波器上显示。
4.2频率的变换通过系统时钟分频以及采样频率来确定所需要得到的频率。
采用中断切换,可观察频率的改变。
4.3 液晶显示器单片机端软件采用C51 编写。
主要完成单片机的初始化、串口通信和DAC输出设置,单片机的初始化主要是单片机的串口中断打开和系统配置初始化。
通过液晶显示器,实现了与单片机系统的串行通信。
通过运行程序,进行中断操作,可在液晶显示器下显示波形、频率的不同值,结合示波器上的波形进行具体分析。
五软件设计系统软件设计部分包括单片机端和液晶显示器两个部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机C8051F410的精确信号模拟电路设计
引言
在对某型发射装置进行检测时.需要提供三组以11.50伏为基准的精确直流电压信号。
为配合测试流程,这三组信号需要在不同的时段取18个不同的直流电压值,幅度分布在9.33-12.13伏范围之内。
原有的测试仪采用22个精密电阻组成的分压器,配合波段开关选择来产生这18种不同的精确直流电压信号。
这种设计方法价格昂贵,并且不能实现自动化检测,需要通过手工拨动波段开关来实现测试步骤的转换。
为了实现对发射装置的自动测试。
采用微机技术设计了新型的检测仪。
新的检查仪以CPU模块为核心,通过程序控制D/A转换器来产生这三组精确直流电压信号,简化了设计,降低了成本,实现了测试步骤的自动切换。
但是在检测仪的使用过程中发现经常出现重测合格 (RTOK)现象,即检测仪测定某件装备不合格,但是更换仪器或重新开机后再对该装备进行测试时结果良好.这种状况严重影响装备单位的使用和维护。
后经分析.认为主要是检测仪中产生这三组精确信号的模拟电路存在工作点漂移问题,精度不高。
电压输出不稳定,从而导致测试状态不正确。
为了解决这个问题,本文基于C8051F410单片机。
采用PWM调制技术和负反馈测量技术设计了~种新的精确信号模拟电路,有效抑制了工作点漂移问题提高了模拟电路输出精度.解决了装备维护使用工作中存在的实际问题。
1 电路结构及原理
电路设计采用了闭环控制结构,如图l所示。
电路以C8051F410单片机为核心.通过程序设定需要输出电压的初始参数,控制单片机内部的可编程计数器阵列(PCA)产生适当占空比的PWM波形,经二级信号放大电路和推挽式输出电路放大后得到精确直流电压信号。
为了抑制-亡作点漂移并保证足够的输出精度,将输出信号经分压后引回至C8051F410单片机,利用单片机内部的数/模转换器测量该电压,并与初始设定参数相比较.通过程序调节PWM波形的占空比.从而得到具有高可靠性和较高精度的直流电压输出信号。
图1电路结构框图
本电路的基本思想就是利用单片机具有的PWM端口,在不改变PWM方渡周期的前提下.通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而得到所需要的电压信号。
本电路所要求的单片机必须具有ADC端口和PWM端口这
两个必需条件,ADC的位数要求尽鼍高,单片机的工作速度要求尽量快。
在调整输出电压前,单片机先快速读取输出电压的大小.然后把设定的输出电压与实际读取到的输出电压进行比较,若实际电压值偏小,则向增加输出电压的方向调整PWM的占空比:若实际电压偏大,则向减小输出电压的方向调整PWM的占空比。
经选型发现,C8051F410单片机处理器最高运行时钟可达 50MHz:具有6个PCM 模块.可实现PWM输出;具有1个12位ADC模块,满足电压测量精度要求。
2 硬件设计
整个电路的硬件设计主要包括C8051F410单片机的外围电路设计、放大电路设计以及电压反馈测量前置电路设计三个部分。
如图2所示。
图2硬件电路示意图
整个电路以C805IF410单片机为核心。
C805IF410单片机具有P0、P1、和P2数字/模拟可配置的I/0 口,所有的数字和模拟资源都可以通过这三组24个I/O 引脚使用。
输出一路精确模拟信号,需要设置—个引脚作为PWM输出口,一个作为ADC输入口。
在这里,我们设置PO.1为PWM输出口,P0.2为ADC输人口。
C8051F410单片机外围电路设计主要包括在线调试和下载电路、外部参考电压电路和滤波电路设计。
本文利用单片机提供的C2调试接口设计了在线调试和下载电路.如图2左上侧电路所示.通过计算机串口实现单片机的快速编程和系统在线调试。
图2下右侧为外部参考电压电路琏接到单片机的Vref引脚.为单片机ADC等模块提供2.048伏电压参考.可通过电位器进行调校。
放大电路包括二级电压放大电路和推挽式功率输出电路两个部分.如图2右侧电路所示。
二级信号放大电路和推挽式输出电路均为经典电路,在此不再赘述。
电压反馈测量前置电路如图2右侧上部所示,实质为分压电路。
由于设定
C8051F410单片机参考电压为2.048伏,而输出电压最大值为12伏左右,因此选择电阻R15=4.3K,R16=20K,电位器Pv1标称电阻为5K,并可通过调节电位器来改变电压倍数。
3 软件设计
本电路中运用c语言编程来实现PWM控制,利用C8051F410芯片的可编程计数器阵列组成PWM发生器。
C805IF410芯片的可编程计数器阵列由一个专用的16位计数器/定时器和3个16位捕捉/比较模块组成.捕捉/比较模块有六种工作方式:
边沿触发捕捉、软件定时器、高速输出、频率输出、8位PWM和16位PWM。
每个捕捉,比较模块的丁作方式都可以被独立配置。
对PCA的配置和控制是通过系统控制器的特殊功能寄存器来实现的.主要有以下几个:
1) PCAOCN可编程计数器阵列控制寄存器。
该寄存器包括溢出标志、运行控制标志以及捕捉/比较标志。
2) PCAOMD可编程计数器阵列方式寄存器。
该寄存器用于设置可编程计数器阵列的工作模式及时钟源。
3) PCAOCPMn可编程计数器阵列捕捉/比较寄存器。
该寄存器可进行捕捉/比较模块n的工作方式。
4) PCAOCPn可编程计数器阵列捕捉,比较寄存器(高低字节)。
该寄存器用于设置捕捉/比较模块n的高低字节。
本电路主要利用PCA模块2来产生PWM波形。
初始设置PCAOCN为0x40.置位PCA 模块2捕捉/比较标志.在发生一次捕捉时该位由硬件置位,该位置‘1’将导致CPU转向PCA中断服务程序。
初始设置PCAOMD为0x08.PCA计数器,定时器时钟选择系统时钟。
初始设置 PCAOCPM2为0xc2,使能16位脉冲宽度调制、比较器功能和PCA模块2的脉宽调制方式。
PCAOCP2的值将在程序流程中实时设定。
软件流程如图3所示。
图3软件流程图
具体实现方法与步骤如下:
1)初始设置:根据设定电压值生成初始PWM波形和频率参数。
2)电压测最:测量此时输出电压和设定值之间的偏差,用于调整PWM参数。
3)调整PWM参数:把设定的输出电压与实际读取到的输出电压进行比较.若实际电压值偏小,则向增加输出电压的方向调整PWM的占空比;若实际电压偏大,则向减小输出电压的方向调整PWM的占空比。
4)使能PWM输出。
另外.在软件PWM的调整过程中还要注意ADC的读数偏差和电源工作电压等引入的纹波干扰。
合理采用算术平均法等数字滤波技术。
4 结论
本电路针对装备维护存在的实际问题。
基于C8051F410单片机,利用PWM调制技术和负反馈测量技术克服了原电路因工作点不稳定的问题。
经实验验证,将本电路替换掉原来的模拟电路模块后,榆测设备重测合格的现象不再出现。
本电路从处理器到被控系统信号都是数字形式的,无需进行数模转换,抗噪性能强,工作稳定,具有较高的输出精度,对于同类电路的设计具有一定的借鉴意义。
本文作者创新点:本文基于C8051F410单片机,采用PWM调制技术和负反馈测量技术设计了一种新的精确信号模拟电路,能程控输出高精度模拟电压信号,无需进行数模转换,抗噪性能强,有效抑制了信号产生电路普遍存在的工作点漂移问题,具有一定的借鉴意义。