基于Proteus的AD转换仿真
实验八 Proteus仿真软件使用方法

实验八 Proteus仿真软件使用方法1.实验目的:(1)了解Proteus仿真软件的使用方法。
(2)了解51单片机编程器Keil与Proteus仿真软件的联用方法。
2.实验要求:通过讲授和操作练习,学会正确使用Proteus仿真软件及Keil编程及其联合调试。
3.实验内容:(1)Proteus 仿真软件介绍Proteus 软件是由英国LabCenter Electronics 公司开发的EDA工具软件,由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。
它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。
通过Proteus ISIS软件的VSM(虚拟仿真技术), 用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。
图8-1是Proteus ISIS的编辑窗口:图8-1 ISIS的编辑界面图中最顶端一栏是“标题栏”,其下的“File View Edit ……”是“菜单栏”,再下面的一栏是“命令工具栏”,最左边的一栏是“模式选择工具栏”;左上角的小方框是“预览窗口”,其下的长方框是“对象选择窗口”,其右侧的大方框是“原理图编辑窗口”。
选择左侧“模式选择工具栏”中的图标,并选择“对象选择窗口”中的P按钮,就会出现如图8-2的元器件选择界面:图8-2 元器件库选择界面在元器件列表框中点击你需要的器件类型(例如:电阻-Resistors,单片机芯片-MicroprocessorICs, LED-Optoelectronics)或在左上角的关键字(Keywords)框中输入你需要的器件名称的关键字(如:信号源 - Clock, 运放 - CA3140等),就会在图8-2中间的大空白框列出你所需的一系列相关的元件。
此时,你可用鼠标选中你要的元件,则图8-2右上角的预览框会显示你所要元件的示意图,若就是你要的元器件,则点击OK按钮,该元器件的名称就会列入位于图8-1左侧的“对象选择窗口”中(参见图1左侧下方框)。
基于OrCAD/PSpice的AD/DA转换电路的仿真实验研究

基于OrCAD/PSpice的AD/DA转换电路的仿真实验研究【摘要】分析了A/D D/A转换器的内部结构及其工作原理,并利用OrCAD/PSpice软件所提供的脉冲信号源及瞬态分析功能,解决了以往受传统实验仪器设备限制而难以验证的问题。
结合OrCAD/PSpice软件分别对D/A转换电路、A/D转换电路与及由A/D D/A组成的转换电路进行瞬态分析与仿真。
仿真结果表明所设计电路的仿真波形与理论值一致,当数字信号的转换位数越多,则转换误差越小。
【关键词】A/D D/A;OrCAD/PSpice;瞬态分析1.引言随着数字技术,特别是计算机技术的飞速发展与普及,在现代控制、通信及检测领域中,信号的处理无处不在。
自然界中的物理量,例如压力、温度、位移、等都是模拟量。
要对这些物理量进行控制和检测,往往需要一种能在模拟信号与数字信号之间起转换作用的电路——模数转换器和数模转换器。
A/D D/A转换器在电子线路中的应用十分广泛,它沟通了整个电子领域中的模拟域和数字域。
但在A/D D/A转换器的实验教学过程中,由于受传统实验设备的限制,很难对其实际工作过程进行有效的分析与验证。
OrCAD/PSpice提供了一个虚拟实验平台,它克服了传统电子元器件、仪器设备的限制,包含非常丰富的电子元器件库,并且提供功能强大的多种仿真分析功能,本文利用其瞬态分析功能,在A/D和D/A 转换电路的仿真与分析中,很好地捕捉和展现出各种时域暂态的数字信号和相应模拟电压波形,能帮助学生熟悉和快速掌握先进的电路实验方法和技能。
2.A/D D/A转换电路基本原理(1)AD转换电路基本原理A/D转换器是用来将模拟信号转换成一组相应的二进制数字量输出。
图1为8位逐次比较型A/D转换器框图。
它由控制逻辑电路、数据寄存器、移位寄存器、D/A转换器及电压比较器组成。
电路启动后,第一个CP将移位寄存器置为10000000,该数字经数据寄存器送入D/A转换器。
基于AD转换模块的单片机仿真和C语言开发

