最新简单实例掌握PROTEUS速成.docx

上传人:b****8 文档编号:9444144 上传时间:2023-02-04 格式:DOCX 页数:90 大小:1.36MB
下载 相关 举报
最新简单实例掌握PROTEUS速成.docx_第1页
第1页 / 共90页
最新简单实例掌握PROTEUS速成.docx_第2页
第2页 / 共90页
最新简单实例掌握PROTEUS速成.docx_第3页
第3页 / 共90页
最新简单实例掌握PROTEUS速成.docx_第4页
第4页 / 共90页
最新简单实例掌握PROTEUS速成.docx_第5页
第5页 / 共90页
点击查看更多>>
下载资源
资源描述

最新简单实例掌握PROTEUS速成.docx

《最新简单实例掌握PROTEUS速成.docx》由会员分享,可在线阅读,更多相关《最新简单实例掌握PROTEUS速成.docx(90页珍藏版)》请在冰豆网上搜索。

最新简单实例掌握PROTEUS速成.docx

最新简单实例掌握PROTEUS速成

学习教程protues

子情境1:

简单实例助你快速掌握PROTEUS的用法12

1.1子情境内容:

让单片机动起来,用单片机控制一个LED灯闪烁发光。

15

1.2子情境目标:

15

1.3子情境步骤15

1.3.1步骤一:

PROTEUS电路设计15

1.3.2步骤二:

源程序设计与生成目标代码文件20

(1)程序流程图20

(2)源程序设计21

1.3.3步骤三:

PROTEUS仿真22

1.4扩展练习24

子情境二:

用发光二极管实现流水灯乒乓球效果25

2.1子情境目标:

25

2.2子情境步骤25

2.2.1步骤一:

PROTEUS电路设计25

2.2.2步骤二:

源程序设计与目标代码文件生成26

(1)程序流程图26

(2)源程序设计27

2.2.3步骤三:

PROTEUS仿真29

2.4扩展练习29

子情境三:

数码管动态扫描30

3.1子情境内容:

利用动态扫描让四位数码管稳定的显示1234。

30

3.2子情境目标:

30

(1)掌握单片机控制四位数码管的动态扫描技术,包括程序设计和电30

3.3知识点链接30

3.4任务步骤31

3.4.1步骤一:

PROTEUS电路设计,单片机控制四位共阴极数码管动态扫描显示的原理图如图5-17所示。

31

3.4.2步骤二:

源程序设计与目标代码文件生成33

(1)程序流程图33

(2)源程序设计33

3.4.3步骤三:

PROTEUS仿真35

3.5扩展练习36

子情境四:

定时/计数器的使用——方波发生器37

4.1子情境内容:

用AT89C51单片机定时/计数器0的定时功能可构成一简单的方波发生器,实现周期为2s的方波,并能在虚拟示波器上直观地显示波形。

37

4.2子情境目标:

37

4.3知识点链接37

4.4.1步骤一:

PROTEUS电路设计,实现周期为2s的方波的原理图如图5-22所示。

37

(1)程序流程图38

(2)源程序设计38

4.4.3步骤三:

PROTEUS仿真39

4.5扩展练习41

子情境五:

单片机外部中断仿真42

5.1子情境内容:

外部中断是单片机的重要内容,本子情境用外部中断功能改变流水灯和数码管的显示状态。

42

5.2子情境目标:

42

(1)理解单片机的中断原理及中断过程42

(2)用PROTEUS设计、仿真单片机的外部中断。

42

5.3知识点链接42

5.4任务步骤42

5.4.1步骤一:

PROTEUS电路设计,实现外部中断功能改变流水灯和数码管的显示状态的原理图42

5.4.2步骤二:

源程序设计与目标代码文件生成43

(1)程序流程图43

(2)源程序设计43

5.4.3步骤三:

PROTEUS仿真45

5.5扩展练习47

主程序中数码管从0至9顺序显示数字,中断发生后(在单片机P3.2引脚上有低电平),数码管从9至0反序显示。

47

子情境六:

直流电机正反转48

6.1子情境内容:

用单片机AT89C51控制直流电机正反转。

48

6.2子情境目标:

48

(1)掌握趋动电机正反转的电路48

(2)用PROTEUS实现电机正反转电路的设计,并进行实时交互仿真48

6.3知识点链接48

6.4任务步骤48

6.4.1步骤一:

PROTEUS电路设计,实现用单片机AT89C51控制直流电机正反转原理图48

6.4.2步骤二:

源程序设计与目标代码文件生成50

(1)程序流程图50

(2)源程序设计51

6.4.3步骤三:

PROTEUS仿真52

