ImageVerifierCode 换一换
格式:PPT , 页数:53 ,大小:614.50KB ,
文档编号:5581770      下载积分:20 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-5581770.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(ziliao2023)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(《单片机应用技术》课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

《单片机应用技术》课件.ppt

1、单片机应用技术项目项目9 9 调压电路设计调压电路设计泸州职业技术学院机电工程系泸州职业技术学院机电工程系单片机应用技术单片机应用技术精品课程组精品课程组本讲主要内容本讲主要内容4 相关知识1 教学目标2 工作任务3 项目实践6 项目考核1、终极目标:、终极目标:制作一个基于单片机控制的调压电路系统。制作一个基于单片机控制的调压电路系统。2、促成目标:、促成目标:(1)了解了解D/A转换芯片的基本工作原理及特转换芯片的基本工作原理及特性;性;(2)了解了解D/A转换器的技术指标;转换器的技术指标;(3)掌握常用掌握常用D/A芯片与单片机的接口方法;芯片与单片机的接口方法;(3)掌握掌握D/A转

2、换程序设计方法;转换程序设计方法;【教学目标】采用采用8 8位的位的D/AD/A转换芯片转换芯片DAC0832DAC0832来完成数模转换过来完成数模转换过程,程,DAC0832DAC0832是电流输出型是电流输出型D/AD/A转换芯片,因此,后面转换芯片,因此,后面接有集成运放接有集成运放LM358LM358来完成电流到电压的转换。其中的来完成电流到电压的转换。其中的数字信号的输入从数字信号的输入从“D0D0D7”D7”端口输入,控制端口输入,控制DAC0832DAC0832工作的控制信号由工作的控制信号由“WRWRCS”CS”端口输入,模拟量的输端口输入,模拟量的输出从出从“DADA输出输

3、出”端口输出,由于端口输出,由于LM358LM358工作在双电源条工作在双电源条件下,因此要给件下,因此要给LM358LM358加入加入12V12V电压,从电压,从+12+12,-12V-12V的的电源的由电源的由MAX232MAX232来产生。来产生。通过按键通过按键K1K1、K2K2实现实现DACDAC值的加减,并且在值的加减,并且在LCD1602LCD1602上显示出来。上显示出来。DACDAC转换的模拟电压值从转换的模拟电压值从DADA输出座子输出输出座子输出(用万用表测量用万用表测量)。【工作任务】【活动一】总体设计【活动一】总体设计 本系统功能由硬件和软件两大部份协调完成,硬件部分

4、主要完成信息的显示;软件主要完成信号的处理及控制功能等。本系统的硬件采用模块化设计,以AT89S52单片机为核心,与LCD显示电路、键盘电路、D/A转换电路组成控制系统。该系统硬件主要包括以下几个模块:AT89S52主控模块、LCD显示模块、键盘输入模块、D/A模块等。其中AT89S52主要完成外围硬件的控制以及一些运算功能;LCD显示模块完成字符、数字的显示功能;键盘电路主要实现DAC值的加减;D/A模块由D/A芯片和放大电路组成,DAC转换的模拟电压值从DA输出座子输出,可用万用表测量。【项目实践】系统组成方框图如图9.1所示。单 片 机LCD显示电路复位电路时钟电路电源电路D/A转换电路

5、键盘电路串口通信电路图9.1 D/A转换控制系统组成方框图【项目实践】应用软件采用模块化设计方法。该系统软件主要由主程序、定时器T0中断服务子程序、D/A转换子程序、计算D/A转换值子程序、按键扫描子程序、串口中断服务子程序、LCD显示子程序、LCD显示A/D转换值子程序等模块组成,系统软件结构框图如图9.2所示。LCD显示子程序定时器T0中断服务子程序主程序计算D/A转换值子程序D/A转换子程序LCD显示D/A转换值子程序按键扫描子 程序串口中断服务子程序图9.2 系统软件结构框图【项目实践】1主控模块设计 本项目采用ATMEL公司生产的AT89S52单片机,主控模块的具体设计参见项目1。2

6、LCD显示模块设计 LCD显示模块选用1602字符型LCD模块,具体设计请参见项目6。3键盘输入模块设计 键盘输入使用独立式按键K1、K2,具体设计请参见项目3。4串口通信电路模块设计 串口通信电路模块的具体设计请参见项目7。5D/A转换模块设计 D/A模块由D/A芯片和放大电路组成,通过按键K1、K2实现DAC值的加减,范围在0255之间,并且在LCD1602上显示出来。DAC转换的模拟电压值从DA输出座子输出,可用万用表测量。【项目实践】【活动二】硬件设计【活动二】硬件设计 在本项目中,D/A芯片选用DAC0832芯片来完成数模转换过程,该芯片的详细介绍请参考本项目的“相关知识”部分。DA

7、C0832是电流输出型D/A转换芯片,因此,后面接有集成运放LM358来完成电流到电压的转换。其中的数字信号的输入从“D0 D7”端口输入,控制DAC0832工作的控制信号由“WRCS”端口输入,模拟量的输出从“DA输出”端口输出,由于LM358工作在双电源条件下,因此要给LM358加入12V电压,从+12,-12V的电源的由MAX232来产生。D/A模块与单片机的接口电路如图9.3所示。【项目实践】图9.3 D/A模块与单片机的接口电路原理图【项目实践】1算法设计算法设计 由PC机发送到单片机串口的值作为数字量初始值,通过按键K1、K2实现DAC值的加减,按键K1实现数字量初始值加1,按键K

8、2实现数字量初始值减1,使数字量在20200的范围内变化,从而模拟数字信号的输入。根据D/A转换芯片DAC0832的工作时序,20ms进行一次D/A转换,可以利用定时器T0定时,基本定时时间为5ms,控制软计数器的累计次数为4次,20ms(4*5ms)定时到时,产生定时器T0中断,在定时器T0中断服务子程序中调用DA转换子程序进行D/A采样转换,然后调用计算D/A转换值子程序把DA转换值转换成相应的ASCII码,最后通过LCD显示D/A转换值子程序把DAC转换的模拟电压值(0V5V)显示在液晶LCD1602上,并从DA输出座子输出DAC转换的模拟电压,可用万用表测量。【项目实践】【活动三】软件

9、设计【活动三】软件设计2数据结构设计数据结构设计 1602LCD使能信号E 定义为P2口线的P2.2;1602LCD读/写选择信号R/W定义为P2口线的P2.1,0为写数据信号,1为读数据信号;1602LCD 数据/命令选择信号RS定义为P2口线的P2.0,0为命令信号;1为数据信号;1602LCD的8位双向数据线DB7DB0信号LCDPORT定义为P0口线;1602LCD写命令入口参数CMD_BYTE定义为片内数据存储器的2EH单元;1602LCD写显示数据入口参数DAT_BYTE定义为片内数据存储器的2FH单元;D/A芯片DAC0832的片选信号DAC_CS定义为P3口线的P3.3;D/A

10、芯片DAC0832的写信号DAC_WR定义为P3口线的P3.4;【项目实践】当前的DA变量DABL定义为片内数据存储器的30H单元;输出值显示的百位LEDBAI定义为片内数据存储器的31H单元;输出值显示的十位LEDSHI定义为片内数据存储器的32H单元;输出值显示的个位LEDGE定义为片内数据存储器的33H单元;3程序设计(1)主程序设计 主程序主要完成硬件初始化、子程序调用等功能。初始化 首先调用LCD子程序,设置LCD的DDRAM地址,在LCD上显示字符数据“DAC:”。将DA转换值DABL设置为初值20,设置定时软计数器KEYTIME初值为4。设置串口成功接收数据标志位RECOKBIT

11、为1。定时初值计算 定时器T0定时时间为5ms,系统所用的石英晶体振荡频率为11.0592MHz,因此,1个机器周期=1/石英频率*12,即为12/11.0592微秒,定时器工作方式设置为方式1,计算初值如下:【项目实践】x=216-t*fosc/12=65536-5*10-3*11.0592*106/12=60928=EE00H 所以TH0=0EEH,TL000H 定时器与串口设置 设置寄存器SCON的SM0、SM1位,定义串口工作方式,选择波特率发生器为定时器T1;设定定时器T1工作方式为方式2;设置波特率参数为9600bps;允许串行中断及总中断;允许串口接收数据,定义REN=1;启动定

12、时/计数器T1工作,定义TR1=1。设定定时器T0的工作方式为方式1;启动定时器T0,即TR0=1,开放定时器T0中断及总中断。综述,设置TMOD21H,IE=92H。等待中断 定时器T0启动计时后,CPU等待定时中断的到来。当定时器T0定时5ms后,进入定时器T0中断服务子程序。【项目实践】主程序设计流程图如图9.4所示。【项目实践】图9.4 主程序设计流程图【项目实践】(2)定时器定时器T0中断服务子程序中断服务子程序 当定时器T0定时5ms后,进入定时器T0中断服务子程序。重装定时器T0初值,即TH0=0EEH,TL000H。判断软计数器KEYTIME值是否为0,若KEYTIME值不为0

13、,表明20ms计时未到,这时中断子程序返回主程序,继续计时;若KEYTIME值为0,表明20ms计时已到,重置软计数器KEYTIME初值为4,为下次定时做准备。设置按键输入口P1口的值为0DFH,调用按键扫描子程序。接着调用D/A转换子程序进行D/A转换,得到DA转值值DABL,然后换调用计算D/A转换值子程序计算DA转值DABL相应的ASCII码,再调用LCD显示D/A转换值子程序把数字量输入值进行转换后的模拟量显示在液晶LCD1602上。最后T0中断子程序返回主程序进行下一次DA转换。【项目实践】【项目实践】图9.5 定时器T0中断服务子程序设计流程图【项目实践】(3)D/A转换子程序模块

14、设计转换子程序模块设计 根据D/A转换芯片DAC0832的工作时序,片选信号低电平有效。把芯片DAC0832片选信号置低电平,选中该芯片。把数字量D/A转换值DABL送给P0口,准备送入芯片DAC0832进行转换处理。芯片DAC0832写信号置低电平后再过两个时钟周期至高电平,产生一个上升沿信号,进行数据转换处理。模拟量DABL从Iout1、Iout2引脚输出送到运算放大器进行处理,最后从DA输出座子输出,可用万用表测量到输出电压。数据转换完毕,把芯片DAC0832片选信号置高电平。子程序返回。D/A转换子程序设计流程图如图9.6所示。【项目实践】芯片DAC0832片选信号置低电平,选中该芯片

15、开始把D/A转换值DABL送给P0口,准备送入芯片DAC0832芯片DAC0832写信号置低电平后再过两个时钟周期至高电平,产生一个上升沿信号子程序返回芯片DAC0832片选信号置高电平图9.6 D/A转换值子程序设计流程图【项目实践】(4)计算计算D/A转换值子程序转换值子程序 要把DA转换值DABL显示在LCD上,需要把它转换为相应的ASCII码。先把D/A转换值ADBL送给累加器A,除以100,商即为百位计数单元值,该值加上30H,得到百位数的ASCII码,将它送给LCD百位计数单元显示值LEDBAI。将第一次除法运算得到的余数送给累加器A,再除以10,商为十位计数单元值,该值加上30H

16、,得到十位计数单元的ASCII码,将它送给LCD十位计数单元显示值LEDSHI。将第二次除法运算得到的余数送给累加器A,为个位计数单元值,该值加上30H,得到个位计数单元的ASCII码,将它送给LCD个位计数单元显示值LEDGE。最后子程序返回。计算D/A转换值子程序设计流程图如图9.7所示。【项目实践】把D/A转换值DABL送给累加器A,除以100,商为百位计数单元值;加30H,得到百位数的ASCII码;送给LCD百位计数单元显示值LEDBAI开始子程序返回将第一次除法运算的余数送给累加器A,再除以10,商为十位计数单元值;加30H,得到十位计数单元的ASCII码;送给LCD十位计数单元显示

17、值LEDSHI将第二次除法运算的余数送给累加器A,为个位计数单元值;加30H,得到个位计数单元的ASCII码;送给LCD个位计数单元显示值LEDGE图9.7 计算D/A转换值子程序设计流程图【项目实践】(5)按键扫描子程序模块设计按键扫描子程序模块设计 通过按键K1、K2实现DAC值的加减。程序通过P1.0、P1.1的值来判断是否有键按下。若P1.0=0,表明K1键按下,使DAC值加1,但不能大于201,否则使DAC值返回为20。若P1.0=1,表明K2键按下,使DAC值减1,但不能小于19,否则使DAC值返回为200。按键扫描子程序设计流程图如图9.8所示。【项目实践】【项目实践】图9.8

18、按键扫描子程序设计流程图【项目实践】(6)串口中断服务子程序设计串口中断服务子程序设计 当串口中断标志位RI为1时,进入串口接收数据中断服务子程序,开始接收数据。把串口中断标志位RI复位置0,把串口接收缓冲器SBUF中的数据写入累加器A,再把累加器A的值传给DA转换值变量DABL作为数模转换的初始值,同时设置串口成功接收数据标志位RECOKBIT为1,表明串口成功接收数据,最后中断子程序返回。串口中断服务子程序设计流程图如图9.9所示。接收标志位RI清零从PC机串口接收数据,把接收缓冲器SBUF中的数据写到单片机的累加器A,再送给D/A变量单元DABL设置串口成功接收数据标志位RECOKBIT

19、中断子程序返回开始图9.9 串口中断服务子程序设计流程图【项目实践】(7)LCD显示子程序模块设计显示子程序模块设计 LCD显示子程序模块包括LCD初始化子程序、写入指令数据到LCD子程序、写入显示数据到LCD子程序、LCD显示D/A转换值子程序、延时子程序等模块组成,详细设计请参见项目6“LCD显示技术”。4汇编语言源程序汇编语言源程序;*;项目名称:DA转换;功能:串口发送一个要输出的电压(00-FF),模数转换输出一个当前串口发出;的电压;输出的电压为V=5*KK/255。其中KK为串口接收到的二进制数;*;*;功能:LCD口线的定义;*E BIT P2.2RW BIT P2.1RS B

20、IT P2.0【项目实践】LCDPORT EQU P0CMD_BYTE EQU 2EHDAT_BYTE EQU 2FH;*;功能:DAC0832的引脚定义;*DAC_WR BIT P3.4DAC_CS BIT P3.3;*;功能:;*DABL EQU 30H ;当前DA的变量(00到255间),从串口接收LEDBAI EQU 31H ;显示的百位LEDSHI EQU 32H ;显示的十位LEDGE EQU 33H ;显示的个位KEYTIME EQU 35H ;KEYBIT BIT 00H ;RECOKBIT BIT 01H ;串口成功接收数据标志位【项目实践】ORG 0000HAJMP MAI

21、N;*;功能:定时器T0中断服务入口地址;*ORG 000BH ;T0中断服务入口地址AJMP TIME0_1;*;功能:串口接收数据中断服务子程序;*ORG 0023H ;串口中断服务入口地址;RS232:CLR RIMOV A,SBUF ;单片机从PC串口接收数据MOV DABL,A ;PC串口发送的数据送给D/A转换值SETB RECOKBITRETI【项目实践】;*;功能:主程序;*ORG 0030HMAIN:MOV 20H,#00HLCALL INITLCDMOV DABL,#20MOV KEYTIME,#04HMOV CMD_BYTE,#80H ;设置DDRAM的地址LCALL W

22、RITE_CMDLCALL DELAY0MOV DAT_BYTE,#DLCALL WRITE_DATMOV DAT_BYTE,#ALCALL WRITE_DATMOV DAT_BYTE,#CLCALL WRITE_DAT【项目实践】MOV DAT_BYTE,#:LCALL WRITE_DATMOV TH0,#0EEH ;定时器T0,定时5ms,D/A转换时间MOV TL0,#00HMOV TMOD,#21HMOV TH1,#0FDH ;T1位波特率发生器,波特率9600MOV TL1,#0FDHMOV SCON,#50H ;设置串口工作方式SETB TR1 ;启动定时器T1SETB REN ;

23、允许串行口接收数据SETB TR0 ;启动定时器T0MOV IE,#92H ;允许定时器0中断,允许串口中断SETB RECOKBITSJMP$;等待中断【项目实践】;*;功能:定时器T0中断服务子程序;*ORG 0100HTIME0_1:MOV TH0,#0EEHMOV TL0,#00HDJNZ KEYTIME,TIME0_REMOV KEYTIME,#04HMOV P1,#0DFHLCALL KEYSCANLCALL DAC0832 ;调用D/A转换子程序LCALL JSDPBL ;调用计算D/A转换值子程序LCALL DISPDPBL ;调用LCD显示D/A转换值子程序TIME0_RE:

24、RETI;*;功能:;按键扫描子程序;*KEYSCAN:MOV P1,#0FFH【项目实践】;*;功能:;D/A转换子程序;*DAC0832:CLR DAC_CSMOV A,DABLMOV P0,ACLR DAC_WRNOPNOPSETB DAC_WRSETB DAC_CSRET;*;功能:LCD1602要用到的一些子程序;*;*;功能:写入指令数据到LCD子程序(入口参数CMD_BYTE);*WRITE_CMD:CLR RSCLR RW【项目实践】MOV A,CMD_BYTE MOV LCDPORT,ASETB ENOPNOPCLR ELCALL DELAY0RET;*;功能:写入显示数据到

25、LCD子程序(入口参数DAT_BYTE);*WRITE_DAT:SETB RSCLR RWMOV A,DAT_BYTEMOV LCDPORT,ASETB ENOPNOP【项目实践】CLR ELCALL DELAY0RET*;功能:LCD显示初始化子程序;*INITLCD:MOV CMD_BYTE,#30HLCALL WRITE_CMDMOV CMD_BYTE,#30HLCALL WRITE_CMDMOV CMD_BYTE,#30HLCALL WRITE_CMDMOV CMD_BYTE,#38H ;设定工作方式LCALL WRITE_CMDMOV CMD_BYTE,#0CH ;显示状态设置LCA

26、LL WRITE_CMDMOV CMD_BYTE,#01H ;清屏【项目实践】LCALL WRITE_CMDMOV CMD_BYTE,#06H ;输入方式设置LCALL WRITE_CMDRET;*;功能:延时子程序;*DELAY0:MOV R5,#0A0HDELAY1:NOPDJNZ R5,DELAY1RET;*;功能:计算D/A转换值子程序;*JSDPBL:MOV A,DABL ;取得A/D转换值MOV B,#64H ;除以100,得到百位【项目实践】DIV ABORL A,#30H ;加30H,变换成相应的ASCIIMOV LEDBAI,A ;送到LCD显示MOV A,BMOV B,#0

27、AH ;除以10,得到十位DIV ABORL A,#30H ;加30H,变换成相应的ASCIIMOV LEDSHI,A ;送到LCD显示MOV A,B ;余数为个位ORL A,#30H ;加30H,变换成相应的ASCIIMOV LEDGE,A ;送到LCD显示RET【项目实践】;*;功能:LCD显示D/A转换值子程序;*DISPDPBL:MOV CMD_BYTE,#85H ;设置DDRAM的地址LCALL WRITE_CMD ;MOV DAT_BYTE,LEDBAI ;百位显示LCALL WRITE_DATMOV DAT_BYTE,LEDSHI ;十位显示LCALL WRITE_DATMOV

28、DAT_BYTE,LEDGE ;个位显示LCALL WRITE_DATRETEND【项目实践】【活动四】系统仿真调试【活动四】系统仿真调试【项目实践】系统仿真调试过程参见项目系统仿真调试过程参见项目1。1、D/A转换器的基本原理转换器的基本原理 D/A转换器的基本功能是将一个用二进制表示的数字量转换成相应转换器的基本功能是将一个用二进制表示的数字量转换成相应的模拟量。实现这种转换的基本方法是对应于二进制数的每一位,产生的模拟量。实现这种转换的基本方法是对应于二进制数的每一位,产生一个相应的电压(电流),而这个电压(电流)的大小则正比于相应的一个相应的电压(电流),而这个电压(电流)的大小则正比

29、于相应的二进制位的权。具体电路较复杂,这里就不多述,有兴趣的同学请看有二进制位的权。具体电路较复杂,这里就不多述,有兴趣的同学请看有关书籍。关书籍。2、主要技术指标、主要技术指标(1)分辩率。通常用数字量的数位表示,一般为)分辩率。通常用数字量的数位表示,一般为8位,位,12位,位,16位等。位等。分辩率分辩率10位,表示它可能对满量程的位,表示它可能对满量程的1/210=1/1024的增量作出反应。的增量作出反应。(2)输入编码形式。如二进制码,)输入编码形式。如二进制码,BCD码等。码等。(3)转换线性。通常给出在一定温度下的最大非线性度,一般为)转换线性。通常给出在一定温度下的最大非线性

