avr0~5V数字式直流电压表设计

发布者:skyshoucang最新更新时间:2015-07-24 来源: 51hei关键字:数字式  直流电压表 手机看文章 扫描二维码
随时随地手机看文章
一、实验目的

1. 掌握A/D转换程序的设计;

2. 掌握数据采集与显示的应用;

3.掌握数据处理的方法;

二、实验内容

1. 参照课本P383页“0~5V数字式直流电压表实验”程序,并编译、仿真,见下图所示。

 

注意:由于用proteus ISIS仿真时,数码管模型显示的闪烁现象和缓存现象,需要对其进行短延时和清屏,否则,显示将出现乱码现象。可在main()主函数里加入两条语句:

Delay(1);

PORTA=0;

(1)修改错误。

    比较程序第25行“ADMUX=0XC7”以及程序第71行“x=(5000*(long)i)/1023”所指参考电压不一致,导致输入模拟电压值与数码管显示电压值不一致,有哪几种修改方案。

    如把ADMUX=0XC7改为0X07。

(2)调节电位器(POT-LOG),观察数码管显示的电压值与虚拟直流电压表显示的电压是否一致。

2.将编译通过后的程序烧写到单片机里,调节AD电位器,观看开发板上数码管的显示情况。

  注意数码管的位选端排列顺序,实验板与课本电路图中数码管排序不同,故需要调整位选端。

3.如果想观察ADC转换后的数字结果,则需将数码管显示改为:

  PORTA=SEG7[adc_val%10];

  ………

  依次类推。

三、拓展实验

把数码管显示改为LCD1602液晶显示。(可参考P240“0~5V数字电压调整器”lcd部分程序内容)

注意:因使用PA7为输入端口,而PA口为原电路中LCD1602的数据端口,故把数据端口改为PC口,注意要把lcd1602液晶的驱动程序“lcd1602_8bit.c”中的语句“#define DataPort PORTA”改为“#define DataPort PORTC”。Proteus ISIS仿真图如下图。

 

 

四、附使用LCD1602显示ADC参考程序


 

 

#include  
#include "lcd1602_8bit.c"
uchar const title[]={"0-5v D_voltager"}; 
#define uchar unsigned char 
#define uint  unsigned int 
uint adc_val,dis_val; 
uchar i,cnt; 
/************************************************/
void port_init(void) 
{ 
 PORTA = 0x7F; 
 DDRA  = 0x7F;    
 PORTB = 0xFF;
 DDRB  = 0xFF; 
 PORTC = 0xFF; 
 DDRC  = 0xFF; 
 PORTD = 0xFF; 
 DDRD  = 0xFF; 
} 
/************************************************/
void adc_init(void)     { 
ADCSRA = 0xE3;    
ADMUX = 0x47;  } 
//***************************
void timer0_init(void)   { 
TCNT0 = 0x83; 

TCCR0 = 0x03;  
TIMSK = 0x01;   
} 
/*********************************************/
void init_devices(void)    
{ 
 port_init();    
 timer0_init();    
 adc_init();     
 SREG =0x80;        

} 
//***************************
#pragma interrupt_handler timer0_ovf_isr:10   
void timer0_ovf_isr(void) 
{ 
 TCNT0 = 0x83;    
 cnt++;         
 }
//=========================
uint ADC_Convert(void) 
{uint temp1,temp2;  
 adc_init();
 temp1=(uint)ADCL; 
 temp2=(uint)ADCH;
 temp2=(temp2<<8)+temp1; 
 return(temp2);    
}
/**************************/
uint conv(uint i)    
{
long x;     
uint y; 
x=(5000*(long)i)/1023; 
y=(uint)x;    
return y;  
} 
void delay(uint k)   
{
uint i,j;
 for(i=0;i100) 
{
adc_val=ADC_Convert();   
dis_val=conv(adc_val);   
cnt=0;                   
}
delay(10); 
 DisplayOneChar(5,1,(adc_val/1000)+0x30);
 DisplayOneChar(6,1,(adc_val/100)%10+0x30);
 DisplayOneChar(7,1,(adc_val/10)%10+0x30);
 DisplayOneChar(8,1,(adc_val%10)+0x30);


 DisplayOneChar(10,1,(dis_val/1000)+0x30);
 DisplayOneChar(12,1,(dis_val/100)%10+0x30);
 DisplayOneChar(13,1,(dis_val/10)%10+0x30);
 DisplayOneChar(14,1,(dis_val%10)+0x30); 
   }
}
关键字:数字式  直流电压表 引用地址:avr0~5V数字式直流电压表设计

