ADC模数转换实验

一﹑实验目的
1))了解AD转换器的基本工作原理和基本结构。

2)掌握大规模集成AD转换器的功能及其典型应用。

二﹑实验原理
XPT2046是一款4线制电阻式触摸屏控制器,内含12位分辨率125KHz转换速率逐步逼近型A/D转换器。XPT2046支持从1.5V到5.25V的低电压I/O接
口。XPT2046 能通过执行两次A/D转换查出被按的屏幕位置,除此之外,还可以测量加在触摸屏上的压力·内部自带2.5V参考电压,可以作为辅助输入﹑温度测量和电池监测之用,电池监测的电压范围可以从 0V到 6V 。XPT2046片内集成有一个温度传感器。
三﹑仪器设备
微机系统1套
普中A6单片机开发系统1套四﹑实验内容
分别对机械部件﹑执行元件﹑控制器微机﹑传感器﹑动力等几大部分加以阐述。本实验使用到硬件资源如下:
(1)动态数码管(2)ADC模块

从上图中可以看出,该电路是独立的,XPT2046芯片的控制管脚接至J33端子上,XPT2046芯片的ADC输入转换通道分别接入了AD1电位器·NTC1热敏传感
器﹑GR1光敏传感器,还有一个外接通道AIN3接在DAC模块的J52端子上供外部模拟信号检测。
由于该模块电路是独立的,所以XPT2046芯片的控制管脚接J33端子可以使用任意单片机管脚连接,为了与我们例程程序配套,这里使用单片机的 P3.4管脚与芯片的DIN管脚连接,使用单片机的P3.5管脚与芯片的CS 管脚连接,使用单片机的 P3.6管脚与芯片的CLK管脚连接,使用单片机的P3.7管脚与芯片的DOUT管脚连接。
开发板上的动态数码管模块电路如下图所示:

 

 

从上图中可以看出,该电路是独立的,动态数码管的控制管脚并未直接连接到51单片机的IO上,而是段选端连接到J6端子上,位选端连接到J1端子上。段选端通过
74HC245芯片驱动这两个共阴数码管的a-dp段。
如果要想51单片机控制动态数码管,就必须将单片机管脚通过导线连接到J6端子和J1端子上·因此需使用一根8Pin排线将单片机的管脚与J6端子顺序连接,使用一根8Pin排线将 38译码器的输出 J10端子与J1端子顺序连接,使用3根杜邦线将单片机的管脚与J9端子连接·由于动态数码管模块电路是独立的,所以使用任意单片机管脚都可以,为了与我们例程程序配套,这里使用PO口控制数码管段选,使用P2.2·P2.3·P2.4管脚控制74HC138译码器输入从而控制数码管位选。
注意:要保证PO口的 PO0与A段到PO口的 PO7与DP段依次顺序连接,单片机的P22·P23·P24口与38译码器的A·B﹑C连接,38译码器的输出 J10端子的Y0-Y7与位选端子J1的 W1-W8连接,不能交叉,否则使用例程程序就会出错,默认我们已经使用8个黄色短接片将 38译码器的输出 J10与数码管位选」J1短接好。
完成实验内容:
调节电位器AD1,将其电压值的变化通过AD转换器转换成数字量,并将其分别按转换的数字量和实际的的电压值进行显示。
main函数:

#include "pwm.h"


u8 gtim_h=0;
u8 gtim_l=0;
u8 gduty=0;
u8 gtim_scale=0;



void pwm_init(u8 tim_h,u8 tim_l,u16 tim_scale,u8 duty)
{
	gtim_h=tim_h;
	gtim_l=tim_l;
	gduty=duty;
	gtim_scale=tim_scale;

	TMOD|=0X01;	
	TH0 = gtim_h;	
	TL0 = gtim_l;		
	ET0=1;
	EA=1;
	TR0=1;
}


void pwm_set_duty_cycle(u8 duty)
{
	gduty=duty;	
}

void pwm(void) interrupt 1	
{
	static u16 time=0;

	TH0 = gtim_h;	
	TL0 = gtim_l;
	
	time++;
	if(time>=gtim_scale)
		time=0;
	if(time<=gduty)//Õ¼¿Õ±È	
		PWM=1;
	else
		PWM=0;		
}
#include "public.h"
#include "pwm.h"

void main()

	u8 dir=0;//
	u8 duty=0;

	pwm_init(0XFF,0XF6,100,0);

	while(1)
	{
		if(dir==0)
			duty++;
			if(duty==70)dir=1;
								
		}
		else
		{
			duty--;
			if(duty==0)
		pwm_set_duty_cycle(duty);
		delay_ms(1);			
	}
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值