30、度,一般为0.010.03%。(4)转换时间。通常为几十纳秒几微秒。)转换时间。通常为几十纳秒几微秒。(5)输出电平。不同型号的输出电平相差很大。大部分是电压型输出,)输出电平。不同型号的输出电平相差很大。大部分是电压型输出,一般为一般为510伏;也有高压输出型的,为伏;也有高压输出型的,为2430伏。也有一些是电流型伏。也有一些是电流型的输出,低者为的输出,低者为20毫安左右,高者可达毫安左右,高者可达3安培。安培。【相关知识】3、集成、集成D/A转换器转换器DAC0832 DAC0832是目前国内用得较普遍的是目前国内用得较普遍的D/A转换器。转换器。、DAC0832主要特性主要特性 DA

31、C0832是采用是采用CMOS/Si-Cr工艺制成的双列直插式单片工艺制成的双列直插式单片8位位D/A转换器。它可直接与转换器。它可直接与Z80,8085,8080等等CPU相连,也可相连,也可同同8031相连,以电流形式输出;当转换为电压输出时,可外接相连,以电流形式输出;当转换为电压输出时,可外接运算放大器。其主要特性有:运算放大器。其主要特性有:1)出电流线性度可在满量程下调节。)出电流线性度可在满量程下调节。2)转换时间为)转换时间为1S。3)数据输入可采用双缓冲、单缓冲或直通方式。)数据输入可采用双缓冲、单缓冲或直通方式。4)增益温度补偿为)增益温度补偿为0.02%FS/。5)每次输