上一篇:avr EEPROM 数据丢失问题 原因与解决方案
下一篇:AVR单片机集成CAN总线控制器分析与应用

推荐阅读最新更新时间:2024-03-16 14:26

AV3915众多检波器如何选择?看完这个,让您此后不再头痛。
AV3915电磁兼容测试接收机,不仅能够满足电磁兼容测试分析、认证的需要,而且它还是一台高性能的频谱分析仪,它能够提供信号分析测试的各种功能,满足EMC信号分析用途。今天咱们先说说接收机中那么多的检波器吧,太多了,眼都看花了,真不知道什么时候测试什么的信号选择什么样的检波器,对应一堆为什么。 首先用AV3915的EMI接收机模式,对设备进行测试,发现超限信号,然后可以转到频谱分析模式进行更加详细的测量分析、解调。遇到了脉冲信号、连续波信号或者调幅调频信号、甚至类噪声信号,测试分析时候就需要选择相应的检波器了。打开AV3915EMI测试接收机,一排检波器赫然出现,峰值、准峰值、平均值、RMS有效值、最小峰值,还有以前接收机中没见
[测试测量]
<font color='red'>AV</font>3915众多检波器如何选择?看完这个,让您此后不再头痛。
一种基于FPGA的A超数字式探伤系统的研究
  超声波是一种机械波,机械振动与波动是超声波探伤的物理基础。超声波在媒介中传播,有波的叠加、反射、折射、透射、衍射、散射及吸收衰减等特性,一般遵循几何光学的原则。A超探伤仪采用幅度调制(Amplitude Modulation)显示,在显示屏幕上以横坐代表被测物的深度,纵坐标代表回放脉冲的幅度。   超声波探伤的方法很多,按其原理分类可分为脉冲反射法、穿透法和共振法。本系统采用脉冲反射法。脉冲反射法是一种利用超声波探头发射脉冲到被检测试块内,根据反射波的情况来检测试件缺陷的方法。脉冲反射法又包括缺陷回波法、底波高度法和多次底波法等,这里只介绍缺陷回波法。图1是缺陷回波法示意图。当试件完好时,超声波可顺利传播到达底面,探伤图形中