1摘要1.1 功能描述使用ADC0808型号的A/D转换器对多路模拟信号进行数据采集,同时与单片机进行通信,将测量的模拟信号量传递给89C51单片机,由单片机进行运算,输出对应的数字量,然后在数码管上显示出来。
设计中采用开关来选择输入不同通道的模拟信号。
1.2系统框图图1 系统框图2 设计软件基础知识2.1 C编译器Keil介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
KeilSoftware公司推出的uVision4是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。
除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。
此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。
uVision3提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。
uVision4提供对多种最新的8051类微处理器的支持,包括AnalogDevices 的ADuC83x和ADuC84x,以及Infineon的XC866等。
2.2 Proteus软件简介Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
单片机AD模数转换实验报告

单片机AD模数转换实验报告一、实验目的和要求1、掌握单片机与ADC0809的接口设计方法。
2、掌握Proteus软件与Keil软件的使用方法。
二、设计要求。
1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。
2、在0809的某一模拟量输入通道上接外部模拟量。
3、在单片机的外部扩展数码管显示器。
4、分别采用延时和查询的方法编写A/D 转换程序。
5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。
三、电路原理图。
图1、电路仿真图四、实验程序流程框图和程序清单。
1、查询法:ORG 0000HSTART: LJMP MAINORG 0100HMAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: M OV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ENDdisplay 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回2、延时法:ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH LOOP: MOV DPTR, #0FF78H MOVX @DPTR, A LCALL DELAY MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP LOOP DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: M OV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H开始启动AD 延时从AD中取数据数据处理结束调显示子函数END五、实验结果。
基于Proteus的单片机AD转换仿真实验

基于Proteus的单片机A/D转换仿真实验作者:杨欢杜少华袁国锋陈晓来源:《教育教学论坛》2019年第30期摘要:A/D转换器是一种能把输入模拟电压或电流变成与其成正比的数字量的电路芯片,它广泛应用在单片机的前向输入通道中。
文章采用ADC0804单通道8位并行接口芯片作为A/D转换器完成数据转换,控制器使用美国ATMEL公司的增强型AT89C52单片机,对转换完成后得到的数字量经过单片机P1口输出到8个LED发光二极管上显示。
使用Keil C51编程软件,编译成功后,用Proteus仿真软件设计电路原理图,实现A/D转换过程并显示转换结果。
关键词:Proteus;单片机;A/D转换;仿真中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2019)30-0278-03在单片测控系统中,对非电物理量如温度、压力、流量等的测量,需经传感器先转换成连续变化的模拟电信号(电压或电流),然后再将模拟电信号转换成数字量后才能在单片机中进行处理。
实现模拟量转换成数字量的器件称为ADC(A/D转换器)。
单片机处理完毕的数字量,有时根据控制需求转换为模拟信号输出。
数字量转换成模拟量的器件称为DAC(D/A转换器)[1]。
本文将介绍一种基于Proteus的A/D转换仿真实现过程,A/D转换器使用ADC0804单通道8位并行接口芯片完成数据转换,控制器使用美国ATMEL公司的增强型AT89C52单片机,转换结果经过单片机P1口送到8个LED发光二极管上显示输出。
通过该仿真实验可以清楚地了解A/D转换的原理,直观地看到A/D转换的对比结果。
一、A/D转换芯片ADC0804简介A/D转换器(ADC)把模拟量转换成数字量,单片机才能进行数据处理。
随着超大规模集成电路技术的飞速发展,大量结构不同、性能各异的A/D转换芯片应运而生。
对设计者来说,只需合理地选择芯片即可。
現在部分单片机片内也集成了A/D转换器,位数为8位、10位或12位,且转换速度也很快,但是在片内A/D转换器不能满足需要的情况下,还是需要扩充。
proteus仿真课程设计