32、入数字为)每次输入数字为8位二进制数。位二进制数。6)功耗)功耗20mW。7)逻辑电平输入与)逻辑电平输入与TTL兼容。兼容。8)供电电源为单一电源,可在)供电电源为单一电源,可在515V内。内。【相关知识】DAC0832内部结构及外部引脚内部结构及外部引脚 DAC0832D/A转换器,其内部结构由一个数据寄存器、DAC寄存器和D/A转换器三大部分组成。DAC0832内部采用R-2R梯形电阻网络。两个寄存器输入数据寄存器和DAC 寄存器用以实现两次缓冲,故在输出的同时,尚可集一个数字,这就提高了转换速度。当多芯片同时工作时,可用同步信号实现各模拟量同时输出。图9.11示出了DAC0832的外部

33、引脚【相关知识】图9.11 DAC0832引脚图【相关知识】片选信号,低电平有效。与ILE相配合,可对写信号是否有效起到控制作用。ILE允许输入锁存信号,高电平有效,输入寄存器的锁存信号由ILE,的逻辑组合产生。当ILE为高电平,为低电平,输入负脉冲时,输入寄存器的锁存信号产生正脉冲。当输入寄存器的锁存信号为高电平时输入线的状态变化,输入寄存器的锁存信号的负跳变将输入在数据线上的信息打入输入锁存器。写信号1,低电平有效。当,ILE均有效时,可将数据写入8位输入寄存器。写信号2,低电平有效。当 有效时,在 传送控制信号作用下,可将锁存在输入寄存器的8位数据送到DAC寄存器。数据传送信号,低电平有