6.5扩展练习53

子情境七:

用ADC0809实现电压表55

7.1子情境内容:

利用单片机AT89C52和ADC0809设计一个数字电压表,能够测量0-5V之间的电压值,用四位数码管显示。

55

7.2子情境目标:

55

(1)掌握PROTEUS中电压探针和电压表的使用方法55

(2)通过制作简易电压表,学会AD转换芯片在单片机应用系统中的硬件接口技术和编程方法。

55

7.3知识点链接55

了解ADC0809芯片的功能以及使用方法55

(1)功能:

ADC0809芯片为8通道模/数转换器,可以和单片机直接接口,将IN0~IN7任何一通道输入的模拟电压转换成八位二进制数,在时钟为500KHZ时,一次变换时间约为100us。

55

(2)使用方法:

28脚双列直插式封装如图5-39所示,各引脚功能如下:

55

7.4任务步骤56

7.4.1步骤一:

PROTEUS电路设计,利用单片机AT89C52和ADC0809设计一个数字电压表的原理图如图5-40所示。

56

7.4.2步骤二:

源程序设计与目标代码文件生成58

(1)程序流程图58

(2)源程序设计59

7.4.3步骤三:

PROTEUS仿真62

7.5扩展练习66

子情境八:

1602液晶显示器67

8.1子情境内容:

利用单片机AT89C52控制液晶显示器(LiquidCrystalDisplay,简称为LCD)实时显示。

在1602液晶的第一行显示“ILOVEMYFAMILY”,在第二行显示“WWW.YZCIT.CN”。

67

8.2子情境目标:

67

(1)掌握1602液晶与单片机的接口电路67

(2)通过控制LCD,学会LCD液晶模块在单片机应用系统中的编程方法。

67

8.3知识点链接67

了解LCD1602芯片的功能以及使用方法67

(1)功能:

本情境中所使用的液晶显示器型号为1602,意思是每行显示16个字符,一共可以显示两行。

此液晶只能显ASCII字符,如数字、大小写字母、各种符号等。

67

(2)使用方法:

1602液晶的引脚图67

8.4任务步骤68

8.4.1步骤一:

PROTEUS电路设计,利用单片机AT89C52控制液晶显示器实时显示的原理图如图5-46所示。

68

8.4.2步骤二:

源程序设计与目标代码文件生成69

(1)程序流程图69

(2)源程序设计69

8.4.3步骤三:

PROTEUS仿真71

8.5扩展练习72

子情境九:

简易秒表制作73

9.1子情境内容:

制作简易秒表,利用按键构成键盘实现秒表的启动、停止与复位,利用LED数码管显示时间。

73

9.2子情境目标:

73

(1)通过简易秒表的制作,进一步熟悉LED数码管与单片机的接口电路73

(2)学习定时/计数器、中断技术的综合运用并会使用简易键盘73

9.3知识点链接73

9.4任务步骤73

9.4.1步骤一:

PROTEUS电路设计,简易秒表的原理图如图5-51所示。

73

9.4.2步骤二:

源程序设计与目标代码文件生成74

(1)程序流程图74

(2)源程序设计76

9.4.3步骤三:

PROTEUS仿真79

9.5扩展练习81

此子情境设计的秒表只能显示两位整数,如果要记录110跨栏12:

88秒的成绩,则必须再增加两位数码管来显示小数位。

想想硬件和软件应该做如何改动。

81

子情境十:

点阵LED简单图形显示技术82

10.1子情境内容:

利用单片机AT89C52在8×8点阵上逐次显示心形、圆形和菱形图。

82

10.2子情境目标:

82

(1)通过学习点阵LED显示技术,掌握单片机与点阵的接口电路。

82

(2)进一步熟悉单片机I/O口的运用方法,了解动态显示的编程方法82

10.3知识点链接82

10.4任务步骤83

10.4.1步骤一:

PROTEUS电路设计,LED点阵的原理图如图5-56所示。

83

10.4.2步骤二:

源程序设计与目标代码文件生成84

(1)程序流程图84

(2)源程序设计85

10.4.3步骤三:

PROTEUS仿真87

10.5扩展练习88

 

子情境1:

简单实例助你快速掌握PROTEUS的用法

为了更快掌握PROTEUS设计与仿真操作,我们先从一简单实例入手带你入门。

让我们首先来熟悉一下仿真软件的主界面:

图5-1仿真软件的主界面

运行protues的ISIS模块,进入仿真软件的主界面,如图5-1所示,区域①为菜单及工具栏,区域②为元器件预览区,区域③为对象选择器窗口,区域④为编辑窗口,区域⑤为绘图工具栏,区域⑥为元器件调整工具栏,区域⑦为运行工具条。