proteus仿真课程设计一、教学目标本课程的教学目标是让学生掌握Proteus仿真软件的基本操作,能够进行简单的电路设计和仿真实验。
具体包括以下三个方面:1.知识目标:使学生了解Proteus软件的基本功能和操作界面,理解电路仿真原理,掌握电路图的绘制和元件的选取与放置。
2.技能目标:培养学生能够运用Proteus软件进行电路设计和仿真实验,能够分析并解决实验过程中遇到的问题,提高学生的动手能力和创新思维。
3.情感态度价值观目标:培养学生对电子技术和仿真实验的兴趣,增强学生的团队合作意识,培养学生的科学探究精神。
二、教学内容教学内容主要包括Proteus软件的基本操作、电路图的绘制、元件的选取与放置、电路仿真原理及实验操作等。
具体安排如下:1.Proteus软件的基本操作:介绍软件的启动与退出、界面布局、工具栏功能等。
2.电路图的绘制:讲解电路图的基本元素、绘制方法以及常用电路符号。
3.元件的选取与放置:介绍元件库的分类、元件的选取与放置方法、元件参数的设置等。
4.电路仿真原理:讲解仿真实验的基本原理、仿真步骤以及结果分析。
5.实验操作:安排一系列具有代表性的实验,使学生在实践中掌握Proteus软件的使用。
三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:讲解Proteus软件的基本操作、电路图的绘制、元件的选取与放置等理论知识。
2.案例分析法:通过分析具体案例,使学生掌握电路仿真原理及实验操作。
3.实验法:安排一系列实验,让学生动手操作,培养学生的实际操作能力。
4.小组讨论法:鼓励学生分组讨论实验过程中遇到的问题,培养学生的团队合作精神。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Proteus仿真教程》2.参考书:《电子电路设计与仿真》3.多媒体资料:教学PPT、实验演示视频等。
4.实验设备:计算机、Proteus软件、电子元件等。
AD和DA转换器的仿真

AD和DA转换器的仿真通信原理课程设计报告级电子信息工程专业姓名:班级:学号:一、设计题目:A/D和D/A转换器的仿真二、设计目的1.学习通过计算机建立通信系统仿真模型的基本技能,学会利用仿真的手段对实时通信系统的基本理论,基本进行验证。
2.学习现在流行的通信系统仿真软件的使用方法(如Matlab/Simulink,System View),使用这些软件解决实际系统中的问题。
三、设计要求1.根据所选的题目建立相应的数学模型。
2.在Matlab/Simulink仿真环境下,从各种功能库中选取、拖动可视化图符组建系统,在Simulink的基本模块库中选取满足需要的功能模块,将其图符拖到设计窗口,按设计的系统框图组建系统。
3.设置,调整参数,实现系统模拟。
4.设置观察窗口、分析数据和波形。
四、开发环境及其介绍1.开发环境:Matlab/Simulink2.软件介绍:(1)Simulink是MATLAB提供的用于对动态系统进行建模和仿真和分析的工具。
Simulink提供了专门用于显示输出信号的模块,可以在过程中随时观察仿真的结果。
(2)通过Simulink的存储模块,仿真数据可以方便地以各种形式保存到工作空间或文件中,以供用户在仿真结束之后对数据进行分析和处理。
(3)Simulink把具有特定功能的代码组织成模块的方式,并且这些模块可以组织成具有等级结构的子系统,因此具有内在的模块化设计要求。
基于以上优点,Simulink作为一种通用的的仿真建模软件工具,广泛用于通信仿真、数字信号处理、模糊逻辑、神经网络、机械控制、和虚拟现实等领域中。
作为一款专业仿真软件,Simulink具有以下特点:●基于矩阵的数值计算;●高级编程语言以及可视化的图形操作界面;●包含各个领域的仿真工具,使用方便快捷并可以扩展;●丰富的数据I/O接口;●提供与其他高级语言的接口;●支持多平台(PC/UNIX)。
五、设计内容1设计原理A/D转换器负责将模拟信号转换为数字信号,其转换过程为:首先对输入模拟信号进行采样,所使用的的采样速率要满足采样定理要求,然后对采样结果进行幅度离散化并编码为符号串。
ADC0808和TLC549的proteus仿真实验