34、效。当 ,均有效时,则在DAC寄存器的锁存信号产生正脉冲,当DAC寄存器的锁存信号为高电平时,DAC寄存器的输出和输入寄存器的状态一致,DAC寄存器的锁存信号负跳变,输入寄存器的内容打入DAC寄存器。1WRCSCS1WR2WR2WRXFERXFERXFER2WR【相关知识】Vref基准电源输入端,它与DAC内的R-2R梯形网络相接,Vref可在10V范围内调节。DI0DI7 8位数字量输入端,ID7为最高位,DI0为最低位。Iout1:DAC的电流输出1,当DAC寄存器各位为1时,输出电流为最大。当DAC寄存器各位为0时,输出电流为0。Iout2:DAC的电流输出2,它使Iout1+Iout2

35、恒为一常数。一般在单极性输出时Iout2接地,在双极性输出时接运放(详见图9-46)Rfb反馈电阻。在DAC0832芯片内有一个反馈电阻,可用作外部运放的分路反馈电阻。Vcc:电源输入线:DGND为数字地,AGND为模拟信号地。4、DAC0832和和MCS-51的接口的接口 DAC0832可工作在单、双缓冲器方式。单缓冲器方式即输入寄存器的信号和DAC寄存器的信号同时控制,使一个数据直接写入DAC寄存器。这种方式适用于只有一路模拟量输出或几路模拟量不需要同步输出的系统;双缓冲器方式,即输入寄存顺的信号和DAC寄存器信号分开控制,这种方式适用于几个模拟量需同时输出的系统。下面我们分别讨论上述两种