Proteus是一种集单片机仿真和SPICE分析于一身的仿真软件。

其功能非常强大,不仅能仿真模拟电路、数字电路以及模拟数字混合电路,更重要的是可以仿真51系列、AVR、PIC等常用主流单片机。

Protues提供了丰富的资源:

(1)Proteus拥有的元器件资源:

Proteus可提供30多种元件库,超过8000种模拟、数字元器件。

(2)Proteus可提供的仿真仪表资源:

仿真仪器仪表的数量、类型和质量是衡量仿真实验室是否合格的一个关键因素。

Proteus可提供常用的示波器(本文的实例中示波器被用来观察产生的波形)、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。

以下简要罗列了proteus中常用元器件和仿真仪表中英文对照表:

7407驱动门  

1N914二极管  

74Ls00与非门 

74LS04非门

74LS08与门  

74LS390TTL双十进制计数器 

7SEG4针BCD-LED输出从0-9对应于4根线的BCD码

7SEG3-8译码器电路BCD-7SEG转换电路    

AND与门  

BATTERY电池/电池组  

BUS总线  

CAP电容  

CAPACITOR电容器  

CLOCK时钟信号源  

CRYSTAL晶振  

FUSE保险丝  

GROUND地  

LAMP灯  

LED-RED红色发光二极管  

LM016L2行16列液晶可显示2行16列英文字符,有8位数据总线D0-D7,RS,R/W,EN三个控制端口(共14线),工作电压为5V。

LOGICANALYSER逻辑分析器  

LOGICPROBE逻辑探针  

LOGICPROBE[BIG]逻辑探针用来显示连接位置的逻辑状态

LOGICSTATE逻辑状态用鼠标点击,可改变该方框连接位置的逻辑状态

LOGICTOGGLE逻辑触发  

MOTOR马达  

OR或门 

POT-LIN三引线可变电阻器

POWER电源

RES电阻 

RESISTOR电阻器  

SWITCH按钮手动按一下一个状态

VOLTMETER伏特计 

VOLTMETER-MILLImV伏特计

VTERM串行口终端  

Electromechanical电机 

Inductors变压器  

LaplacePrimitives拉普拉斯变换

Miscellaneous各种器件AERIAL-天线;ATAHDD;ATMEGA64;BATTERY;CELL;CRYSTAL-晶振;FUSE;METER-仪表;

Optoelectronics各种发光器件发光二极管,LED,液晶等等

Resistors各种电阻  

SimulatorPrimitives常用的器件  

Speakers&Sounders  扬声器

Switches&Relays开关,继电器,键盘

Transistors晶体管(三极管,场效应管)

TTL74series 

TTL74ALSseries 

TTL74ASseries 

TTL74Fseries 

TTL74HCseries 

TTL74HCTseries 

TTL74LSseries 

TTL74Sseries 

此模拟电路集成芯片 

Capacitors电容集合 

Connectors排座,排插 

DataConvertersADC,DAC

DebuggingTools调试工具  

下面开始我们的第一个任务:

1.1子情境内容:

让单片机动起来,用单片机控制一个LED灯闪烁发光。

用P1口的第一个引脚控制一个LED灯,1秒钟闪烁一次。

1.2子情境目标:

通过此子情境的练习,快速掌握PROTEUS的基本用法

1.3子情境步骤

1.3.1步骤一:

PROTEUS电路设计

整个设计都是在ISIS编辑区中完成的。

(1)单击工具栏上的“新建”按钮

,新建一个设计文档。

单击“保存”按钮

,弹出如图5-2所示的“SaveISISDesigneFile”对话框,在文件名框中输入“LED”(简单实例的文件名),再单击“保存”按钮,完成新建设计文件操作,其后缀名自动为.DSN。

图5-2保存ISIS设计文件

(2)选取元器件

此简单实例需要如下元器件:

单片机:

AT89C51

发光二极管:

LED-RED

瓷片电容:

CAP*

电阻:

RES*

晶振:

CRYSTAL

按钮:

BUTTON

单击图5-3中的“P”按钮

,弹出如图5-4所示的选取元器件对话框,在此对话框左上角“keywords(关键词)”一栏中输入元器件名称,如“AT89C52”,系统在对象库中进行搜索查找,并将与关键词匹配的元器件显示在“Results”中。

在“Results”栏中的列表项中,双击“AT89C51”,则可将“AT89C52”添加至对象选择器窗口。

按照此方法完成其它元器件的选取,如果忘记关键词的完整写法,可以用“*”代替,如“CRY*”可以找到晶振。