A/D转换与数据采集1、实验目的(1) 掌握A/D转换与单片机的接口方法;(2)掌握A/D芯片ADC0808和TLC549的编程方法;(3)掌握数据采集程序的设计方法;2、实验内容利用实验开发装置上的ADC0808做A/D转换器,对电位器提供的模拟电压信号进行定时采样,结果在数码管上进行显示。
3、I/O地址A/D转换芯片 ADC0808CLK P3.7 时钟位DAT P3.5 数据位CS P3.6 选片位4、ADC0808的proteus仿真实验线路5、实验步骤在PC机输入源程序并汇编,然后下载到单片机上,进行调试。
6、ADC0808的实验程序#include <reg52.h>sbit ALE = P3^3;sbit OE = P3^4;sbit EOC = P3^5;sbit STA = P3^6;sbit CLK = P3^7;unsigned int num; //AD转换后的数字量char ch; //通道号码// 延时函数void delay(unsigned int z){unsigned int x, y;for(x = z; x > 0; x--) for(y = 110; y > 0; y--) CLK = ~CLK;}// 数码管显示函数void display(void){char code table[] = { //共阴段码0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, //0~70x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}; //8~FP0 = 0; P2 = 0xf7; P0 = table[ch]; delay(2);//通道号码P0 = 0; P2 = 0xfb; P0 = table[num / 100] + 128; delay(2);//百位加上小数点P0 = 0; P2 = 0xfd; P0 = table[num % 100 / 10]; delay(2);//十位P0 = 0; P2 = 0xfe; P0 = table[num % 10]; delay(2);//个位P0 = 0; //关闭显示器}// 转换函数void main(void){while(1) { //无穷循环ch = P2 / 32; //取来通道号码P3 = ch + 0xf8; //送给ADC0808ALE = 1; ALE = 0; //地址锁存STA = 1; STA = 0; //开始转换,稍候,才可读EOCdisplay(); //显示,既做延时,又输出CLKwhile(EOC == 0) display(); //等待转换结束num = P1; //取出转换结果num = num * 100 / 51; //比例变换:255 --> 500}}7、TLC549的proteus仿真实验线路在PC机输入源程序并汇编,然后下载到单片机上,进行调试。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Proteus
转换仿真
班级:电信13-2
*名:***
邓成智
崔俊杰
邓石磊
陈亮
高金玉
成绩:
电子与信息工程学院
信息与通信工程系
1.设计要求
1.1掌握Proteus软件与Keil软件的使用方法
1.2 设计一个简单的单片机数据采集系统,利用ADC0809转化器,轮流采集模拟量输
入电压信号,并将模拟量转换成数字量,通过数码管显示器显示。
2. 仿真电路图
ADC0809仿真电路图如图2-1
图2-1:ADC0809仿真电路图
3.C51程序
#include <reg52.h>
#include<intrins.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define COM0808 XBYTE[0XEFF8]
char code dis_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
char find_code[4];
sbit EOC=P3^3;
sbit P0_7=P0^7;
void Delay1ms(uint count)
{
uint j; while(count--!=0)
{ for(j=0;j<80;j++);
}
}
void disp()
{ uchar i,j=0x01;
uchar k;
for(i=0;i<4;i++)
{ P2=j;
k=find_code[i];
P0=dis_code[k];
if(i==2)
{ P0_7=0;
}
Delay1ms(1);
j=_crol_(j,1);
}
}
int ad0808()
{
int m;
COM0808=0X00;
do{}while(!EOC);
m=COM0808;
return(m);
}
void main()
{while(1) { int X;
X=ad0808();
X=X*100/51;
find_code[0]=X%10;
find_code[1]=X%100/10;
find_code[2]=X/100;
find_code[3]=11;
disp();
}
}
4.仿真效果
将程序产生的十六进制代码加载到proteus中,运行仿真,调节滑动变阻器改变AD输入的电压,可以到如图4.1—4.6所示的仿真结果
4-1:输入电压为5.00V 4-2:输入电压为4.70V
4-3:输入电压为3.10V 4-4:输入电压为2.55V
4-5:输入电压为2.80V 4-6:输入电压为4.05V
5.仿真总结
这次A/D仿真实验相对以前的三个实验对于我来说有比较大的难度。
在自主编程和绘制原理图的过程中理论知识的欠缺就表现出来了。
比如说:在使用Protues软件进行电路设计时接线的引脚连接不是很清楚,不知道正确使用AD0809芯片与单片机的接口进行总线扩展。
因此,此次实验程序编写尤其显得吃力,并且在仿真的时候有不明原因的延时显示。
不过经过此次实验我学到了更多的单片机和单片机资源扩展芯片的知识。
5。