版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、工程实训实验报告单位(二级学院): 自 动 化 学 院 学 生 姓 名: 张宝川 专 业: 电气工程及其自动化 班 级: 0831302 学 号: 2013212629 实验一、数据采集_A/D转换1、 实验目的(1)掌握A/D转换与单片机接口的方法;(2)了解A/D芯片0809转换性能及编程方法;(3)通过实验了解单片机如何进行数据采集。(4)ADC0809引脚结构:ADC0809各脚功能如下: D7 D0:8位数字量输出引脚。IN0 IN7:8位模拟量输入引脚。VCC:+5V工作电压。GND:地。REF(+):参考电压正端。REF(-):参考电压负端。START:A/D转换启动信号输入端。
2、ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换). EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。OE:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端(一般为500KHz)。A、B、C:地址输入线。二、实验任务1.硬件电路设计: 设计基于单片机控制的AD转换应用电路。AD转换芯片采用ADC0809。ADC0809的通道IN3输入05V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809的VREF接5V电压。2. 软件设计: 程序设计内容(1) 进行A/D转换时,采用查询EOC的标志信号来检测A
3、/D转换是否完毕,经过数据处理之后在数码管上显示。(2) 进行A/D转换之前,要启动转换的方法:ABC110选择第三通道。ST0,ST1,ST0产生启动转换的正脉冲信号图1.2 ADC0809时序图三、实验代码#include<reg52.h>#include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit OE=P10;sbit ST=P12;sbit EOC=P11;sbit CLK=P13;sbit C1=P16;sbit C2=P15;sbit C3=P14;unsigned ch
4、ar table=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00;unsigned date;void delay(unsigned int z) unsigned int i,j; for(i=z;i>0;i-) for(j=110;j>0;j-) ;void display(unsigned int x) P2=0xfe; P0=tablex/100; delay(10); P0=0x00;P2=0xfd; P0=tablex/10%10; delay(10); P0=0x00;P2=0xfb; P0=tablex
5、%10; delay(10); P0=0x00;void main() TMOD=0x01; TH0=(65536-900)/256; TL0=(65536-900)%256; TR0=1; ET0=1; EA=1; C1=0; C2=1; C3=1; while(1) ST=0; ST=1; ST=0; delay(2); while(!EOC) display(date); OE=1; date=P3; OE=0; void timer0() interrupt 1 TH0=(65536-900)/256; TL0=(65536-900)%256; CLK=CLK;四、实验结果实验二、D/
6、A转换及数字式波形发生器一、实验目的1、熟悉DAC0832 内部结构及引脚。2、掌握D/A转换与接口电路的方法。3、通过实验了解单片机如何进行波形输出。二、 D/A转换器的主要性能参数(1)分辨率: 该参数是描述D/A转换对输入变量变化的敏感程度。具体指D/A转换器能分辨的最小电压值。 分辨率的表示有两种: 最小输出电压VLSB(输入数字只有最低位为1)与最大输出电压输入数字全为1)的比值来表示 用输入端待进行转换的二进制数的位数来表示, 位数越多,分辨率越高。 分辨率的表示式为: 分辨率=Vref/2位数 或 分辨率=(V+ref+V-ref)/2位数 若Vref=5V,8位的D/A转换器分
7、辨率为5/256=20mV。(2) 转换时间:指数字量输入到模拟量输出达到稳定所需的时间。一般电流型D/A转换器在几秒到几百微秒之内;而电压型D/A转换器转换较慢,取决于运算放大器的响应时间。(3) 转换精度:指D/A转换器实际输出与理论值之间的误差,一般采用数字量的最低有效位作为衡量单位。如:±1/2LSB表示,当D/A分辨率为20mV,则精度为±10mV.(4)线性度:当数字量变化时,D/A转换器输出的模拟量按比例变化的程度。线性误差 模拟量输出值与理想输出值之间偏离的最大值。三、实验内容1. AT89C51控制DAC0832实现数/模转换(D/A)转换。从单片机输出数
8、据到DAC0832,经其转换成模拟量输出。2. 设计一个由单片机控制的信号发生器。运用单片机系统控制产生多种波形,这些波形包括方波、三角波、锯齿波、正弦波等。信号发生器所产生的波形的频率、幅度均可调节。并可通过软件任意改变信号的波形。 基本要求: 产生三种以上波形。如正弦波、三角波、矩形波等。 最大频率不低于 500Hz。并且频率可按一定规律调节。幅度可调,峰峰值在0 5V之间变化。 扩展要求:产生更多的频率和波形。四、实验代码#include<reg51.h>sbit key1=P10;sbit
9、 key2=P13;sbit key3=P16;#define uchar unsigned char#define uint unsigned intvoid sanjiaobo();void fangbo();void juchibo();void main()P1=0xff;while(1) if(key1=0) sanjiaobo(); if(key2=0) fangbo(); if(key3=0) juchibo();void sanjiaobo()unsigned int i;char flag=0;P2=0;while(1)if(flag=0)for(i=0;i<10;i+
10、);P2+=1;if(P2>=255)flag=1;if(flag=1)for(i=0;i<10;i+);P2-=1;if(P2=0)flag=0;void fangbo()unsigned int i ;while(1)for(i=0;i<1000;i+);P2=255;for(i=0;i<1000;i+);P2=0;void juchibo()unsigned int i;char flag=0;P2=0;while(1)if(flag=0)for(i=0;i<10;i+);P2+=1;if(P2>=255)flag=1;if(flag=1)P2=0;i
11、f(P2=0)flag=0;五、实验结果实验三、基于旋转编码器的转速测量一、实验目的1. 了解编码器工作原理2. 掌握编码器速度检测的方法;二、编码器工作原理绝对脉冲编码器:APC增量脉冲编码器:SPC两者一般都应用于速度控制或位置控制系统的检测元件 旋转编码器分为单路输出和双路输出两种: 单路输出是指旋转编码器的输出是一组脉冲, 双路输出的旋转编码器输出两组相位差90度的脉冲,通过这两组脉冲不仅可以测量转速,还可以判断旋转的方向。编码器电路外接74HC74的作用74HC74在旋转编码器旋转时输出两路正交脉冲A、B,为了判断旋转编码器旋转方向,用74HC74做鉴相器。A作为时钟脉冲接入74HC
12、74,B作为D接入74HC74,理论上74HC74应该在A的上升沿判断B状态,如果B为低电平,则输出Q为低电平,说明旋转编码器正转;如果B为高电平,则输出Q为高电平,说明旋转编码器反转。因为A、B是正交脉冲,只要旋转编码器旋转方向不变,74HC74的输出Q就应该维持高电平或低电平状态。三、实验内容1. 根据旋转编码器的工作原理,设计基于旋转编码器的速度检测原理图;2. 利于实验室提供的单片机最小系统,设计位置检测、速度检测系统的应用电路;画出系统框图;3. 编写相关程序, 实现对位置及转速的测量,并显示;四、实验代码#include<reg52.h> #define uchar u
13、nsigned char #define uint unsigned int sbit IN1 = P10;sbit IN2 = P11;sbit ENA = P12;sfr ldata=0x80;sbit dula=P26;sbit wela=P27;sbit q1=P34;bitbit_0;uint count_N,count_N1,count_N2;uint count_n8; /计数值uchar T_N=20;uchar T_N1=3;void msplay(uchar,uchar);void INT_0_Init();void Timer0_Init();void Motor_Ini
14、t();uchar code x1=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f,0x40,0x7c,0x39,0x5e,0x3e,0x48;uchar code x2=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;uchar codex3=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;uchar codex4=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;vo
15、id delay(uint z)/延时函数uint x;for(x=z;x>0;x-);void Motor_Init()ENA = 1;IN1 = 1;IN2 = 0;void INT_0_Init()IT0=1;EX0=1;void Timer0_Init()TMOD=0X11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;void main()uchar k5,k4,k3,k2,k1,k0,k6;INT_0_Init();Timer0_Init();while(1)k0=0x0e;k1=0x0f;if(!q
16、1) k6=0;elsek6=10;if(!bit_0)k2=count_N%10000/1000;k3=count_N%1000/100;k4=count_N%100/10;k5=count_N%10;bit_0=1;msplay(k0,0);msplay(k1,1);msplay(k6,3);msplay(k2,4);msplay(k3,5);msplay(k4,6);msplay(k5,7);void int_0() interrupt 0 count_n8+;void timer0() interrupt 1TR0=0;TH0=(65536-45000)/256;TL0=(65536-
17、45000)%256;T_N-;if(0=T_N)count_N2=count_n8;count_N=27.952*count_N2;bit_0=0;count_n8=0;T_N=20;TR0=1;void msplay(uchar y1,uchar y2) ldata = x1y1; if(y2=6) ldata=ldata|0x80; dula=1; dula=0; delay(1); ldata = x3y2; wela=1; wela=0; delay(1); ldata = 0x00; dula=1; dula=0; delay(1); ldata = 0x0ff; wela=1;
18、wela=0; delay(1);五、实验结果实验四、基于51系列单片机控制的直流电机PWM调速一、实验目的1掌握脉宽调制 (PWM) 的方法。2用程序实现脉宽调制,并对直流电机进行调速控制。二、脉宽调制(PWM)基本原理控制方式就是对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。利用51单片机产生PWM脉冲思路:需要用到内部定时器来实现,可用两个定时
19、器实现,也可以用一个定时器实现。用两个定时器的方法是用定时器T0来控制频率,定时器T1来控制占空比。编程思路是这样的:T0定时器中断让一个I0口输出高电平,在这个定时器T0的中断当中起动定时器T1,而这个T1是让IO口输出低电平,这样改变定时器T0的初值就可以改变频率,改变定时器T1的初值就可以改变占空比。 L298N 为SGS-THOMSON Microelectronics 所出产的双全桥步进电机专用驱动芯片( Dual Full-Bridge Driver ) ,内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,可驱动46V、2A以下
20、的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号。三、实验内容:1. 利用实验室提供的单片机应用系统及直流电机驱动电路板,编制控制程序,实现直流电机PWM调速控制。四、实验代码#include <reg51.h> #define uchar unsigned char #define uint unsigned int uchar code LEDData=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;sbit IN1 = P10;sbit IN2 = P11;sbit ENA =
21、P12;sbit Key1=P35;sbit Key2=P36;sbit Key3=P37;uint Velocity1=50;uint count=50;uint time=100;uint count1=0;uint time1=0;uint velocity=0;uint m=0;void delayms(uint ms)uchar i;while(ms-)for(i=0;i<120;i+);void display(uint result)P2=0xf7;P0=LEDDataresult%100%10;delayms(2);P0=0x00;P2=0xff;P2=0xfb;P0=LEDDataresult%100/10;delayms(2);P0=0x00;P2=0xff;P2=0xfd;P0=LEDDataresult/100;delayms(2);P0=0x00;P2=0xff;void Init()ENA = 1;IN1 = 0;IN2 = 1;IT0=1;EX0=1;TMOD = 0x11; TL0 = (65536-5)/256; TH0 = (65536-5)%256; TR0 = 1; ET
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论