被选取的元器件都加入到ISIS对象选择器中。

如图5-5所示。

图5-3单击“P”按钮选取元器件

图5-4选取元器件窗口

图5-5选取元器件均加入到ISIS对象选择器中

(3)放置元器件至图形编辑窗口

在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放置的位置、单击鼠标左键,该对象被完成放置。

同理,将BUTTON、RES等放置到图形编辑窗口中。

如图5-6所示。

若元器件方向需要调整,先在ISIS对象选择器窗口中单击选中该元器件,再单击工具栏上相应的转向按钮

,把元器件旋转到合适的方向后再将其放置于图形编辑窗口。

若对象位置需要移动,将鼠标移到该对象上,单击鼠标右键,此时我们已经注意到,该对象的颜色已变至红色,表明该对象已被选中,按下鼠标左键,拖动鼠标,将对象移至新位置后,松开鼠标,完成移动操作。

通过一系列的移动、旋转、放置等操作,将元器件放在ISIS编辑窗口中合适的位置。

如图5-6所示。

(4)放置终端(电源、地)

放置电源操作:

单击工具栏中的终端按钮

,在对象选择器窗口中选择“POWER”如图5-7所示,再在编辑区中要放电源的位置单击完成。

放置地(GROUND)的操作与此类似。

图5-6各元器件放在ISIS编辑窗口中合适的位置

图5-7放置终端符号

(5)元器件之间的连线

Proteus的智能化可以在你想要画线的时候进行自动检测。

下面,我们来操作将电阻R1的右端连接到LED显示器的左端,如图5-6所示。

当鼠标的指针靠近R1右端的连接点时,跟着鼠标的指针就会出现一个“□”号,表明找到了R1的连接点,单击鼠标左键,移动鼠标(不用拖动鼠标),将鼠标的指针靠近LED的左端的连接点时,跟着鼠标的指针就会出现一个“□”号,表明找到了LED显示器的连接点,单击鼠标左键完成电阻R1和LED的连线。

Proteus具有线路自动路径功能(简称WAR),当选中两个连接点后,WAR将选择一个合适的路径连线。

WAR可通过使用标准工具栏里的“WAR”命令按钮

来关闭或打开,也可以在菜单栏的“Tools”下找到这个图标。

同理,我们可以完成其它连线。

在此过程的任何时刻,都可以按ESC键或者单击鼠标的右键来放弃画线。

(6)修改、设置元器件的属性

PROTEUS库中的元器件都有相应的属性,要设置修改元器件的属性,只需要双击ISIS编辑区中的该元器件。

例如,发光二极管的限流电阻R1,双击它弹出如图5-7所示的属性窗口,在窗口中已经将电阻的阻值修改为330欧姆。

图5-9是编辑完成的“简单实例”的电路。

图5-8设置限流电阻阻值为330欧姆

图5-9编辑完成的简单实例的电路图

1.3.2步骤二:

源程序设计与生成目标代码文件

(1)程序流程图

图5-10发光二极管闪烁的流程图

(2)源程序设计

将放光二极管闪烁的程序保存在文件FLASH_LED.C中,在keil中编译生成目标代码文件,本例为FLASH_LED.HEX。

#include//头文件

#defineuintunsignedint//宏定义

sbitD1=P1^0;//声明单片机P1口的第一位

voiddelay(uintz);//声明子函数

voidmain()

{

while

(1)//大循环

{

D1=0;//点亮第一个发光二极管

delay(500);//延时500毫秒

D1=1;//关闭第一个发光二极管

delay(500);//延时500毫秒

}

}

voiddelay(uintz)//延时子程序延时约z毫秒

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

1.3.3步骤三:

PROTEUS仿真

(1)加载目标代码文件

双击编辑窗口的AT89C52器件,在弹出如图5—11所示属性编辑对话框ProgramFile一栏中单击打开按钮

,出现文件浏览对话框,找到FLASH_LED.HEX文件,单击“打开”按钮,完成添加文件。

在Clockfrequency栏中把频率设置为12MHZ,仿真系统则以12MHZ的时钟频率运行。

因为单片机运行的时钟频率以属性设置中的“Clockfrequency”为准,所以在编辑区设计MCS-51系列单片机系统电路时,可以略去单片机振荡电路,并且复位电路也可以略去。

所以从子情境三开始就将振荡电路和复位电路省略。

图5-11加载目标代码文件窗口

(2)仿真

单击按钮

,启动仿真,仿真运行片段如图5-12所示。

发光二极管间隔500毫秒闪烁。

图5—12仿真运行片段

红色方块代表低电平,蓝色方块代表高电平,灰色方块代表不确定电平

