51单片机汇编语言实验(五)-----A/D 0809模数转换和DA0832

发布者:WhisperingHeart最新更新时间:2022-01-19 来源: eefocus关键字:51单片机  汇编语言  模数转换  数模转换 手机看文章 扫描二维码
随时随地手机看文章

一、实验目的:

   了解模/数转换基本原理,掌握ADC0809的使用方法,掌握DAC0832芯片的使用方法。


二、实验设备:

   PC计算机一台,Dais-52PRO+实验系统一套。


三、实验内容:

   1. A/D 0809模数转换

   2. DA0832数模转换


四、 A/D 0809模数转换

   1、实验原理:

   利用实验系统上的ADC0809作为A/D转换器,实验系统的电位器提供模拟量输入,编制程序,将模拟量转换成数字量并显示。


   2、实验步骤:

  ① 将0809区的IN0与调压区的0-5V孔连接;

  ②将控制线区的RD连到逻辑电路区或非门的一个输入端;

  ③将端口地址区的300连到逻辑电路区或非门的另一个输入端;

  ④该或非门的输出端连接到0809区的OE端;

  ⑤将控制线区的WR连到逻辑电路区或非门的一个输入端;

  ⑥将端口地址区的300连到逻辑电路区或非门的另一个输入端;

  ⑦该或非门的输出端连接到0809区的SC/ALE端;

  ⑧编写实验程序,经编译、链接无语法错误后装载到实验系统;

  ⑨全速运行程序,调节0~5V模拟电压,观察数码管显示的A/D转换值;

  ⑩实验完毕后,应使用暂停命令中止程序的运行。

   3、参考代码:

//实验三    定时器实验

//实验五     AD转换实验

CS0809   EQU  0300H

CS8279C  EQU  0FFF1H

CS8279D  EQU  0FFF0h

LEDBUF   EQU  70h         ;显示缓冲

         ORG 0000H

         AJMP start

         ORG 0100H  

start:  call I8279      ;8279初始化

        MOV LedBuf+0,#0

        MOV LedBuf+1,#8

        MOV LedBuf+2,#0

        MOV LedBuf+3,#9


MOV     DPTR,#CS0809

        ADC: MOVX @DPTR,A      ;0809的通道0采样

        nop

        nop

        nop

        nop

        nop

        MOVX A,@DPTR        ;取出采样值

        mov b,a         ;拆送显示缓冲区

        swap a

        anl a,#0fh

        anl b,#0fh


MOV     LedBuf+4,a

        MOV LedBuf+5,b

        call disp

        SJMP ADC        ;循环


;8279初始化

I8279:  PUSH DPL

        PUSH DPH

        MOV dptr,#CS8279C  ;指向命令口

        MOV A,#00H         ;8个8位显示

        MOVX @dptr,a       ;方式字写入

        MOV A,#32H         ;设分频初值

        MOVX @dptr,a       ;分频字写入

        MOV A,#0DFH        ;定义清显字

        MOVX @dptr,a       ;关闭显示器

x90s:   movx a,@dptr

        JB ACC.7,x90s      ;检测8279

        POP DPH

        POP DPL

        ret



;显示子程序

disp:    PUSH DPL

        PUSH DPH

        mov r2,#85h

        mov r0,#ledbuf

disp1:  mov dptr,#CS8279C

        mov a,r2

        movx @dptr,a

        mov dptr,#ledmap   ;指字形表首

        mov a,@r0          ;取送显数据

        movc a,@a+dptr     ;索字形代码

        mov dptr,#CS8279D  ;指向字形口

        movx @dptr,a       ;送当前字形

        dec r2

        inc r0

        cjne r0,#ledbuf+6,disp1

        POP DPH

        POP DPL

        ret


;字形表

ledmap: db 0ch,9fh,4ah,0bh,99h,29h,28h,8fh

        db 08h,09h,88h,38h,6ch,1ah,68h,0e8h,0ffh

        END


五、DA0832数模转换:

   1、实验原理:

   利用0832芯片输出三角波驱动发光二极管,观察二极管渐亮渐灭,或者用示波器观察输出波形(三角波)

   2、实验步骤:

  ① 将端口地址区的300与0832区的/CS按下图连接;

  ②将LED区的L0与0832区的AOUT连接;

  ③编写实验程序,经编译、链接无语法错误后装载到实验系统;

  ④全速运行程序,观察L0等做呼吸亮灭或者用示波器观察OUT端的输出波形;

  ⑤实验完毕后,应使用暂停命令中止程序的运行;

   3、参考代码:


//实验五    DA转换


CS0832  EQU 0300H

DA0V    EQU 00H

DA5V    EQU 0FFH

        ORG 0000H

        MOV DPTR,#CS0832

        CLR A

K1:     MOVX @DPTR,A                      ;

        INC A                          ;

ACALL DELAY

CJNE  A,#255,K1

K2:     MOVX @DPTR,A                     ;

        DEC A                             ;

ACALL DELAY

        CJNE  A,#0,K2



DELAY:   MOV R6,#20H

 KK:     MOV R7,#80H

         DJNZ R7,$

         DJNZ R6,KK

RET

               

         END


关键字:51单片机  汇编语言  模数转换  数模转换 引用地址:51单片机汇编语言实验(五)-----A/D 0809模数转换和DA0832

上一篇:51单片机ADDA数模转换
下一篇:51单片机汇编语言实验(六)-----8255键盘与显示设计

推荐阅读最新更新时间:2024-11-17 12:00