36、方式时的接口方法。【相关知识】1、单缓冲器方式、单缓冲器方式 图9.12 单极性单缓冲器电路接口图【相关知识】图9.12为具有单极性一路模拟量的8031系统。图中ILE接+5V,Iout2接地,Iout1输出电流经运放器741输出一个单极性电压范围为05V。片选信号和传送信号都连到地址线A15,输入寄存器和DAC寄存器地址都可选为7FFFH,写选通输入线,都和8031的写信号连接,CPU对0832执行一次写操作,则把一个数据直接写入DAC寄存器,0832的模拟量随之变化。8031执行下面的程序,将在运放输出端得到一个锯齿波电压。START:MOV DPTR,#7FFFH ;0832口地址 MO

37、V A,#00H LOOP:MOVX DPTR,A ;送数据 INC A AJMP LOOP 在实际应用时,在许多场合要用双极性电压波形,这时只要将Iout2接地改为接入一个运放,其接口逻辑图如图9.13所示。运行START程序可在741s输出端得到-5V+5V的双极性锯齿波电压。【相关知识】图9.13 双极性输出【相关知识】2、双缓冲器工作方式、双缓冲器工作方式 DAC0832可工作于双缓冲器方式,输入寄存器的锁存信号和DAC寄存器的锁存信号分开控制,这种方式适用于几个模拟量需同时输出的系统,每一路模拟量输出需一个DAC0832,构成多个0832同步输出的系统。图9.14为二路模拟量同步输出