1.4扩展练习

改成让P1.1口控制LED灯1秒钟闪烁一次。

子情境二:

用发光二极管实现流水灯乒乓球效果

2.1子情境目标:

(1)通过AT89C52单片机控制8个发光二极管,实现亮点由低位到高位再由高位到低位来回流动的乒乓球效果

(2)用PROTEUS设计、仿真以AT89C52为核心的放光二极管流水灯电路。

(3)掌握发光二极管的控制方法

2.2子情境步骤

2.2.1步骤一:

PROTEUS电路设计

(1)选取元器件:

按快捷键“P”按钮

,打开元器件选择窗口。

在关键词栏中输入元器件的关键词,选取需要的元器件。

①单片机:

AT89C52

②电阻、8排阻:

RES*

③红色发光二极管:

LED-RED

④瓷片电容:

CAP*

⑤晶振:

CRYSTAL

(2)放置元器件:

在对象选择器中单击选中AT89C52,在编辑区中合适的位置单击,器件AT89C52就被放置到编辑区中。

如果要改变元器件的放置方向,先在ISIS对象选择器中单击选中该元器件,再单击工具栏上相应的转向按钮

,把元器件旋转到合适的方向后再将其放置于图形编辑窗口。

(3)放置终端(电源、地)

放置电源操作:

单击工具栏中的终端按钮

,在对象选择器窗口中选择“POWER”,再在编辑区中要放电源的位置单击完成。

放置地(GROUND)的操作与此类似。

(4)元器件之间的连线

因为ISIS的智能化程度很高,只要单击所要连线的起点和终点。

例如元器件的引脚、终端等,在这两点间会自动生成一条线。

若要画折线,只要在转折点单击;若中途想取消连线,右击即可。

(5)元器件属性设置

PROTEUS库中的元器件都有相应的属性,要设置修改元器件的属性,只需要双击ISIS编辑区中的该元器件。

设置好的原理图如图5-13所示。

图5-13流水灯乒乓效果原理图

2.2.2步骤二:

源程序设计与目标代码文件生成

(1)程序流程图

(2)源程序设计

#include//52系列单片机头文件

#include//包含_crol_(循环左移)函数所在的头文件

voiddelay(intz);//声明子函数

unsignedchartemp;//定义一个变量,用来给P1口赋值

inti,j;

voidmain()

{

temp=0xfe;//赋初值11111110

P1=temp;//先点亮第一个发光二极管

while

(1)//大循环

{

for(i=7;i>0;i--)//控制亮点从低位往高位移动7次

{

delay(500);//延时500毫秒

temp=_crol_(temp,1);//将temp循环左移一位后再赋给temp

P1=temp;//将移位后的值赋给P1口,从低位到高位逐个点亮发光二极管

}

for(j=7;j>0;j--)//控制亮点从高位往低位移动7次

{

delay(500);//延时500毫秒

temp=_cror_(temp,1);//将temp循环右移一位后再赋给temp

P1=temp;//将移位后的值赋给P1口,从高位到地位逐个点亮发光二极管

}

}

}

voiddelay(intz)

{

unsignedintx,y;

for(x=z;x>0;x--)//延时z毫秒

for(y=110;y>0;y--);

}

(2)生成目标代码文件

在KEIL软件中,编译C语言源程序,生成目标代码文件,本例中为pingpang.hex。

2.2.3步骤三:

PROTEUS仿真

加载目标代码文件,双击编辑窗口的AT89C51器件,在弹出属性编辑对话框ProgramFile一栏中单击打开按钮

,出现文件浏览对话框,找到pingpang.hex文件,单击“打开”按钮,完成添加文件。

单击按钮

,启动仿真,仿真运行片段如图5-15所示。

通过AT89C52单片机控制8个发光二极管,实现亮点由低位到高位再由高位到低位来回流动的乒乓球效果。

图5-15流水灯乒乓效果运行片段

2.4扩展练习

此子情境中流水灯在同一时刻只显示一盏灯,现在完成同时亮着两个灯流动的效果。

子情境三:

数码管动态扫描

3.1子情境内容:

利用动态扫描让四位数码管稳定的显示1234。

3.2子情境目标:

(1)掌握单片机控制四位数码管的动态扫描技术,包括程序设计和电

路设计,本任务的效果是让四位数码管稳定的显示1234。

(2)用PROTEUS进行电路设计和实时仿真

3.3知识点链接

(1)数码管动态扫描(动态扫描的定义以及与静态显示的区别)

动态显示的特点是将所有位数码管的段选线s一位数码管有效。

选亮数码管采用动态扫描显示。

所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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