实验八 AD与DA转换实验

时间:2025-05-10

电子科技大学中山学院,微处理器实验

电子科技大学中山学院学生实验报告

电子科技大学中山学院,微处理器实验

NEXT:

RL A DJNZ R2,NEXT CPL A MOV LED,A SJMP MAIN ;================================A/D 转换子程序======================= ;入口参数:R7 通道号 ;出口参数:AB 转换结果(A 为高 8 位,B 为低 2 位) ;--------------------------------------------------------------------AD: MOV B,R7 MOV A,#01H AD2: RL A DJNZ R7,AD2 MOV P1ASF,A ;将 P1.x 用作 ADCx 引脚 MOV ADD MOV NOP NOP NOP NOP AD3: MOV A,ADC_CONTR JNB ACC.4,AD3 ANL A,#88H A,B ADC_CONTR,A ;10001000B ;A=A+B ;开启 A/D 电源,选择速度及通道,启动转换

;加几个空操作,确保设置生效

;等待 A/D 转换结束 ACC.4 表示控制开关

ADC_CONTR,#NOT(10H) ;清除转换结束标志

MOV A,ADC_RES ;返回 A/D 转换结果 高 8 位存到 A MOV B,ADC_RESL ; 低 2 位存到 B RET ;====================================程序结束====

==================== END

② 在Keil中创建工程,加入源程序文件,设置选项,进行汇编/编译、连接、转换处 理,生成HEX格式的单片机程序文件。 ③ 用串行电缆连接实验箱和PC机各自的串行通信口, 并运行PC机上的STC_ISP程序, 进行单片机程序下载(注意MCU1要先断电再上电)。 ④ 运行单片机程序,调节W101电位器,观察发光管显示的变化。 2、设计程序,将W101电位器产生的模拟电压转换为数字量,用于控制蜂鸣器的发声 频率。 参考程序如下(请将下划线部分补充完整):;==========================特殊功能寄存器声明======================== ADC_CONTR EQU 0BCH ;ADC 控制寄存器 ADC_RES EQU 0BDH ;ADC 高 8 位结果 寄存器地址 ADC_RESL EQU 0BEH ;ADC 低 2 位结果 P1ASF EQU 09DH ;P1 口 ADC 功能控制寄存器 BUZZ EQU P1.0 ;对蜂鸣器宏定义 ;===============================主程序=============================== MAIN: MOV R7,#01H ;对 1#通道进行 A/D 转换

电子科技大学中山学院,微处理器实验

LCALL AD NEXT: MOV R2,#50 DJNZ R2, $ DJNZ ACC,NEXT ;用 A/D 转换结果控制延时

CPL BUZZ ;产生方波输出,驱动蜂鸣器发声 SJMP MAIN ;================================A/D 转换子程序======================= ;入口参数:R7 通道号 ;出口参数:AB 转换结果(A 为高 8 位,B 为低 2 位) ;-------------------------------------------------------------------AD: MOV B,R7 MOV A,#01H AD2: RL A DJNZ R7,AD2 MOV P1ASF,A ;将 P1.x 用作 ADCx 引脚 MOV ADD MOV NOP NOP NOP NOP AD3: MOV A,ADC_CONTR JNB ACC.4,AD3 ANL A,#88H A,B ADC_CONTR,A

;开启 A/D 电源,选择速度及通道,启动转换 ;加几个空操作,确保设置生效

;等待 A/D 转换结束

ADC_CONTR,#NOT(10H) ;清除转换结束标志

MOV A,ADC_RES ;返回 A/D 转换结果 MOV B,ADC_RESL ; RET ;====================================程序结束======================== END

3、设计程序,利用STC12C5A60S2单片机内部PCA模块产生PWM信号,经低通滤波 后输出正弦波,要求频率和振幅可变。 参考程序如下(请将下划线部分补充完整):;========================特殊功能寄存器声明======================== CCON EQU 0xD8 ;PCA 控制寄存器 CR EQU CCON.6 ;PCA 计数器计数允许 CMOD CCAPM1 CCAP1L CCAP1H EQU 0xD9 EQU 0xDB EQU 0xEB EQU 0xFB ;PCA 工作模式寄存器 ;PCA 模块 1 的模式寄存器 ;PCA 模块 1 的捕捉/比较寄存器低 8 位 ;PCA 模块 1 的捕捉/比较寄存器高 8 位

;================================主程序============================== MAIN: LCALL PWMINIT ;PWM 模块初始化 MOV DPTR,# SINTBL ;DPTR 指向正弦表首单元

电子科技大学中山学院,微处理器实验

;以下输出频率较低、振幅最大的正弦波 WAVE1A: MOV R2,#80 WAVE1B: MOV R3,#0 WAVE1C: MOV A,R3 MOVC A,@A+DPTR MOV R7,A LCALL PWMOUT MOV R4,#60 DELAY1: MOV R5,#100 DJNZ R5,$ DJNZ R4,DELAY1 INC R3 CJNE R3,#32,WAVE1C DJNZ R2,WAVE1B ;以下输出频率较高、振幅最大的正弦波 WAVE2A: MOV R2,#240 WAVE2B: MOV R3,#0 WAVE2C: MOV

A,R3 MOVC A,@A+DPTR MOV R7,A LCALL PWMOUT MOV R4,#20 DELAY2: MOV R5,#100 DJNZ R5,$ DJNZ R4,DELAY2 INC R3 CJNE R3,#32,WAVE2C DJNZ R2,WAVE2B ;以下输出频率较高、振幅减半的正弦波 WAVE3A: MOV R2,#240 WAVE3B: MOV R3,#0 WAVE3C: MOV A,R3 MOVC A,@A+DPTR CLR C RRC A MOV R7,A LCALL PWMOUT MOV R4,#20 DELAY3: MOV R5,#100 DJNZ R5,$ DJNZ R4,DELAY3 INC R3 CJNE R3,#32,WAVE3C DJNZ R2,WAVE3B LJMP MAIN

;连续输出 80 个周期

;查表求正弦波当前值并控制 PWM 输出

;点间延时(正弦波输出频率较低)设置频率

;每个正弦波周期包括 32 个点

;连续输出 240 个周期

;查表求正弦波当前值并控制 PWM 输出

;点间延时(正弦波输出频率较高)设置频率

;每个正弦波周期包括 32 个点

;连续输出 240 个周期

;查表求正弦波当前值并控制 PWM 输出 ;正弦波振幅减半(带进位右移即减半)

;点间延时(正弦波输出频率较高)设置频率

;每个正弦波周期包括 32 个点

电子科技大学中山学院,微处理器实验

;==============================PWM 初始化子程序======================= PWMINIT:MOV CMOD,#08H ;PCA 时钟源设为 FOSC(PWM 频率=11.0592MHz/256 ;=43.2KHz) MOV CCAPM1,#42H ;设置 PCA 模块 1 为 8 位 PWM 模式,禁用中断 01000010B SETB CR ;启动 PCA RET ;==========================PWM 占空比更新子程序======================= ;入口参数:R7 占空比(0..255) ;-------------------------------------------------------------------PWMOUT: MOV A,#255 CLR C SUBB A,R7 MOV CCAP1H,A RET ;===============================常量数组声明========================= SINTBL: DB 127,152,176,199,218,234,245,252 DB 254,251,242,230,213,192,170,145 DB 120, 95, 71, 49, 31, 16, 6, 1 DB 0, …… 此处隐藏:2050字,全部文档内容请下载后查看。喜欢就下载吧 ……

实验八 AD与DA转换实验.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219