38、的0832系统。在图9-46中,1#0832输入寄存器地址为DFFFH,2#0832输入寄存器地址为BFFFH,1#和2#0832DAC寄存器地址为7FFFH,【相关知识】图9.14 二路模拟量同步输出系统【相关知识】8031执行下面程序,将使图形显示器(显示器的光栅移动到一个新的位置。也可以绘制各种活动图形。MOV DPTR,;0DFFFH MOV A ;#X MOVX DPTR ;A ;DATA X写入不敷出#0832输入寄存器 MOV DPTR ;#OBFFFH MOV A ;#Y MOVX DPTR ;A ;DATA Y写入场#0832输入寄存器 MOV DPTR ;#7FFFH MO

39、VX DPTR ;A ;1#,2#输入寄存器内容同时传送到DAC寄存器【相关知识】【项目考核】考核项目考核内容技术要求评分标准得分备注总体设计任务分析方案设计软件和硬件功能划分任务明确(5分);方案设计合理、有新意(10分);软件和硬件功能划分合理(5分);20分硬件设计片内器件分配;电路原理图设计;电路板制作;片内器件分配正确、合理(5分);电路原理图设计正确(10分);电路板制作:布线正确、整齐、合理(5分);20分软件设计算法和数据结构设计;流程图设计;编程;算法和数据结构设计正确、合理(5分);流程图设计正确、简明;(5分);编程正确、有新意(10分);20分系统仿真与调试调试顺序;错误排除;调试结果;调试顺序正确(5分);能熟练排除错误(10分);调试后运行正确(5分);20分实训报告书写;内容;图形绘制;结果分析书写规范整齐(5分);内容翔实具体(5分);图形绘制正确、完整、全面(5分);能正确分析实验结构(5分);20分合计100分

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|