51单片机实例讲解,数码管显示数字“5555”程序
利用单片机及某些数字电路块的结合,可以实现静态字符的显示。本例是利用74LS164八位移位寄存器(串入、并出)与单片机串行口结合,使数码管静态显示数字“5555”。 (1)数码管显示数字“5555”硬件电路(见图20)。 图20 显示字符“5555”接线原理图 在图20的电路中,74LS164的相关引脚与数码管的a、b、c、d、e、f、g引脚相连接,并且74LS164为串行输入、并行输出,所以L4LS164串行输入的数据与数码管对应字符的关系见表7。 表7 L4LS164串行输入的数据与数码管对应字符的关系表 (2)数码管显示数字“5555”硬件电路元器件(见表8)。 表8 数码管显示数字“5555”硬件电路
[单片机]
<font color='red'>51单片机</font>实例讲解,数码管显示数字“5555”程序
采用AT89C51单片机设计的变频调速控制系统
   1.概述   在电气传动领域中,随着自关断器件技术水平的不断提高,脉宽调制技术(简称PWM技术)也日趋成熟。PMW交流变频调速以其高效率、高功率因数、输出波形好、结构简单等优点,在井下风机、水泵、造纸机等设备中得到了广泛的应用。将单片机应用于交流变频调速系统,可有效地避免传统调速方案中的一些缺点,达到了提高控制精度的目的 ,其特点:   (1)采用单片机可以使绝大多数控制逻辑通过软件实现,简化了电路。   (2)单片机具有更强的逻辑功能,运算速度快,精度高,有大容量的存储单元,可以实现较为复杂的控制。   (3)无零点漂移,控制精度高。   (4)可以提供人机界面,多机连网工作。   根据国内外有关变频调速的最新
[单片机]
采用AT89C<font color='red'>51单片机</font>设计的变频调速控制系统
带你使用51单片机做一款简易的电子时钟
一、前言 今天给大家推荐一个51单片机小实验,带你使用51单片机做一款简易的电子时钟,其中计时模块采用DS1302硬件模块,显示采用LCD显示屏,具体怎么实现开来一起看看吧! 二、DS1302模块介绍 DS1302 是 DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟和31字节静态 RAM,通过简单的串行接口与单片机进行通信。实时时钟、日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年自动补偿等多种功能。时钟操作可通过 AM/PM 指示,DS1302 与单片机之间能简单地采用同步串行的方式进行通信,简易三线SPI通信模式: RES 复位 I/O 数据线 SCLK 串行时钟 SPI
[单片机]
带你使用<font color='red'>51单片机</font>做一款简易的电子时钟
51单片机I2C 24c02 1-99秒循环定时器
51单片机,I2C 24c02 1-99秒循环定时器 仿真电路。 程序源码 HEX文件 单片机源程序如下: #include reg52.h #include i2c.h #ifndef uchar #define uchar unsigned char #endif #ifndef uint #define uint unsigned int #endif #ifndef ulong #define ulong unsigned long #endif uchar stoptime=0,runtime=0,stopcoun=00,runcoun=00; uchar di
[单片机]
<font color='red'>51单片机</font>I2C 24c02 1-99秒循环定时器
51单片机快速入门指南】仿真实例:幅值可调、频率可调的函数发生器
STC89C52 Windows 10 20H2 Proteus 8 Frofessional v8.9 SP2 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 效果 0 ~ 5V ,50Hz的正弦波: 1 ~ 4V,500Hz的三角波: 1.5 ~ 3.5V,1000Hz的正弦波 1.5 ~ 3.5V,5000Hz的方波 1.5 ~ 3.5V,10000Hz的方波 设计思路 共由两个DAC0832、一个DAC0808构成;两个DAC0832分别产生DAC0808的正、负参考电压,以控制电压范围,DAC0808产生波形,三
[单片机]
【<font color='red'>51单片机</font>快速入门指南】仿真实例:幅值可调、频率可调的函数发生器
10位串行模数转换芯片AD7810的原理及应用
    摘要: 文章对高速低功耗10位串行模数转换芯片AD7810的引脚功能、主要参数、特性及典型应用作了详尽的介绍,同时给出了微处理器PIC16C6X/7X以及8051单片机与AD7810模数据转换器的的通讯接口电路和程序清单。     关键词: AD7810 低功耗 模数转换 单片机 AD7810是美国模拟器件公司(Analog Devices)生产的一种低功耗10位高速串行A/D转换器。该产品有8脚DIP和SOIC两种封装形式,并带有内部时钟。它的外围接线极其简单,AD7810的转换时间为2 μs ,采用标准SPI同步串行接口输出和单一电源(2.7V~5.5V)供电。在自动低功耗模式下,该器件在转
[应用]
51单片机复位后的状态
单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下表。 值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的韧始化部分是十分必要的。 说明:表中符号*为随机状态; A=00H,表明累加器已被清零; PSW=00H,表明选寄存器0组为工作寄存器组; SP=07H,表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08H单元中; Po-P3=F
[单片机]
<font color='red'>51单片机</font>复位后的状态
51单片机与PC上位机串口通信之LED控制
PC机通过上层软件控制单片机LED的亮灭或者控制LED的闪烁及闪烁时间,上层软件用户名密码均为admin 注意PROTEUS串口仿真需要配合虚拟串口软件才能工作 上位机(包含源码)软件说明: 发送数据解析 字节1、2:0x55 0xaa 数据是否正确判断标志 字节3: 0x01 ------单个LED控制手动控制 0x02 ------单个LED控制自动闪烁 字节4 此字节从低位到高位依次控制LED0-LED7,例如0x01表示手动点亮LED0或者LED0自动闪烁;0x28表示手动点 亮LED3、LED5或者LED3、LED5自动闪烁 字节5、6:表示闪烁时间(6高8位 5低8位)
[单片机]
<font color='red'>51单片机</font>与PC上位机串口通信之LED控制
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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