版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子科技大学中山学院学生实验报告 院别:电子信息学院 课程名称:微处理器实验 班级 无线技术14 姓名 学号 实验名称 A/D与D/A转换实验 实验时间 2016年11月25日 成绩 教师签名 批改时间 报告内容 一、实验目的和任务 1熟悉A/D转换和D/A转换的基本原理。 2、掌握单片机内部 A/D转换器的特性及程序控制方法。 3、掌握利用PWM技术实现D/A转换的原理及程序控制方法。 二、实验原理简介 A/D转换器(ADC的作用是实现模拟量到数字量的线性转换,常用A/D转换器类型包括双积分型 和逐次逼近型。双积分型 A/D转换器的优点是转换精度高,抗干扰性能好,缺点是转换速度慢。逐次 逼近
2、型A/D转换器速度较快,精度略低于双积分型。 STC12C5A60S单片机内部自带 8路10位逐次逼近型 A/D转换器,可在程序控制下,将 ADCOADC(与 P1 口引脚复用)中任何一路模拟输入转换为等比例的10位数字量。为便于程序控制, STC12C5A60S 新增多个与A/D转换器相关的特殊功能寄存器( SFR,常用寄存器的功能及各位含义如下: P1ASF模拟功能控制寄存器(字节地址为 9DH P17ASF 卩 1 BASF P15ASF PM ASF P12ASF PlASF PlOASF P1ASF P1ASF 的Di位设为0时,P1.i位用作普通I/O 口; P1ASF 的Di位设
3、为1时,P1.i位用作ADCi模拟输入引脚。 ADC_CONTRDC控制寄存器(字节地址为 BCH )C WEI? SPEED! SPEEDO ADC FLAG ADC START CHS2 IS1 ITSU ADC COSTR ADCPOWER于A/D转换器电源控制,设为 0时,关闭A/D转换器电源,设为1时,开启A/D 转换器电源。 开启A/D转换器电源; SPEED1、SPEED(用于A/D转换速度设置,设为00/01/10/11 时,A/D转换分别需要 540/360/180/90 个时钟周期; ADC_FLAG为转换结束标志位,A/D转换完成后 ADC_FLA(自动置1 (需通过程序
4、清 0); ADC_START用于A/D转换启动控制,设为 1时,开始A/D转换(转换结束后 ADC_STAR自动清0); CHS2、CHS1 CHS0用于模拟输入通道选择,其8种组合分别对应选择 ADC0ADC通道。 ADC_RE和ADC_RESLA/D转换结果寄存器(字节地址分别为BDH和 BEH ADC RES D9 )8 1 06 IM ()F riir ADC RESL r)i IX) 注:STC12C5A60S新增AUXR1寄存器中 ADRJ位由复位时默认的 0改为1,贝U ADC RE和 ADC RES 将改为分别存放转换结果的咼 2位和低8位。 此外,STC12C5A60S2的
5、 A/D转换器也支持中断控制。 STC12C5A60S2中A/D转换器的控制流程与传统ADC0809芯片类似:1)设置P1ASF寄存器,指定 P1 口某口线用作 ADC输入引脚;2)设置ADC CONT寄存器,开启A/D转换器电源,选择转换速度及通 道,并启动转换;3)查询ADC CONT寄存器的ADC FLAG位,判断转换是否结束;4) ADC FLAG位变为 1时,转换结束,读取 ADC RES ADC RES寄存器,组成10位A/D转换结果。 图3.8.1为ZSC-1实验箱的STC12C5A60S2勺A/D转换实验电路。电位器 W101产生05V模拟电压, 通过ADC1引脚输入单片机进行
6、 A/D转换,转换结果可通过发光管 L101L108以二进制或其它形式显示, 也可用于控制蜂鸣器 BZ1的发声频率。 SfcUl 黄Tt L:CAMIS2 Vcc Vcc tM.l/.VXL 跖“ Pill Fii 2 Pl) t 刚J Pl.0 Pfl.7 -n- 丄FQ -= -c=l- 图3.8.1 A/D 转换实验电路 D/A 转换器(DAC的作用是实现数字量到模拟量的线性转换。为实现D/A转换,除了在单片机外 部配置专用D/A转换器芯片外,还可使用成本较低的PWM加低通滤波的方法,其依据的主要原理是: PWM!号的平均电压正比于信号的占空比。本实验即使用该方法实现D/A转换,电路如图
7、3.8.2所示。 单片机在程序控制下,以一定的时间间隔,通过P1.4 口线动态输出不同占空比的PWM信号,经电阻、 电容组成的低通滤波器滤波后,即可在排针J101的2脚得到各时间点幅值正比于对应占空比的连续模 拟信号。 对于普通80C51单片机,一般是通过程序控制通用定时/计数器并配合中断处理, 来产生所需的PWM 信号。STC12C5A60S2除具有普通80C51的两个通用定时/计数器外,还增加了具有多种工作模式的两路 可编程计数器阵列(PCA)模块,能够非常方便地产生两路频率相同而占空比独立的PWM!号,其中, PWM通过P1.3 (也可切换到 P4.2 )输出,PWM通过P1.4 (也可
8、切换到 P4.3)输出。 PJ 4 图3.8.2 D/A 转换实验电路 STC12C5A60S2新增多个与 PCA相关的SFR其中,本实验涉及的 PWM输出相关的 SFR包括: CCON PCA控制寄存器(字节地址为 D8H CCON Cl-CR-CCI-1 CCI-O 其中,CR为PCA运行控制位,设为 0时,关闭PCA,设为1时,启动PCA。 CMODPCA工作模式寄存器(字节地址为 D9H cini. CPS2 CPSl 匸PSO VCl? 其中,CPS2、CPS1、CPS0、用于PCA时钟源选择,例如,100组合时以系统时钟(其频率为晶振频 率)为PCA时钟,000组合时以系统时钟的
9、12分频为PCA时钟。 CCAPM1PCA模块1的模式寄存器(字节地址为 DBH ccawi ECOM CAPP CAPNl MATI TOGI rmECCFl 其中,为使PCA模块1工作在8位PWM无中断模式,应将 ECOM1和PWM1两位设为1,其它 位设为0。 此外,CCAP1H(字节地址为 FBH和CCAP1L(字节地址为 EBH分别是PCA模块1捕捉/比较寄存 器的高8位和低8位。在8位PWM模式下,当PCA计数器低8位(CL)的值小于CCAP1L时,PWM1I脚 输出为低,大于或等于 CCAP1LM, PWM引脚输出为高;另外,当 CL的值由FFH加到00H (溢出)时, CCAP
10、1H勺当前值自动加载到 CCAP1冲,因此,程序只需对CCAP1H进行设定,即可在PWM引脚稳定输 出相应占空比的PWMt号。 三、实验设备 1、PC机一台(已安装 Keil uVision 、STC_ISP等软件); 2、ZSC-1单片机实验箱一台。 四、实验内容和步骤 实验步骤: 在Keil中编写源程序。 在Keil中创建工程,加入源程序文件, 设置选项,进行汇编/编译、连接、转换处理,生成HEX 格式的单片机程序文件。 用串行电缆连接实验箱和PC机各自的串行通信口,并运行PC机上的STC_ISP程序,进行单片 机程序下载(注意 MCU1要先断电再上电)。 运行单片机程序,调节W101电位
11、器,观察发光管显示的变化。 实验内容: (一) A/D (Mcu1 内部 ADC) 1、设计程序,以0.2秒为间隔,采集 ADC ( P1.1)脚的输入电压,将数字量显示在LED上,并通过 串口发送出去。 程序代码如下: #in clude #i nclude typedef un sig ned char uin t8; sfr P1ASF=0 x9D; sfr ADC_CONTR=0 xBC; sfr ADC_RES=0 xBD; uin t8 ADC(ui nt8 ch); void Uartl ni t(); void UartSe ndByte(ui nt8 x); void Del
12、ay(i nt ms); void mai n() uin t8 N; Uartl nit(); while(1) N=ADC; P0=N; UartSe ndByte(N); Delay(200); uin t8 ADC(ui nt8 ch) P1ASF=1ch; ADC_CONTR=Ox88+ch; _n op_(); while(ADC_CONTR ADC_CONTR return ADC_RES; void UartI nit() TMOD=0 x20; TH1=TL 仁OxFD; TR1=1; SCON=Ox5O; void UartSe ndByte(ui nt8 x) SBUF=
13、x; while(!TI); TI=0; void Delay(i nt ms) int i; while(ms-) for(i=700;i;i-); 仿真结果如下: 程序文件| EEFM 文件 申LI助于 工程文件| 接收/键盘发送缓冲区 IF 4E 4E 4E 4E 4E 4E 47 38 35 巧 丁 2(7 冥 2-? 29 29 2? 29 23 00 00 00 00 00 00 00 00 22 43 4B 4B 4B 4A 4C 4A 4B 4B 4B 4A FF FF FF FF FF FF FF FF FF FF ?F FF FF FF FF FF FF FF FF FF
14、FF FF FF FF 35294D4BFFFF 35 3S 35 36 35 3 sfr P1ASF=0 x9D; sfr ADC_CONTR=OxBC; sfr ADC_RES=0 xBD; uint8 ADC(uint8 ch); void UartI ni t(); void UartSe ndByte(ui nt8 x); void Delay(i nt ms); void mai n() uin t8 N; UartI nit(); while(1) N=ADC(1); P0=N; P0=(1N/32); Delay(200); N+=1000; while(-N); P1A1=0
15、 x01; uin t8 ADC(ui nt8 ch) P1ASF=1ch; ADC CONTR=0 x88+ch; _no p_(); while(ADC_CONTR ADC_CONTR return ADC_RES; void UartI nit() TMOD=0 x20; TH1=TL 仁OxFD; TR1=1; SCON=Ox5O; void UartSe ndByte(ui nt8 x) SBUF=x; while(!TI); TI=0; void Delay(i nt ms) int i; while(ms-) for(i=700;i;i-); (二) D/A (Mcu1 内部 P
16、CA 输出 PWM+ 外部 RCLPF) 1、设计程序,利用STC12C5A60S2 单片机内部PCA模块产生PWM信号,经低通滤波后输出锯齿 波。 程序代码如下: #in clude typedef un sig ned char uin t8; typedef un sig ned int uin t16; sfr CMOD=0 xD9; sfr CCAP M仁 0 xDB; sbit CR=0 xDE; sfr CCAP1H=0 xFB; sbit bo=P1A1; void Delay(uint16 ms); void Pwml nit() CMOD=0 x08; CCAP M仁 0
17、x42; CR=1; void PwmOut(ui nt8 Duty) CCAP1H=255-Duty; void mai n() int i,j; PwmI ni t(); /*while PwmOut(30); Delay(800); PwmOut(120); Delay(800); */ while(1) for(i=1;i254;i+) PwmOut(i); j=100; while(-j); void Delay(uint16 ms) int i,j; for(i=0;ims;i+) for(j=0;j100;j+); 仿真波形如右图所示: 2、设计程序,利用 STC12C5A60S
18、2 单片机内部 PCA模块产生PWM信号,经低通滤波后输出正弦 波。 程序代码如下: #in elude typedef un sig ned char uin t8; typedef un sig ned int uin t16; sfr CMOD=OxD9; sfr CCAP M仁 0 xDB; sbit CR=0 xDE; sfr CCAP1H=0 xFB; sbit bo=P1A1; uin t8 code Sin Table=127,152,176,199,218,234,245,252, 254,251,242,230,213,192,170,145, 120, 95, 71,49, 31, 16,6,1, 0,5, 15, 29, 45, 68, 92,116; void Delay(uint16 ms); void Pwml nit() CMOD=0 x08; CCAP M仁 0 x42; CR=1; void PwmOut(ui nt8 Duty) CCAP1H=255-Duty; void mai n() int i,j; Pwml ni t(); /*while(1) PwmOut(30); Delay(800); PwmOut(120); Delay(800); */ whi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册安全工程师考试化工(中级)安全生产专业实务试题与参考答案
- 2025院感水平测试试题及答案
- 2026 年初级会计实务考点精讲题库及答案
- 环保型液浸式变压器走向主流电力装备电网投资稳底盘数据中心与新能源推容量上移
- 2026年二级建造师继续教育考试题库复习题库(含答案)
- 2026年新员工进场三级安全教育考试及答案
- (中图版)七年级地理下册:5
- 手术室护理质量提升报告
- 护理护理与护理实践技能
- 初中历史教资面试中国史试卷
- 2026年电力工程造价从业人员专业能力评价考试(公共基础及专业实务)经典试题及答案
- 雨课堂学堂在线学堂云《走进军事理论(空军工程)》单元测试考核答案
- 做合格少先队员主题班会课件
- 装修工程竣工验收汇报材料
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.6-2025)
- 储能电站绩效考核管理方案
- 2026年山东专升本高等数学(三)真题及答案
- PE管施工技术交底
- 微生物检验技术中级考试真题题库及答案
- 上海市东昌中学2025-2026学年3月高三英语试题试卷含解析
- 2026年南京铁道职业技术学院单招职业技能测试题库及答案详解(各地真题)
评论
0/150
提交评论