[嵌入式]
一种基于FPGA的A超<font color='red'>数字式</font>探伤系统的研究
通用数字式频率合成集成电路TSA5526的原理及应用
摘要:TSA5526是Philips公司推出的通用数字频率合成器集成电路,该芯片具有外围电路简单、与单片机接口方便的特点,可解决频率合成器设计当中的难题。文中介绍了TSA5526的主要特点、引脚功能、工作原理及应用电路。 关键词:TSA5526;频率合成器;分频器;电荷泵 1 概述 频率合成技术是近代无线电技术发展中的一门新技术,也是现代通信系统中的关键技术之一,它通常利用一块晶体或少量晶体组成标准频率源,然后通过合成方法产生各种所需的频率信号。这些频率信号与标准频率源具有相同的频率稳定度和准确度。使用该技术构成的电路在通信设备中称为频率合成器。频率合成器的种类很多,目前普遍采用的是数字式频率合成器。数字式频率合成器由晶体
[网络通信]
Allegro DVT推出行业首个用于4K/UHD视频编码的实时AV1视频编码器硬件IP
法国格勒诺布尔2019年4月23日 -- Allegro DVT 为视频半导体 IP 解决方案的领先提供商,今天宣布了旗下 AL-E210 多格式视频编码器硬件 IP 的上市,其增加了对开放媒体联盟 (AOMedia) 开发的新 AV1 视频格式的支持。 AOMedia 由谷歌、Netflix、英特尔、微软等行业领军企业于 2015 年成立,旨在为 H.265/HEVC 和其他标准提供开源的、免授权费的替代方案,同时提高压缩率并以更低的比特率传输相同的视频质量。Allegro DVT 早期就加入了 AOMedia,是 AV1 视频格式开发的活跃成员。 AL-E210 为首个以 AV1 格式实现实时并基于文件进行编码的视频编码器
[安防电子]
Allegro DVT推出行业首个用于4K/UHD视频编码的实时<font color='red'>AV</font>1视频编码器硬件IP
基于SIMULINK工具的数字式光伏阵列模拟器的设计研究
全球性的 能源 危机迫使越来越多的国家开始重视新 能源 的研究,光伏发电作为其中很重要的一种也得到了广泛研究。但是,由于光伏 电池 造价高,导致研究成本很高,不利于其初期的研究。因此,很有必要设计一种成本较低,能够代替实际光伏 电池 阵列来进行各种光伏实验的太阳能电池 模拟 器。 本文所设计的太阳能电池模拟器以BUCK 电路 为基础,采用ARM 控制 ,并加入了电流PI 控制 方式来改善系统动态性能和稳态精度。此外,本文还采用四折线法来对光伏电池阵列的特性曲线进行分段拟合,并进行了仿真验证。 1系统设计目标 1.1太阳能电池板伏安特性曲线 图1所示是太阳能电池板输出I-U特性曲线随日照、温度的变化情况。太阳能电池板模拟器需
[模拟电子]
一种用于SDH光纤传输系统设备时钟的数字式锁相环
    摘要: 介绍一种用于SDH光纤传输系统设备时钟的数字式锁相环的构成及设计原理,并给出了有关的测试结果,测试结果表明该锁相环具有很好的跟踪特性。     关键词: 同步传输体制(SDH)  SDH设备时钟(SEC)  数字式锁相环(DPLL)     SDH设备时钟(SEC)是SDH光纤传输系统的重要组成部分,它为SDH设备提供全网统一的定时信息,以便使整个数字网各个节点的全部数据得以正确的传输和交换。     SEC的核心是锁相环,它用来跟踪网同步定时基准,并对定时基准在传输过程中产生的抖动和漂移等损伤进行过滤,而且当所有外部定时基准信号都不可用时,可以通过它内部高稳定度的压控振
[网络通信]
基于高性能全数字式正弦波逆变电源的设计方案
本文提出一种高性能全数字式正弦波逆变电源的设计方案。该方案分为前后两级,前级采用推挽升压电路将输入的直流电升压到350V左右的母线电压,后级采用全桥逆变电路,逆变桥输出经滤波器滤波后,用隔离变压器进行电压采样,电流互感器进行电流采样,以形成反馈环节,增加电源输出的稳定性。升压级PWM驱动及逆变级SPWM驱动均由STM32单片机产生,减小了硬件开支。基于上述方案试制的400W样机,具有输出短路保护、过流保护及输入过压保护、欠压保护功能,50Hz输出时频率偏差小于0.05Hz,满载(400W)效率高于87%,电压精度为220V 1%,THD小于1.5%.   逆变电源应用广泛,特别是精密仪器对逆变电源的性能要求更高。高性能逆变电源不仅要
[单片机]
基于高性能全<font color='red'>数字式</font>正弦波逆变电源的设计方案
基于BP神经网络的数字式涡流传感器特性曲线拟合的实现
    数字式涡流传感器工作在正常条件下,保持某些参数值恒定不变的前提下,线圈等效电感L就是位移d的单值函数。因此,传感器输出信号的频率f与微小位移信号d之间就会呈现正比例关系。若被测试件位移产生变化时,数字式涡流传感器频率f变化就直接反映被测试件位移d 的情况。     但是在实际中利用涡流传感器进行位移测量时,输入和输出特性曲线存在较为严重的非线性关系,影响到传感器的测量精度,为了提高传感器的测量精度,实际中经常通过计算机利用最小二乘法、查表法、线性插值等方法解决非线性问题。为准确反映数字式涡流传感器d-f间的非线性关系,实现精确测量,需要拟合出一条曲线尽可能逼近数字式涡流传感器实际的输入、输出特性。     笔者将BP(Bac
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved