基于MAX517的串行DA转换电路的设计.docx

上传人:b****5 文档编号:4646279 上传时间:2022-12-07 格式:DOCX 页数:14 大小:79.99KB
下载 相关 举报
基于MAX517的串行DA转换电路的设计.docx_第1页
第1页 / 共14页
基于MAX517的串行DA转换电路的设计.docx_第2页
第2页 / 共14页
基于MAX517的串行DA转换电路的设计.docx_第3页
第3页 / 共14页
基于MAX517的串行DA转换电路的设计.docx_第4页
第4页 / 共14页
基于MAX517的串行DA转换电路的设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

基于MAX517的串行DA转换电路的设计.docx

《基于MAX517的串行DA转换电路的设计.docx》由会员分享,可在线阅读,更多相关《基于MAX517的串行DA转换电路的设计.docx(14页珍藏版)》请在冰豆网上搜索。

基于MAX517的串行DA转换电路的设计.docx

基于MAX517的串行DA转换电路的设计

中北大学信息商务学院

课程设计说明书

 

学生姓名:

常靖学号:

10050644X02

学生姓名:

陈慧敏学号:

10050644X04

学生姓名:

卢宇花学号:

10050644X14

学院:

信息与通信工程学院

专业:

电子信息工程

题目:

专业综合实践之单片机信息处理部分:

基于MAX517的串行D/A转换电路的设计

 

王浩全

指导教师:

职称:

教授

 

 

2014年1月10日

 

中北大学信息商务学院

课程设计任务书

2013/2014学年第1学期

学院:

信息与通信工程学院

专业:

电子信息工程

学生姓名:

常靖学号:

10050644X02

课程设计题目:

专业综合实践之单片机部分:

基于MAX517的串行D/A转换电路的设计

起迄日期:

2013年12月30日~2014年1月10日

课程设计地点:

5院楼201,510实验室

指导教师:

 

下达任务书日期:

2013年12月30日

课程设计任务书

1.设计目的:

巩固掌握单片机工作原理及应用,提高编程能力。

本课程设计主要针对电子信息工程专业课程体系设置的要求,安排的一种综合性的课程设计。

一方面为了培养学生在查阅资料、复习、学习知识的基础上,进行包括机、电系统的设计、计算、仿真、编程、调试等多个环节的综合能力培养;另一方面,也是对学生进行毕业设计前的一次大型练兵,进一步培养学生独立地分析、解决实际问题的实际能力。

另外还培养学生用专业的、简洁的文字,清晰的图表来表达自己设计思想的能力。

2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):

 

掌握单片机89C51的工作原理

掌握用汇编、C或其他语言实现编程

掌握MAX517串行D/A

 

3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:

(1)提供核心器件的工作原理与应用介绍;

(2)提供用Protel设计的电路原理图,印刷板电路图;

(3)提供用Multisim、MaxPlus、Proteus、Medwin、KeilC等软件对电路的仿真、编程与分析;

(4)提供符合规定要求的课程设计说明书;

(5)提供参考文献不少于15篇,且必须是相关的参考文献;

课程设计任务书

4.主要参考文献:

●要求按国标GB7714—87《文后参考文献著录规则》书写,例:

1傅承义,陈运泰,祁贵中.地球物理学基础.北京:

科学出版社,1985

2刘坤.51单片机C语言应用开发技术大全.北京:

人民邮电出版社,2008

3韩全立,王建明.单片机控制技术及应用.北京:

电子工业出版社,2004

4杨素行,模拟电子技术基础简明教程.北京:

高等教育出版社,2007

5蒋辉平,单片机原理与应用设计.北京:

北京航空航天大学出版社,2007

5.设计成果形式及要求:

(1)电路原理图、程序、仿真结果、PCB图;

(2)课程设计说明书;

6.工作计划及进度:

2013年12月30日~2014年1月1日:

查阅资料;

2014年:

1月2日~1月7日:

方案设计、实验验证;

1月8日~1月9日:

完成课程设计说明书;

1月10日:

答辩。

系主任审查意见:

签字:

年月日

目录

一、PROTEL的基本介绍·····························1

二、KeiluVision4的介绍··························1

三、AT89C51的基本介绍····························2

1、AT89C51单片机的主要工作特性···························2

2、AT89C51各部分的组成及功能·····························2

3、AT89C51的工作原理·····································4

四、MAX517的简介··································5

1、MAX517各引脚的具体说明如下····························6

2、MAX517与AT89C51的硬件连接··························· 6

3、MAX517与AT89C51的通信子程序························· 6

五、实验程序······································6

六、实验电路图····································10

七、实验结果······································11

八、实验心得······································11

九、参考文献·····································12

 

一、PROTEL的基本介绍

PROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用。

早期的PROTEL主要作为印制板自动布线工具使用,运行在DOS环境,对硬件的要求很低,在无硬盘286机的1M内存下就能运行,但它的功能也较少,只有电路原理图绘制与印制板设计功能,其印制板自动布线的布通率也低。

而现今的PROTEL已发展到DXP2004,是个庞大的EDA软件,完全安装有200多M,它工作在WINDOWS95环境下,是个完整的板级全方位电子设计系统,它包含了电路原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有Client/Server(客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印制线路板的自动布线可实现高密度PCB的100%布通率。

在国内PROTEL软件较易买到,有关PROTEL软件和使用说明的书也有很多,这为它的普及提供了基础。

想更多地了解PROTEL的软件功能或者下载PROTEL99的试用版,可以在INTERNET上。

  2005年年底,Protel软件的原厂商Altium公司推出了Protel系列的最新高端版本AltiumDesigner6.0。

AltiumDesigner6.0,它是完全一体化电子产品开发系统的一个新版本,也是业界第一款也是唯一一种完整的板级设计解决方案。

AltiumDesigner是业界首例将设计流程、集成化PCB设计、可编程器件(如FPGA)设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计方案从概念转变为最终成品所需的全部功能。

这款最新高端版本AltiumDesigner6.除了全面继承包括99SE,Protel2004在内的先前一系列版本的功能和优点以外,还增加了许多改进和很多高端功能。

AltiumDesigner6.0拓宽了板级设计的传统界限,全面集成了FPGA设计功能和SOPC设计实现功能,从而允许工程师能将系统设计中的FPGA与PCB设计以及嵌入式设计集成在一起。

二、KeiluVision4的介绍

2009年2月发布KeiluVision4,KeiluVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。

新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。

新版本支持更多最新的ARM芯片,还添加了一些其他新功能。

2011年3月ARM公司发布最新集成开发环境RealViewMDK开发工具中集成了最新版本的KeiluVision4,其编译器、调试工具实现与ARM器件的最完美匹配。

三、AT89C51的基本介绍

1、AT89C51单片机的主要工作特性

AT89C51的工作电源电压为5(1±0.2)V且典型值为5V,最高工作频率为24MHz.

·内含4KB的FLASH存储器,擦写次数1000次;

·内含28字节的RAM;

·具有32根可编程I/O线;

·具有2个16位可编程定时器;

·具有6个中断源、5个中断矢量、2级优先权的中断结构;

·具有1个全双工的可编程串行通信接口;

·具有一个数据指针DPTR;

·两种低功耗工作模式,即空闲模式和掉电模式;

·具有可编程的3级程序锁定定位。

2、AT89C51各部分的组成及功能

单片机的中央处理器(CPU)是单片机的核心,完成运算和操作控制,主要包括运算器和控制器两部分。

(1)运算器

运算器主要用来实现算术、逻辑运算和位操作。

其中包括算术和逻辑运算单元ALU、累加器ACC、B寄存器、程序状态字PSW和两个暂存器等。

ALU是运算电路的核心,实质上是一个全加器,完成基本的算术和逻辑运算。

算术运算包括加、减、乘、除、增量、减量、BCD码运算;逻辑运算包括“与”、“或”、“异或”、左移位、右移位和半字节交换,以及位操作中的位置位、位复位等。

暂存器1和暂存器2是ALU的两个输入,用于暂存参与运算的数据。

ALU的输出也是两个:

一个是累加器,数据经运算后,其结果又通过内部总线返回到累加器;另一个是程序状态字PSW,用于存储运算和操作结果的状态。

累加器是CPU使用最频繁的一个寄存器。

ACC既是ALU处理数据的来源,又是ALU运算结果的存放单元。

单片机与片外RAM或I/O扩展口进行数据交换必须通过ACC来进行。

B寄存器在乘法和除法指令中作为ALU的输入之一,另一个输入来自ACC。

运算结果存于AB寄存器中。

(2)控制器

控制器是识别指令并根据指令性质协调计算机内各组成单元进行工作的部件,主要包括程序计数器PC、PC增量器、指令寄存器、指令译码器、定时及控制逻辑电路等,其功能是控制指令的读入、译码和执行,并对指令执行过程进行定时和逻辑控制。

AT89C51单片机中,PC是一个16位的计数器,可对64KB程序存储器进行寻址。

复位时PC的内容是0000H。

(3)存储器

单片机内部的存储器分为程序存储器和数据存储器。

AT89C51单片机的程序存储器采用4KB的快速擦写存储器FlashMemory,编程和擦除完全是电器实现。

(4)外围接口电路

AT89C51单片机的外围接口电路主要包括:

4个可编程并行I/O口,1个可编程串行口,2个16位的可编程定时器以及中断系统等。

3、AT89C51的工作原理

1.引脚排列及功能

AT89C51的封装形式有PDIP,TQFP,PLCC等,现以PDIP为例。

(1)I/O口线

•P0口8位、漏极开路的双向I/O口。

当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。

在编程时,P0口可用于接收指令代码字节;程序校验时,可输出指令字节。

P0口也可做通用I/O口使用,但需加上拉电阻。

作为普通输入时,应输出锁存器配置1。

P0口可驱动8个TTL负载。

•P1口8位、准双向I/O口,具有内部上拉电阻。

P1口是为用户准备的I/O双向口。

在编程和校验时,可用作输入低8位地址。

用作输入时,应先将输出锁存器置1。

P1口可驱动4个TTL负载。

•P2口8位、准双向I/O口,具有内部上拉电阻。

当使用外存储器或外扩I/O口时,P2口输出高8位地址。

在编程和校验时,P2口接收高字节地址和某些控制信号。

•P3口8位、准双向I/O口,具有内部上拉电阻。

P3口可作为普通I/O口。

用作输入时,应先将输出锁存器置1。

在编程/校验时,P3口接收某些控制信号。

它可驱动4个TTL负载。

(2)控制信号线

•RST复位输入信号,高电平有效。

在振荡器稳定工作时,在RST脚施加两个机器周期以上的高电平,将器件复位。

•EA/VPP外部程序存储器访问允许信号EA.当EA信号接地时,对ROM的读操作限定在外部程序存储器,地址为0000H-FFFFH;当EA接VCC时,对ROM的读操作从内部程序存储器开始,并可延续至外部程序存储器。

在编程时,该引脚可接编程电压5V或12V。

在编程校验时,该引脚可接VCC。

•PSEN片外程序存储器读选通信号PSEN,低电平有效。

在片外程序存储器取指期间,当PSEN有效时,程序存储器的内容被送至P0口;在访问外部RAM时,PSEN无效。

  

•ALE/PROG低字节锁存信号ALE.在系统扩展时,ALE的下降沿将P0口输出的低8位地址锁存在外接的地址锁存器中,以实现低字节地址和数据的分时传送。

此外,ALE端连续输出正脉冲,频率为晶振频率的1/6,可做外部定时脉冲使用。

(3)外部晶振引线

•XTAL1片内振荡器反向放大器和时钟发生线路的输入端。

使用片内振荡器时,连接外部石英晶体和微调电容。

•XTAL2片内振荡器反相放大器的输出端。

当使用片内振荡器时,外接石英晶体和微调电容。

2.存储器组织和特殊功能寄存器

AT89C51的存储器将程序存储器和数据存储器分开,并有各自的存储空间和访问指令。

它有4个存储空间:

片内存储器、片外存储器、片内数据存储器及片外存储器。

四、MAX517的简介

MAX517是8位电压输出型数模转换器,它带有简单的双线串行接口,允许多个设备之间进行通信,MAX517采用单5V电源工作。

 MAX517使用简单的双线串行接口,只需要标准的微处理器提供2根总线与之相连。

微处理器的SCL输出时钟信号,SDA输出数据。

当微处理器的SCL传送时钟脉冲时,对于MAX517来说,最高频率不能超过400kHz,即波特率不超过400kbps。

1、MAX517各引脚的具体说明

1脚(OUT):

D/A转换输出端; 

2脚(GND):

接地;

3脚(SCL):

时钟总线;

4脚(SDA):

数据总线; 

5、6脚(AD1,AD0):

用于选择哪个D/A通道的转换输出由于MAX517只有一个D/A,所以,使用时,这两个引脚通常接地;

7脚(VCC):

电源;

8脚(REF):

参考。

2、MAX517与AT89C51的硬件连接 

AT89C51是ATMEL公司的89系列单片机的一种电路,是市面上应用相当广泛的一种产品。

 MAX517与AT89C51的硬件连接电路中,采用MAX813作为看门狗电路,既可自动复位,也可手工复位。

利用该电路可以用数码管来显示0-255个数字量,图中,采用MAX7219作为数码驱动电路,若将MAX517的输出引脚连接到示波器上,还可以显示相应的模拟电压的变化情况。

 3、MAX517与AT89C51的通信子程序 

该系统应将MAX517作为从设备,AT89C51作为主设备。

首先主设备向从设备发送一个地址字节58H,之后从设备则发一个应答信号,主设备接到应答后,再发给从设备一个控制字节00H,当从设备接到该控制字节后,再发给主设备一个应答。

之后主设备便可发给从设备要转换的8位数据。

五、实验程序

#include

#include

#define_Nop()_nop_()//定义空指令

sbitSDA=P0^1;//模拟I2C数据传送位

sbitSCL=P0^0;//模拟I2C时钟控制位

bitack;//应答标志位

voidStart_I2c(void);//声明函数

voidStop_I2c(void);

voidSendByte(unsignedcharc);

bitWriteDAC(unsignedchardat);

/*------------------------------------------------

启动总线

------------------------------------------------*/

voidStart_I2c()

{

SDA=1;//发送起始条件的数据信号

_Nop();

SCL=1;

_Nop();//起始条件建立时间大于4.7us,延时

_Nop();

_Nop();

_Nop();

_Nop();

SDA=0;//发送起始信号

_Nop();//起始条件锁定时间大于4μ

_Nop();

_Nop();

_Nop();

_Nop();

SCL=0;//钳住I2C总线,准备发送或接收数据

_Nop();

_Nop();

}

/*------------------------------------------------

结束总线

------------------------------------------------*/

voidStop_I2c()

{

SDA=0;//发送结束条件的数据信号

_Nop();//发送结束条件的时钟信号

SCL=1;//结束条件建立时间大于4μ

_Nop();

_Nop();

_Nop();

_Nop();

_Nop();

SDA=1;//发送I2C总线结束信号

_Nop();

_Nop();

_Nop();

_Nop();

}

/*----------------------------------------------------------------

字节数据传送函数

------------------------------------------------------------------*/

voidSendByte(unsignedcharc)

{

unsignedcharBitCnt;

for(BitCnt=0;BitCnt<8;BitCnt++)//要传送的数据长度为8位

{

if((c<

elseSDA=0;

_Nop();

SCL=1;//置时钟线为高,通知被控器开始接收数据位

_Nop();

_Nop();//保证时钟高电平周期大于4μ

_Nop();

_Nop();

_Nop();

SCL=0;

}

_Nop();

_Nop();

SDA=1;//8位发送完后释放数据线,准备接收应答位

_Nop();

_Nop();

SCL=1;

_Nop();

_Nop();

_Nop();

if(SDA==1)ack=0;

elseack=1;//判断是否接收到应答信号

SCL=0;

_Nop();

_Nop();

}

/*------------------------------------------------

写入DA转换数值

输入参数:

dat表示需要转换的DA数值,范围是0-255

------------------------------------------------*/

bitWriteDAC(unsignedchardat)

{

Start_I2c();//启动总线

SendByte(0x58);//发送器件地址

if(ack==0)return(0);

SendByte(0x00);//发送器件子地址

if(ack==0)return(0);

SendByte(dat);//发送数据

if(ack==0)return(0);

Stop_I2c();

}

/*------------------------------------------------

主程序

------------------------------------------------*/

main()

{

unsignedcharnum;

while

(1)

{

num=0x77;

WriteDAC(num);

}

}

六、实验电路图

七、实验结果

八、实验心得

通过本门课程设计以下能力得到了提升:

培养了综合应用相关知识解决实验问题的基础理论;培养在实践问题中研究问题,分析问题解决问题的能力;这些年来,有限的时间和精力都投入到了学习当中,动手能力比较差,所以对于实验课程并不是很擅长。

实验时不能很迅速的熟悉每种仪器的使用方法,调试的时候有时会感觉无从下手,不知道具体按哪个键才能得到想要的波形和结果,往往在波形有问题的时候不知道是哪里出错了,画图的时候也显得比较缓慢,画出来的图形总是不太好看。

但正因为如此,我认为开设这门课程对于锻炼我的动手操作的能力有很大的帮助,也能提高我对课程的兴趣,而且实验中所用到的仪器都是常用的基本仪器,以后一定会经常需要,现在先掌握一些它的基本用法,以后要用时就能更熟练,为以后的研究奠定了基础。

在我看来,自学能力、读图绘图能力、联系理论知识的能力、分析问题的能力、实验精神等对于完成实验是不可或缺的。

九、参考文献

1傅承义,陈运泰,祁贵中.地球物理学基础.北京:

科学出版社,1985

2刘坤.51单片机C语言应用开发技术大全.北京:

人民邮电出版社,2008

3韩全立,王建明.单片机控制技术及应用.北京:

电子工业出版社,2004

4杨素行,模拟电子技术基础简明教程.北京:

高等教育出版社,2007

5蒋辉平,单片机原理与应用设计.北京:

北京航空航天大学出版社,2007

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1