搜档网
当前位置:搜档网 › 单片机Proteus仿真实验指导书

单片机Proteus仿真实验指导书

单片机Proteus仿真实验

指导书

目录

1、Proteus软件使用方法 (3)

2、实验一LED闪烁电路实验 (8)

3、实验二数码管静态显示实验 (11)

4、实验三数码管动态显示实验 (13)

5、实验四外部中断实验 (15)

6、实验五T0波形发生器实验 (17)

7、实验六计数器实验 (19)

8、实验七串口通信实验 (22)

9、实验八I2C读写实验 (25)

10、实验九AD转换实验 (30)

Proteus软件使用方法

Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的

布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。

本文中由于我们主要使用Proteus软件在单片机方面的仿真功能,所以我们重点研究ISIS模块的用法,在下面的内容中,如不特别说明,我们所说的Proteus软件特指其ISIS 模块。

在进行下面的操作前,我先说明一点:我的Proteus版本是7.1,如果你使用的是6.9以前的版本,可能你发现在鼠标操作上会略有不同。这主要表现在6.9以前的版本鼠标左右键的作用与一般软件刚好相反,而7.0以后已经完全改过。

下面我们首先来熟悉一下Proteus的界面。Proteus是一个标准的Windows窗口程序,和大多数程序一样,没有太大区别,其启动界面如下图所示:

如图中所示,区域①为菜单及工具栏,区域②为预览区,区域③为元器件浏览区,区域④为编辑窗口,区域⑤为对象拾取区,区域⑥为元器件调整工具栏,区域⑦为运行工具条。

下面我们就以建立一个和我们在Keil简介中所讲的工程项目相配套的Proteus工程为例来详细讲述Proteus的操作方法以及注意事项。

首先点击启动界面区域③中的“P”按钮(Pick Devices,拾取元器件)来打开“Pick Devices”(拾取元器件)对话框从元件库中拾取所需的元器件。对话框如下图所示:

在对话框中的“Keywords”里面输入我们要检索的元器件的关键词,比如我们要选择项目中使用的AT89C51,就可以直接输入。输入以后我们能够在中间的“Results”结果栏里面看到我们搜索的元器件的结果。在对话框的右侧,我们还能够看到我们选择的元器件的仿真模型、引脚以及PCB参数。

这里有一点需要注意,可能有时候我们选择的元器件并没有仿真模型,对话框将在仿真模型和引脚一栏中显示“No Simulator Model”(无仿真模型)。那么我们就不能够用该元器件进行仿真了,或者我们只能做它的PCB板,或者我们选择其他的与其功能类似而且具有仿真模型的元器件。

搜索到所需的元器件以后,我们可以双击元器件名来将相应的元器件加入到我们的文档中,那么接着我们还可以用相同的方法来搜索并加入其他的元器件。当我们已经将所需的元器件全部加入到文档中时,我们可以点击“OK”按钮来完成元器件的添加。

添加好元器件以后,下面我们所需要做的就是将元器件按照我们的需要连接成电路。首先在元器件浏览区中点击我们需要添加到文档中的元器件,这时我们就可以在浏览区看到我们所选择的元器件的形状与方向,如果其方向不符合你的要求,你可以通过点击元器件调整工具栏中的工具来任意进行调整,调整完成之后在文档中单击并选定好需要放置的位置即可。接着按相同的操作即可完成所有元器件的布置,接下来是连线。事实上Proteus的自动布线功能是如此的完美以至于我们在做布线时从来都不会觉得这是一项任务,而通常像是在享受布线的乐趣。布线时我们只需要单击选择起点,然后在需要转弯的地方单击一下,按照你所需走线的方向移动鼠标到线的终点单击即可。本例我们布线的结果如下图所示(仿真我们在上面的Keil操作介绍中的简单例子)。

因为该工程十分简单,我们没有必要加上复位电路,所以这点在图中予以忽略,请大家注意。除此以外,你可能还发现,单片机系统没有晶振,这一点你需注意。事实上在Proteus 中单片机的晶振可以省略,系统默认为12MHz,而且很多时候,当然也为了方便,我们只需要取默认值就可以了。

下面我们来添加电源。先说明一点,Proteus中单片机芯片默认已经添加电源与地,所以我们可以省略。然后在添加电源与地以前,我们先来看一下上面第一个图中区域⑤的对象拾取区,我们在这里只说明本文中可能会用得到的以及比较重要的工具。

:(Selection Mode)。选择模式,通常情况下我们都需要选中它,比如布局时和布线时。

:(Component Mode)。组件模式,点击该按钮,能够显示出区域③中的元器件,以便我们选择。

:(Wire Label Mode)。线路标签模式,选中它并单击文档区电路连线能够为连线添加标签。经常与总线配合使用。

:(Text Script Mode)。文本模式,选中它能够为文档添加文本。

:(Buses Mode)。总线模式,选中它能够在电路中画总线。关于总线画法的详细步骤与注意事项我们在下面会进行专门讲解。

:(Terminals Mode)。终端模式,选中它能够为电路添加各种终端,比如输入、输出、电源、地等等。

:(Virtual Instruments Mode)。虚拟仪器模式,选中它我们能够在区域③中看

到很多虚拟仪器,比如示波器、电压表、电流表等等。关于它们的用法我们会在后面的相应章节中详细讲述。

好了,下面我们就来添加电源。首先点击,选择终端模式,然后在元器件浏览区中

点击POWER(电源)来选中电源,通过区域⑥中的元器件调整工具进行适当的调整,然后就可以在文档区中单击放置电源了。放置并连接好线路的电路图一部分如下图:

连接好电路图以后我们还需要做一些修改。由上图我们可以看出,图中的R1电阻值为10k,这个电阻作为限流电阻显然太大,将使发光二极管D1亮度很低或者根本就不亮,影响我们的仿真结果。所以我们要进行修改。修改方法如下:首先我们双击电阻图标,这时软件将弹出“Edit Component”对话框(见下图所示的对话框),对话框中的“Component Referer”是组件标签之意,可以随便填写,也可以取默认,但要注意在同一文档中不能有两个组件标签相同;“Resistance”就是电阻值了,我们可以在其后的框中根据需要填入相应的电阻值。填写时需注意其格式,如果直接填写数字,则单位默认为Ω;如果在数字后面加上K或者k,则表示kΩ之意。这里我们填入270,表示270Ω。

修改好各组件属性以后就要将程序(HEX文件)载入单片机了。首先双击单片机图标,系统同样会弹出“Edit Component”对话框,如下图。在这个对话框中我们点击“Program files”框右侧的,来打开选择程序代码窗口,选中相应的HEX文件后返回,这时,按钮左侧的框中就填入了相应的HEX文件,我们点击对话框的“OK”按钮,回到文档,程序文件就添加完毕了。

装载好程序,我们就可以进行仿真了。首先来熟悉一下上面第一个图中区域⑦的运行工具条。因为比较简单,我们只作一下介绍。

工具条从左到右依次是“Play”、“Step”、“Pause”、“Stop”按钮,即运行、步进、暂停、停止。下面我们点击“Play”按钮来仿真运行,效果如下图所示,可以看到系统按照我们的程序在运行着,而且我们还能看到其高低电平的实时变化。如果我们已经观察到了结果就可以点击“Stop”来停止运行。

仿真实验一、led闪烁实验

1.实验任务

如图1所示:在P1.0端口上接一个发光二极管D1,使D1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。

图1

2.程序设计内容

(1).延时程序的设计方法

作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢?下面具体介绍其原理:

如图1所示的石英晶体为12MHz,因此,1个机器周期为1微秒

机器周期微秒

MOV R6,#20 1个 1 D1: MOV R7,#248 1

个 1

DJNZ R7,$ 2

个2×248=496

DJNZ R6,D1 2个

2

总时间:1+(1+496+2)×20=9981μs

因此,上面的延时程序时间约为10.0ms。

由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时,延时10ms,以此为基本的计时单位。如本实验要求0.2秒=200ms,10ms×R5=200ms,则

R5=20,延时子程序如下:

DELAY: MOV R5,#20

D1: MOV R6,#20

D2: MOV R7,#248

DJNZ R7,$

DJNZ R6,D2

DJNZ R5,D1

RET

(2)输出控制

如图1所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。

3.程序框图

如图2所示

图2

4.汇编源程序

ORG 0

START: CLR P1.0

LCALL DELAY

SETB P1.0

LCALL DELAY

LJMP START

DELAY: MOV R5,#20 ;延时子程序,延时0.2秒

D1: MOV R6,#20

D2: MOV R7,#248

DJNZ R7,$

DJNZ R6,D2

DJNZ R5,D1

RET

END

5. C语言源程序

#include

sbit L1=P1^0;

void delay02s(void) //延时0.2秒子程序{

unsigned char i,j,k;

for(i=20;i>0;i--)

for(j=20;j>0;j--)

for(k=248;k>0;k--);

}

void main(void)

{

while(1)

{

L1=0;

delay02s();

L1=1;

delay02s();

}

}

6、实验步骤

(一)、硬件设计

A、在proteus中新建文件file →newdesign→选中default模版→ok,然后另存为*.DSN 文件

B、选取元器件并添加到对象选择器中

本实验中采用的元器件有:单片机AT89C51、发关二极管LED-RED、磁片电容CAP、点解电容CAP-ELEC,电阻RES、晶振CRYSTAL

单击“P”按钮,弹出选取元器件对话框,在其左上角keywords栏中输入元器件名称比如AT89C51,则出现与关键字匹配的元器件列表,选中AT89C51所在行,单击ok边将该器件加入到isis对象选择器中

C、画原理图

首先,放置元器件,单击isis对象选择器的元器件名,鼠标指针移动到编辑区恰当位置单击

然后,放置电源和地,单击选择工具栏中终端按钮,在isis对象选择器中单击power和ground分别在恰当位置放置

D、再下一步就是电路图连线,系统支持自动捕捉和自动布线,只要用鼠标点击要连线的两端

接下来要修改元器件属性,右键单击要修改属性的元器件,打开属性窗口,修改其值最后做电气检测,单击电气检测按钮,或Tools→electrial rule check

(二)、软件设计

A、单击source→add/REMOVE source files

在对话框中选择代码生成工具ASM51,如果没有源程序,就单击新建,输入文件名

单击source→新建文件的文件名,在编辑窗口编辑程序,然后存盘。

B、编译源文件,source→build all根据编译日志排除错误

C、加载目标代码文件,设置时钟频率

选中编辑区中的单片机右键单击打开属性窗口设置好时钟频率和目标代码文件

三、仿真,单击仿真按钮

仿真实验二、数码管静态显示实验

1、实验目的

通过本次仿真实验,掌握数码管输出显示的硬件和接口软件的设计,掌握单片机按键扫描的使用

熟悉使用porteus仿真软件的使用

2.实验内容

如图1所示:在P0端口上接一个7段数码管,在P2.5引脚连接一个按钮,无按钮按下时,使数码管显示字符“P”,有按钮按下时,数码管数码管从“0”开始显示,每隔1s加1。加至“F”后,重新显示初态“P”

图1

3、实验步骤

(1)硬件电路设计

A:从proteus库中选取元器件:单片机AT89C51、磁片电容CAP、点解电容CAP-ELEC,晶振CRYSTAL、电阻RES、8排阻RX8,带公共端8排阻RESPACK-8、数码管

7SEG-COM-AN-GRN,按钮BUTTON

B:放置元器件,放置电源和地、连线、设置元器件属性、电气检测

注意,P0口采用的是总线连线法,首先选择总线按钮,然后绘制总线,再下来将电线与总线连接,最后进行电线标注。

(2)软件设计

A.设计程序流程图

B:参考程序(参考汇编源程序)

C、生成目标代码

汇编源程序

ORG 0

MAIN: MOV P0,#8CH

MOV P2,#0FFH

NOKEY: MOV A,P2

CPL A

JZ NOKEY

MOV 30H,P2

ACALL DEL10

MOV A,P2

CJNE A,30H,NOKEY

ACALL DISP0_F

AJMP MAIN

DISP0_F: MOV A,#0

LOOP: PUSH ACC

ACALL SEG7

MOV P0,A

POP ACC

ACALL DEL1S

INC A

CJNE A,#16,LOOP

RET

DEL1S: MOV R6,#100

D10: ACALL DEL10

DJNZ R6,D10

RET

DEL10: MOV R5,#10

D1MS: MOV R4,#250

DL: NOP

NOP

DJNZ R4,DL

DJNZ R5,D1MS

RET

SEG7: INC A

MOVC A,@A+PC

RET

DB 0C0H,0F9H,0A4H,0B0H

DB 99H,92H,82H,0F8H,80H

DB 90H,88H,83H,0C6H,0A1H,86H,8EH END

(3)仿真

A、加载目标代码文件,设置时钟频率

选中编辑区中的单片机右键单击打开属性窗口设置好时钟频率和目标代码文件

B、单击仿真按钮,仿真运行程序,观察是否能实现控制要求

4、实验分析

(1)硬件电路中为什么P0口要加上上拉电阻

(2)软件中,数码管如何才能显示其需显示的数据,如何消除按钮抖动的影响仿真实验三数码管动态显示实验

1、实验目的

通过本次仿真实验,掌握数码管动态显示的硬件和接口软件的设计熟悉使用porteus仿真软件的使用

2.实验内容

如图所示,P0端口接动态数码管的字形码笔段,P2端口接动态数码管的数位选择端,P1.7接一个开关,当开关接高电平时,显示“12345”字样;当开关接低电平时,显示“HELLO”字样。

图1

3、实验步骤

(1)硬件电路设计

A:从proteus库中选取元器件:单片机AT89C51、磁片电容CAP、点解电容CAP-ELEC,晶振CRYSTAL、电阻RES、数码管7SEG-MPX6-CC,按钮BUTTON,74LS245

B:放置元器件,放置电源和地、连线、设置元器件属性、电气检测

注意,P0口采用的是总线连线法,首先选择总线按钮,然后绘制总线,再下来将电线与总线连接,最后进行电线标注。

(2)软件设计

A.设计程序流程图

B:参考程序(参考汇编源程序)C、生成目标代码

汇编源程序

ORG 00H

START: JB P1.7,DIR1

MOV DPTR,#TABLE1

SJMP DIR

DIR1: MOV DPTR,#TABLE2 DIR: MOV R0,#00H

MOV R1,#0FEH NEXT: MOV A,R0

MOVC A,@A+DPTR

MOV P0,A

MOV A,R1

MOV P2,A

LCALL DAY

MOV P2,#0FFH

INC R0

RL A

MOV R1,A

CJNE R0,#5,NEXT

SJMP START

DAY: MOV R6,#4

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET

TABLE1: DB 06H,5BH,4FH,66H,6DH

TABLE2: DB 76H,79H,38H,38H,3FH

END

(3)仿真

A、加载目标代码文件,设置时钟频率

选中编辑区中的单片机右键单击打开属性窗口设置好时钟频率和目标代码文件

B、单击仿真按钮,仿真运行程序,观察是否能实现控制要求

4、实验分析

(1)这个硬件电路中为什么P0口为什么不加上拉电阻,能否实现P0口数据的输出(2)软件中,数码管动态显示动态扫描时间有没有要求,为什么?

(3)要实现显示不固定的数据,程序该如何改进?

仿真实验四外部中断实验

1、实验目的

通过本次仿真实验,加深对80C51中断系统的理解

学习外部中断使用的基本方法及相关编程

2.实验内容

设计一个交通灯正常工作程序,并在有意外情况发生的情况下,能自动中断进入到中断服务程序运行,进行紧急事故处理,处理完成后能回到正常工作程序继续运行

如图所示,P1接一位数码管用于显示时间,P2端口接东西方向和南北方向红绿灯,P3.2接一个按钮用于模拟一个外部中断源,当正常工作时,东西方向绿灯亮8秒,然后南北方向绿灯亮9秒;当模拟中断源发出中断信号时,东西和南北红灯亮5秒后返回正常工作程序。

图1

3、实验步骤

(1)硬件电路设计

A:从proteus库中选取元器件:单片机AT89C51、磁片电容CAP、点解电容CAP-ELEC,晶振CRYSTAL、电阻RES、数码管7SEG-COM-CA T-GRN,按钮BUTTON,发光二级管B:放置元器件,放置电源和地、连线、设置元器件属性、电气检测

(2)软件设计

A.设计程序流程图

主程序流程图中断服务程序流程图

C、生成目标代码

汇编源程序

ORG 0000H

SJMP MAIN

ORG 0003H

SJMP INT0JJ

MAIN: CLR RS0

MOV SP,#5FH ;初始化

MOV IE,#81H

MOV TCON,#1

MOV P3,#0FFH

DXGRN: MOV R7,#8 ;东西绿灯8秒

LOOP1: MOV P2,#0F6H

MOV A,R7

MOV DPTR,#SEGTAB

MOVC A,@A+DPTR

MOV P1,A

ACALL DELAY

DJNZ R7, LOOP1

NBGRN: MOV R6,#9 ;南北绿灯9秒

LOOP2: MOV P2,#0F9H

MOV A,R2

MOV DPTR,#SEGTAB

MOVC A,@A+DPTR

MOV P1,A

ACALL DELAY

DJNZ R6, LOOP2

SJMP DXGRN

INT0JJ: SETB RS0 ;中断处理子程序

PUSH ACC

MOV R6,#5

LOOP3: MOV P2,#0FAH

MOV A,R6

MOV DPTR,#SEGTAB

MOVC A,@A+DPTR

MOV P1,A

ACALL DELAY

DJNZ R6, LOOP3

CLR RS0

POP ACC

RETI

DELAY: MOV R5,#10 ;延时子程序

D1: MOV R4,#50

D2: MOV R3,#250

D3: NOP

NOP

NOP

NOP

NOP

NOP

DJNZ R3,D3

DJNZ R4,D2

DJNZ R5,D1

RET

SEGTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

(3)仿真

(1)加载目标代码文件,设置时钟频率12MHz

选中编辑区中的单片机右键单击打开属性窗口设置好时钟频率和目标代码文件

(2)单击仿真按钮,仿真运行程序,观察是否能实现控制要求

4、实验分析

(1)若在实验中使用INT1,应该如何修改程序?

(2)为什么在中段处理子程序中要保护现场,在返回主程序前恢复现场?

(3)8051单片机在响应中断之后能否自动取消所有的中断标志?对低电平触发的外部中断应该如何处理?

仿真实验五 T0波形发生器实验

1、实验目的

掌握使用定时器/计数器的定时功能使用,并用单片机构成一简单的方波发生器

学会使用VSM虚拟示波器观察波形

2.实验内容

1、首先用AT89C51单片机定时器/计数器0的定时功能构成一方波发生器,实现周期为400us

的方波输出,如图所示,P3.5,p3.7是两个波形输出端,分别输出反相波形,两路波形输入虚拟示波器的A 通道和B 通道,用示波器观察方波的周期是否是400us

2、自己修改程序,使单片机P1.0输出周期为1秒得方波

图1

3、实验步骤

(1)硬件电路设计

A :从proteus 库中选取元器件:单片机AT89C51、磁片电容CAP 、点解电容CAP-ELEC ,晶振CRYSTAL 、电阻RES 。

B :放置元器件,放置电源和地、连线、设置元器件属性、电气检测。

C :放置虚拟示波器,将单片机P3.5和P3.7分别与其A 、B 信道相连。

D :放置电压探针,连接到单片机P3.5和P3.7引脚,以便仿真时能观察到该处的电压变化。

(2)软件设计

A .设计程序流程图

主程序流程图 中断服务程序流程图

B :参考程序(参考

C 、生成目标代码

汇编源程序

ORG 0000H

SJMP STAR

ORG 000BH

SJMP T0F

定时器及P3口初始化 原地循环 启动T0 P3.5,P3.7取反 定时初值重装 中断返回

ORG 0100H

STAR: MOV TMOD,#1

MOV P3,#3FH

MOV TH0,#0FFH

MOV TL0,#38H

MOV IE,#0FFH

SETB TR0

SJMP $

T0F: CPL P3.5

CPL P3.7

MOV TH0,#0FFH

MOV TL0,#38H

RETI

END

(3)仿真

(1)加载目标代码文件,设置时钟频率12MHz

选中编辑区中的单片机右键单击打开属性窗口设置好时钟频率和目标代码文件

(2)单击仿真按钮,仿真运行程序,观察P3.5和P3.7的波形

A、虚拟示波器参数设置:

电压幅值:2V/格

分辨率:100us/格

AB通道输入耦合:直流DC

Y-pos:200

B、虚拟示波器显示:debug菜单—>数字示波器

4、实验分析

(1)定时器在晶振为12M时最大定时器是多少?若在实验中使波形的周期为1s,应该如何修改程序?

(2)定时器T0在定时完成的时候,怎样通知CPU去处理?

(3)如何使用单片机输出频率可调的方波?

仿真实验六计数器实验

1、实验目的

掌握使用定时器/计数器的计数功能使用,使用单片机制作带多位数显的十进制计数器

学会使用proteus的虚拟激励源提供计数用的数字脉冲

2.实验内容

1、首先用AT89C51单片机定时器/计数器0的计数功能实现对外部脉冲的计数,并将T0计数值(二进制数)转换成BCD数,通过七段译码显示器显示计数值(硬件连接见下图)

2、自己修改硬件和程序,使用试验三中的动态扫描显示电路显示计数值。

图1

3、实验步骤

(1)硬件电路设计

A:从proteus库中选取元器件:单片机AT89C51、磁片电容CAP、点解电容CAP-ELEC,晶振CRYSTAL、电阻RES、带七段译码的数码管显示器7SEG-BCD-GRN

B:放置元器件,放置电源和地、连线、设置元器件属性、电气检测。

C:放置数字时钟Dclock,将单片机P3.4和数字时钟相连。

设定数字时钟的数字类型为时钟,时钟类型为低-高-低时钟,时钟频率为5Hz

(2)软件设计

A.设计程序流程图主程序流程图如下

定时器及P1P2口初始化

启动T0

T0计数值转换BCD

BCD数送显示器显示

B:参考程序(参考汇编源程序)

C、生成目标代码

汇编源程序

ORG 0

SJMP STAR

STAR: MOV TMOD,#05H ;T0初始化

MOV TH0,#0

MOV TL0,#0

MOV P2,#0 ;P1P2初始化

单片机Proteus仿真实验指导书

单片机Proteus仿真实验 指导书 目录

1、Proteus软件使用方法 (3) 2、实验一LED闪烁电路实验 (8) 3、实验二数码管静态显示实验 (11) 4、实验三数码管动态显示实验 (13) 5、实验四外部中断实验 (15) 6、实验五T0波形发生器实验 (17) 7、实验六计数器实验 (19) 8、实验七串口通信实验 (22) 9、实验八I2C读写实验 (25) 10、实验九AD转换实验 (30) Proteus软件使用方法 Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的

布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。 本文中由于我们主要使用Proteus软件在单片机方面的仿真功能,所以我们重点研究ISIS模块的用法,在下面的内容中,如不特别说明,我们所说的Proteus软件特指其ISIS 模块。 在进行下面的操作前,我先说明一点:我的Proteus版本是7.1,如果你使用的是6.9以前的版本,可能你发现在鼠标操作上会略有不同。这主要表现在6.9以前的版本鼠标左右键的作用与一般软件刚好相反,而7.0以后已经完全改过。 下面我们首先来熟悉一下Proteus的界面。Proteus是一个标准的Windows窗口程序,和大多数程序一样,没有太大区别,其启动界面如下图所示: 如图中所示,区域①为菜单及工具栏,区域②为预览区,区域③为元器件浏览区,区域④为编辑窗口,区域⑤为对象拾取区,区域⑥为元器件调整工具栏,区域⑦为运行工具条。 下面我们就以建立一个和我们在Keil简介中所讲的工程项目相配套的Proteus工程为例来详细讲述Proteus的操作方法以及注意事项。 首先点击启动界面区域③中的“P”按钮(Pick Devices,拾取元器件)来打开“Pick Devices”(拾取元器件)对话框从元件库中拾取所需的元器件。对话框如下图所示:

单片机定时器的应用proteus仿真实验报告总结

单片机定时器的应用Proteus仿真实验报告总结 1. 背景 单片机定时器是嵌入式系统中常用的功能模块之一,它可以精确地控制时间和频率,广泛应用于各种计时、测量、通信等领域。本次实验使用Proteus软件进行仿真,通过编程控制单片机定时器的工作模式和参数,验证其在不同场景下的应用效果。 2. 分析 2.1 实验目标 本次实验主要目标是熟悉单片机定时器的工作原理和编程方法,并通过Proteus仿真验证程序的正确性和性能。 2.2 实验内容 本次实验分为以下几个部分: 1.简单定时器:设置一个固定时间间隔,在每个时间间隔结束时触发一个中断。 2.定时测量:使用计数器模式测量一个外部事件的时间间隔。 3.PWM输出:使用PWM模式生成一个可调节占空比的脉冲信号。 4.输入捕获:通过输入捕获模式获取外部事件的时间戳。 2.3 设备与材料 •Proteus软件 •单片机开发板 •连接线等辅助材料 2.4 实验步骤 1.搭建仿真环境:在Proteus中选择合适的单片机模型,并与其他外部模块连 接,如LED、按键等。 2.编写程序:根据实验要求,使用C语言编写相应的程序,包括定时器配置、 中断处理等。

3.仿真验证:将程序烧录到单片机中,并在Proteus中运行仿真,观察定时器 的工作情况和输出结果。 4.结果分析:根据实验结果进行分析和总结,评估定时器的性能和可靠性。 3. 结果 3.1 简单定时器 在简单定时器实验中,我们设置了一个固定的时间间隔为1秒,在每个时间间隔结束时触发一个中断。通过LED灯闪烁来表示定时器的工作状态。经过仿真验证,LED灯每隔1秒闪烁一次,符合预期效果。 3.2 定时测量 在定时测量实验中,我们使用计数器模式测量了一个外部事件(按下按键)的时间间隔。通过读取计数器的值,并转换为时间单位,可以得到精确的测量结果。经过仿真验证,在按下按键后,计数器开始计时,松开按键后计数器停止,并输出测量结果。实验结果表明,测量结果与预期值非常接近,说明定时器具有较高的精度和稳定性。 3.3 PWM输出 在PWM输出实验中,我们使用PWM模式生成了一个可调节占空比的脉冲信号。通过改变占空比的值,可以控制脉冲信号的高电平时间和低电平时间。经过仿真验证,在不同的占空比下,脉冲信号的波形变化符合预期,并且占空比与设置值之间存在线性关系。这说明定时器能够准确地控制脉冲信号的频率和占空比。 3.4 输入捕获 在输入捕获实验中,我们通过输入捕获模式获取了一个外部事件(按下按键)的时间戳。通过读取捕获寄存器中的值,并转换为时间单位,可以得到事件发生的精确时间。经过仿真验证,在按下按键后,定时器会立即记录下当前时间,并输出时间戳。实验结果表明,时间戳与预期值非常接近,并且满足要求的精度和准确性。 4. 建议 根据本次实验结果和分析,我们对单片机定时器的应用提出以下建议:

PROTEUS仿真100实例

《单片机C语言程序设计实训100例---基于8051和PROTEUS仿真》 《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例第 01 篇基础程序设计 01 闪烁的LED LED 名称:闪烁的/* 按设定的时间间隔闪烁说明:LED */ #include #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; 延时//void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } 主程序//void main() { while(1) { LED=~LED; DelayMS(150); } }

从左到右的流水灯02 /* 名称:从左到右的流水灯LED个口的说明:接在P08产生走从左到右循环依次点亮,马灯效果*/ #include #include #define uchar unsigned char #define uint unsigned int 1 《单片机C语言程序设计实训100例---基于8051和PROTEUS仿真》 //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { P0=0xfe; while(1) { P0=_crol_(P0,1); //P0的值向左循环移动 DelayMS(150); } } 03 8只LED左右来回点亮 /* 名称:8只LED左右来回点亮

Proteus实验指导书单片机

Proteus 7 Professional 仿真单片机入门教程 初学单片机时,拿着一块实验板发呆,电路也不懂、程序也不懂,只好慢慢弄,等弄懂了,实验板也差不多报销了。而Proteus 正好可以解决这个问题,它功能强大,这里只讨论仿真MCU 的功能。它可以在原理图上仿真,不用出PCB 板。一、Proteus 6 Professional界面简介 上图是启动后的画面。 下面简单介绍各部分的功能: 1.原理图编辑窗口(The Editing Window):顾名思义,它是用来绘制原理图的。蓝色方框内为可编辑区,元件要放到它里面。注意,这个窗口是没有滚动条的,你可用预览窗口来改变原理图的可视范围。

2.预览窗口(The Overview Window):它可显示两个内容,一个是:当你在元件列表中选择一个元件时,它会显示该元件的预览图;另一个是,当你的鼠标焦点落在原理图编辑窗口时(即放置元件到原理图编辑窗口后或在原理图编辑窗口中点击鼠标后),它会显示整张原理图的缩略图,并会显示一个绿色的方框,绿色的方框里面的内容就是当前原理图窗口中显示的内容,因此,你可用鼠标在它上面点击来改变绿色的方框的位置,从而改变原理图的可视范围。 3.模型选择工具栏(Mode Selector Toolbar): 主要模型(Main Modes): 1* 选择元件(components)(默认选择的) 2* 放置连接点 3* 放置标签(用总线时会用到) 4* 放置文本 5* 用于绘制总线 6* 用于放置子电路 7* 用于即时编辑元件参数(先单击该图标再单击要修改的元件) 配件(Gadgets): 1* 终端接口(terminals):有VCC、地、输出、输入等接口 2* 器件引脚:用于绘制各种引脚 3* 仿真图表(graph):用于各种分析,如Noise Analysis 4* 录音机 5* 信号发生器(generators) 6* 电压探针:使用仿真图表时要用到 7* 电流探针:使用仿真图表时要用到 8* 虚拟仪表:有示波器等

Proteus仿真单片机实验

目录 引言 (2) 实验1 PROTUES环境及LED闪烁综合实验 (7) 实验2 多路开关状态指示 (10) 实验3 报警产生器 (13) 实验4 I/O并行口直接驱动LED显示 (16) 实验5 按键识别方法之一 (19) 实验6 一键多功能按键识别技术 (22) 实验7 定时计数器T0作定时应用技术 (25) 实验8定时计数器T0作定时应用技术 (28) 实验9 “嘀、嘀、......”报警声 (32) 实验10 8X8 LED点阵显示技术 (36) 实验11电子琴 (40)

引言 单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个单片机仿真系统。 1. Proteus介绍 Proteus是英国Labcenter Electronics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES (Advanced Routing and Editing Software)也就是PCB。 1.1 Proteus VSM的仿真 Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。 Proteus可提供30多种元件库,超过8000种模拟、数字元器件。可以按照设计的要求选择不同生产厂家的元器件。此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。 除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。支持图形化的分析功能等。 Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051,PIA,A VR,ARM等多种系列的处理器。Protues包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY, Keil, MPLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。 1.2 Proteus PCB Proteus 的PCB设计除了有自动布线仿真功能外,还集成了PCB设计,支持多达16个布线层,可以任意角度放置元件和焊接连线;集成了高智能的布线算法,可以方便地进行PCB设计。 2. 一个基于Protesus的单片机实例 2.1 软件的编写 本例题采用8个LED,编写程序使之闪烁起来。

单片机原理及应用C51编程+Proteus仿真课程设计

单片机原理及应用C51编程+Proteus仿真课程设计引言 单片机作为一种广泛应用于各种电子设备中的CPU,其原理及应用已经越来越 引起人们的重视。而随着单片机市场的逐渐扩大,相应地,其应用的各个方面也有不断的发展。C51编程和Proteus仿真则成为了单片机应用的重要部分。在本文中,将会介绍单片机原理及应用C51编程+Proteus仿真的课程设计。 单片机原理概述 单片机是一种基于微处理器的计算机,只不过在一个芯片上将所需要的各个部 分集成在一起。因为这种芯片还要集成内存、输入/输出接口以及带有复杂定时器/计数器的时钟电路,所以单片机相比微处理器要更容易应用。单片机广泛应用于计算机外围设备、电子玩具、家用电器、汽车电子和移动通讯产品等。 C51编程 C51是一种基于C语言的嵌入式系统开发的编程语言,也是一种使用最广泛的 单片机编程语言。C51编程可以对单片机内部的各种功能模块进行编程控制,包括 输入输出、定时器、串口、中断等。C51编程采用的是线性方式,程序由主函数和 其他功能模块的函数调用组合而成。 C51编程语法 C51编程语法和C语言基本类似,但也有一些不同之处。 以下是C51编程语言的部分语法: #include// 引用单片机头文件 void mn()// 主函数 {

... } void timer0() interrupt 1// 定时器0中断 { ... } C51编程常用命令 以下是C51编程中常用的一些命令: •sbit: 用于定义单个I/O口 •sfr: 用于定义特殊功能寄存器 •xdata: 用于定义外部数据空间 •idata: 用于定义内部数据空间 •code: 用于定义程序空间 Proteus仿真 Proteus是一款电子设计自动化(EDA)软件,可以模拟电路、编程等各个方面。Proteus可以在虚拟环境中对电路进行仿真,让设计者能够在软件中对电路进行分析、测试和验证。在单片机原理及应用C51编程+Proteus仿真的课程设计中,Proteus可以很好地完成电路仿真的任务。 Proteus仿真使用 在Proteus中进行仿真需要先创建电路图。Proteus提供了许多电子元件、单 片机元件以及其他通用元件,我们可以根据自己的需求进行选用。此外,还可以编写自定义元件进行使用。

《单片机原理及应用》软件开发工具Keil与虚拟仿真平台Proteus的使用实验二

《单片机原理及应用》软件开发工具Keil与虚拟仿真平台Proteus的使用实验 实验目的 (1)了解Keil和Proteus软件的基本特点和功能。 (2)学会使用Keil软件进行单片机中断应用和定时器/计数器应用的编程。 (3)学会使用Proteus软件进行单片机中断应用和定时器/计数器应用的原理图的绘制 和程序实现。 (4)学会使用Keil和Proteus两种软件的联调。 实验指导 一、Keil C51的使用 1.创建项目 编写一个新的应用程序前,首先要建立项目(Project)。 (1)在编辑界面下,单击菜单栏中的[Project],出现下拉菜单,再点击选择中 的“New Project”。 (2)单击“New Project…”选项后,就会弹出“Create New Project”窗口。 在“文件名(N)”中输入一个项目的名称,保存后的文件扩展名为“.uvx”,即项 目文件的扩展名,以后可直接单击此文件就可打开先前建立的项目。在“文件名(N)”窗口中输入新建项目文件的名字后,在“保存在(I)”下拉框中选择项目的 保存目录,单击“保存(S)”即可。 (3)选择单片机,单击“保存(S)”后,会弹出“Select Device for Target”(选择单片机)窗口,按照提示选择相应的单片机。搜索“AT89C52”并选择。 (4)单击“确定”按钮后,会出现对话框。如果需要复制启动代码到新建的项目,选择单击“是”。如选择单击“否”,启动代码项“STARTUP. A51”不会出现, 这时新的项目已经创建完毕。 2.新建文件 新的项目文件创建完成后,就需要将用户源程序文件添加到这个项目中,添加用

PROTEUS--电路设计与虚拟仿真实验指导书

《PROTEUS—电路设计与虚拟仿真》实验指 导书 李兴春王宏 五邑大学信息学院电子电工实验中心 二00七年月印刷

目录 1 Proteus Design Suit 7 使用指南------------------1 2 实验内容---------------------------------------------------------21 实验一晶体管负反馈放大电路虚拟实验---------------21 实验二555定时器功能及应用虚拟实验----------------24 实验三数字钟设计------------------------------------------27 实验四信号发生器设计--------------------------------------35 实验五直流电机控制模块-----------------------------------41 《PROTEUS—电路设计与虚拟仿真》实验指导书 1 Proteus Design Suit 7 使用指南 1.1 系统要求 Proteus Design Suit 7 可以在以下操作系统中使用: ●Windows 2000 ●Windows Xp ●Windows Vista 对于Proteus VSM(虚拟系统模块)处理器仿真,电脑CPU越快,仿真效果越更好。最低配置为1G处理器,256MB 内存,150MB硬盘。 1.2 系统安装 将系统安装盘放入电脑光驱,光盘会自动运行。否则,打开“我的电脑”,找到DVD驱动器,手动运行光盘。按提示一步一步安装就可以了。Proteus默认安装文件夹如下:

proteus教学实验系统(单片机e型)实验指导

目录 (版本 1.03) 第1章PROTEUS教学实验系统(单片机E型)简介及使用说明 (1) 1.1 系统简介 (1) 1.2 实验系统的硬件布局 (4) 1.3 实验系统原理图 (5) 1.4 实验板硬件图 (16) 1.5 USB下载方式说明 (23) 第2章硬件实验目录 (27) 实验一I /O口输出实验—LED流水灯实验 (27) 实验二I/O口输入/输出实验—模拟开关灯 (29) 实验三8255并行I/O扩展实验 (31) 实验四无译码的七段数码管显示实验 (33) 实验五BCD译码的多位数码管扫描显示实验 (36) 实验六独立式键盘实验 (38) 实验七计数器实验 (40) 实验八定时器实验 (42) 实验九单个外部中断实验 (44) 实验十中断嵌套实验 (46) 实验十一矩阵键盘扫描实验 (49) 实验十二串行端口并行输出扩充实验 (51) 实验十三串行端口并行输入扩充实验 (53) 实验十四单片机与PC之间串行通信实验 (55) 实验十五双单片机通信实验 (58) 实验十六I2C总线——AT24CXX存储器读写 (60) 实验十七温度传感器DS18B20实验 (64) 实验十八实时时钟DS1302实验 (66) 实验十九A/D转换实验 (68) 实验二十D/A转换实验 (70) 实验二十一1602液晶显示的控制(44780) (72) 实验二十二12864液晶显示的控制(KS0108) (74) 实验二十三直流电机控制实验 (76) 实验二十四步进电机控制实验 (78) 实验二十五16X16阵列LED显示 (81) 实验二十六直流电机测速实验 (83) 实验二十七串行AD—TLC549实验 (85)

PROTEUS教学实验系统(单片机E型)三合一综合实验指导书2022

PROTEUS教学实验系统(单片机E型)三合一综合实验 指导书2022 PORTEUS教学实验系统(单片机E型)实验指导书 目录 (版本2022.4) 第1章 实验一实验二实验三实验四实验五实验六 第2章 硬件实验目录 (27) I/O口输出实验—LED流水灯实验..........................................27独立式键盘实验. (30) 计数器实验............................................................. .32定时器实验............................................................. .34外部中断实验 (3) 6I/O口输入/输出实验—模拟开关灯 (38) I PORTEUS教学实验系统(单片机E型)实验指导书 第1章PROTEUS教学实验系统(单片机E型)

简介及使用说明 1.1系统简介 【硬件特点】 1.连接线采用灯笼头,插拔容易,电气接触性能优秀,导线粗,使 得接线容易而且稳定。2.外设控制资源更加丰富,可在本实验箱上练习 超过30个实验项目。3.整个电路的布局优化后,使电路设计更加合理。 5.真正做到了兼容多种单片机,包括MCS8051,AVR,PIC系列单片机,而扩展模块更是增加了整个系统的灵活性和实用性。 【硬件配置】 PB-EDU-000:可任意选配MCS-51单片机(AT89S52)/AVR单片机(ATMEGA16L)/PIC 单片机(PIC16F877A)3种处理器模块 PB-EDU-001:16某16LED点阵屏模块,PS/2接口,USB接口,蜂鸣 器PB-EDU-002:8位共阳数码管,8位拨码开关,BCD译码器PB-EDU-003:LCD1602显示模块 PB-EDU-004:可调方波,单脉冲发生器,+5V,+12V,-5V三路电源 PB-EDU-005:232串口,485通讯接口,CAN总线收发器,继电器,EEPROM芯片(24C02), 时钟芯片(DS1302),温度传感器(DS18B20)

单片机仿真软件PROTEUS入门教程

单片机仿真软件PROTEUS入门教程 PROTEUS是一款广泛使用的电子电路仿真软件,它具有友好的用户界 面和强大的仿真功能。本篇文章将向大家介绍PROTEUS的基本操作和仿真 流程。 第二步是绘制电路图。在PROTEUS中,可以使用元件库中的元件来绘 制电路图。首先,点击左侧的“Pick from Libraries”按钮来打开元件库,然后选择合适的元件库。接下来,点击元件库中的元件,并将其拖放 到绘图区。绘制完电路图后,可以使用线连接元件,建立电路连接。 第三步是设置元件的参数。在PROTEUS中,可以通过双击元件来打开 参数设置对话框。在对话框中,可以设置元件的名称、型号、参数等信息。 第四步是设置仿真器。在PROTEUS中,可以使用不同的仿真器来进行 仿真。可以选择Digital Simulation来进行数字电路仿真,或选择 Mixed mode simulation来进行混合信号仿真。 第五步是运行仿真。在PROTEUS中,可以点击“Run”按钮来运行仿真。在仿真过程中,可以观察电路中各个元件的状态以及输出结果。 第六步是分析仿真结果。在仿真完成后,可以点击“Debug”按钮来 查看仿真结果。在仿真结果窗口中,可以查看电路中各个元件的输入和输 出波形,并进行波形分析。 第七步是进行调试。在PROTEUS中,可以使用调试工具来排查电路中 的错误。可以使用断点功能来暂停仿真过程,并查看电路的当前状态。同时,可以使用单步运行功能来逐步执行仿真过程。

第八步是保存仿真结果。在PROTEUS中,可以将仿真结果保存为图像 文件或数据文件。可以将波形数据保存为.csv或.txt格式的文件,以便 进行后续分析。 最后,建议在使用PROTEUS进行仿真时,可以参考相关的教程和文档,学习更多高级操作和功能。通过不断练习和实践,掌握PROTEUS的使用方法,提高电路设计和仿真的能力。 总之,PROTEUS是一款功能强大的电子电路仿真软件,通过本文介绍 的基本操作和仿真流程,读者可以快速上手PROTEUS,进行电路设计和仿真。

单片机Keil C51和PROTEUS实验指导书

目录 实验一单片机仿真开发系统的使用 (2) 1.1 Keil C51 集成开发环境介绍 (2) 1.2 用Proteus仿真软件 (6) 1.3 实现单片机最小系统的简单应用。 (8) 实验二显示及驱动电路设计用 (10) 实验三简单输入/输出实验 (12) 实验四外部中断的运用 (14) 实验五单片机内部定时/计数器实验 (15) 实验六串行口通信设计 (17) 实验七直流电机控制 (18) 实验八步进马达控制 (19)

实验一单片机仿真开发系统的使用 1.1 Keil C51 集成开发环境介绍 ①、运行keil C51编辑软件,软件界面如图1-1所示 ②、建立一个新的工程项目 单击Project菜单,在弹出的下拉菜单中选中New Project选项 ③、保存工程项目 a、选择要保存的文件路径,输入工程项目文件的名称,如保存的路径为C51文件夹,工程项目的名称为C51,如图所示,单击保存 b、为工程项目选择单片机型号 在弹出的对话框中选择需要的单片机型号,如图所示,这里选择51核单片机中使用较多的89S51,选定型号后,单击确定,出现如图所示的开发平台界面

④、新建源程序文件 在下图中单击“File”菜单,选择下拉菜单中的New选项,新建文件后得到如图的界面: ⑤、保存源程序文件 单击“File”菜单,选择下拉菜单中的Save选项,在弹出的对话框中选择保存的路径及源程序的名称,如图所示。此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中选中“Save As”选项单击,屏幕如下图所示,在“文件名”栏右侧的编辑框中,键入欲使用的文件名,同时必须键 程序录入区域

单片机C语言程序设计实训100例--基于8051+PROTEUS仿真1

单片机C语言程序设计实训100例--基于8051+PROTEUS仿真1

单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例

《单片机C语言程序设计实训100例---基于8051和PROTEUS仿真》案例 目录 第一篇基础程序设计 (1) 01闪烁的LED (1) 02 从左到右的流水灯 (2) 03 8只LED左右来回点亮 (4) 04 花样流水灯 (6) 05 LED模拟交通灯 (10) 06 单只数码管循环显示0~9 (13) 07 8只数码管滚动显示单个数字 (14) 08 8只数码管动态显示多个不同字符 (16) 09 8只数码管闪烁显示数字串 (17) 10 8只数码管滚动显示数字串 (19) 11 K1-K4 控制LED移位 (21) 12 K1-K4 按键状态显示 (24) 13 K1-K4 分组控制LED (26) 14 K1-K4 控制数码管移位显示 (29) 15 K1-K4 控制数码管加减演示 (32) 16 4X4矩阵键盘控制条形LED显示 (36) 17 数码管显示4X4矩阵键盘按键号 (39) 18 开关控制LED (43) 19 继电器控制照明设备 (44) 20 数码管显示拨码开关编码 (46) 21 开关控制报警器 (48) 22 按键发音 (49) 23 播放音乐 (51) 24 INT0中断计数 (54) 25 外部INT0中断控制LED (56) 26 INT0及INT1中断计数 (58) 27 定时器控制单只LED (61) 28 TIMER0控制流水灯 (63)

19 用ADC0808控制PWM输出 (164) 20 ADC0809数模转换与显示 (167)

单片机系统设计与仿真-基于Proteus课程设计

单片机系统设计与仿真-基于Proteus课程设计概述 单片机系统设计与仿真是电子信息、计算机科学与技术等专业的一门必修课程。本课程旨在培养学生对单片机系统的整体设计与仿真的能力,以及培养学生的团队协作和实践能力。 本文将介绍单片机系统设计与仿真的基本原理、设计流程和Proteus软件的使用,并结合一个实际的课程设计案例,详细讲解如何进行单片机系统的设计与仿真。 基本原理 单片机系统 单片机系统是指由单片机芯片、外围电路和软件系统构成的一个整体。其中,单片机芯片是整个系统的核心,其通过内部的计算单元、存储单元和通信单元来实现各种功能。而外围电路则负责提供单片机芯片所需的输入、输出信号和供电等。 设计流程 单片机系统的设计流程一般包括以下几个步骤: 1.确定系统需求和功能:根据具体的应用需求和设计要求,确定单片机系统的功能和性能指标,例如:输入输出方式、通信协议、时序控制等。

2.选择单片机芯片和外围器件:根据系统设计要求,选择适合的单 片机芯片和外围器件,例如:传感器、驱动器、电源等。 3.电路设计:根据系统需求和芯片手册的要求,设计整个系统的电 路原理图和PCB电路板图。 4.编写程序:根据系统功能和需求,编写单片机程序,完成各种功 能的实现。 5.系统测试和调试:在硬件和软件都构建完成后,进行系统测试和 调试,确保系统的功能和性能满足要求。 Proteus软件 Proteus是一款由英国Labcenter Electronics公司开发的EDA软件,可用于电子电路、嵌入式系统的设计和仿真。其功能强大,使用 方便,广泛应用于电子、通信、计算机和控制等领域。 Proteus软件的使用 Proteus软件安装 Proteus软件的安装较为简单,在其官网上免费下载安装包后,按 照提供的安装向导即可完成安装。 Proteus软件界面 Proteus软件的主界面包括菜单栏、工具栏、构建区和输出窗口。 其中,菜单栏和工具栏提供了各种工具和命令,构建区用于构建和编 辑原理图和PCB电路板图,输出窗口则用于显示仿真结果和调试信息。

单片机原理及应用C51编程+Proteus仿真第二版教学设计

单片机原理及应用C51编程+Proteus仿真第二版教学设计前言 单片机作为一个流行的嵌入式系统开发工具,被广泛应用于各个领域。同时,C语言作为一种广泛应用于嵌入式系统编程的高级语言,也成为了单片机开发的主要方式。本文将介绍单片机原理及应用C51编程+Proteus仿真第二版教学设计。 教学目标 本教学设计的目标是使学生掌握以下内容: 1.学习单片机基本运行原理及其应用; 2.掌握C51编程方法; 3.熟悉Proteus仿真工具; 4.实现单片机项目开发、调试及运行。 教学内容 第一章单片机基本原理 本章将介绍单片机的基本概念、基本构成及其工作原理。包括: 1.单片机的发展历程; 2.单片机基本概念及体系结构; 3.单片机存储器及其使用; 4.单片机输入输出及中断机制。 第二章 C51编程及编译 本章将介绍C语言在单片机编程中的应用,包括:

1.C51编程环境搭建及程序框架; 2.C语言基础知识及语法; 3.单片机中断编程; 4.C51编译及烧录操作。 第三章 Proteus仿真工具 本章将介绍Proteus仿真工具的基本概念及使用方法,包括: 1.Proteus软件环境搭建; 2.Proteus元器件选用及电路连接; 3.Proteus仿真参数设置及仿真操作; 4.故障排除及仿真结果分析。 第四章单片机应用实例 本章将介绍单片机在实际开发中的应用实例,包括: 1.键盘输入及显示控制; 2.温度传感器数据采集及处理; 3.LED灯控制及存储器应用; 4.其他应用扩展实例。 教学方法 本教学设计将使用多种教学手段,包括: 1.理论授课:通过PPT及黑板讲解单片机原理、C语言编程及Proteus 仿真工具使用方法等; 2.实验操作:通过实验操作,让学生掌握单片机开发流程,熟悉各种开 发工具的使用方法; 3.课后作业:布置课后作业,以巩固学生学习成果。

《单片机原理及应用》实验指导书-proteus版

《单片机原理及应用》实验教学指导书 陈玮编 莆田学院信息工程学院 2015年9月

目录 实验一仿真系统搭建 (1) 实验二实验系统编程应用 (7) 实验三流水灯实验 (9) 实验四 LED数码管显示实验 (11) 实验五键盘实验 (13) 实验六中断系统实验 (15) 实验七 51定时器实验 (17)

实验一仿真系统搭建 一、实验目的 了解实验设备的软硬件组成,包括keil单片机仿真软件的安装、设置与使用,单片机仿真调试软件的安装、设置与使用,单片机仿真器的功能、结构与使用,51单片机实验板的电路结构、工作原理与使用。 熟悉使用keil单片机仿真软件、仿真调试软件和实验板进行协调工作的方法。熟悉使用至少两种单片机仿真系统建立、设置、调试工作项目的方法。 二、实验原理 整个实验系统由仿真调试软件(keil单片机仿真软件、伟福仿真调试软件)、单片机仿真头(伟福仿真器)和单片机最小板(51单片机实验板)组成或使用Proteus 仿真系统进行硬件仿真。仿真软件进行项目的管理设置,仿真器进行软件的下载与单片机的仿真(IAP),实验板搭载建立各种外围电路。 主要掌握的软件有KEIL编程软件、Proteus硬件仿真软件和其他一些差用软件及硬件构造。 整个实验系统使用时,若使用硬件仿真,第一步安装KEIL软件,第二步安装星研系列仿真调试软件,第三步将仿真器的数据口和电源口连接微机及实验板,进行仿真器驱动安装。第四步将仿真头插入实验板插座(注意仿真头三角箭头标注引脚为第一脚),开机调试。若使用软件仿真,第一步安装KEIL软件,第二步安装Proteus硬件仿真软件,然后用Proteus硬件仿真软件进行电路构建,最后进行程序调试。 1、Keil软件的安装设置:

电子电气 单片机实验指导书

单片机实验指导书 实验一、模拟开关灯实验 一、实验目的 1、认识单片机芯片内部基本结构和功能; 2、学习Keil和Proteus软件的基本使用方法; 3、了解了解单片机最小系统及单片机应用系统的设计过程。 二、实验说明 1、单片机应用系统基本过程 1)启动Keil,创建一个项目文件*.UV2; 2) 选择单片机的型号,如AT89C51; 3)单击菜单“File”→“New”命令,新建源程序文件,输入代码,保存为*.c; 4)把源程序文件添加到项目中,在项目管理器中,在展开的“Source Group 1”上单击右键,选择“Add Files to Group ’Source Group 1’”命令,选择文件添加。 5) 选中Target 1,鼠标右键菜单“Options for Target ‘Target 1’”命令,在“Output”选项卡中选中“Create HEX file”复选框; 6)执行菜单“Project”→“Rebuild all target files”命令,编译项目并生成*.hex文件; 7)打开Proteus ISIS软件,建立硬件控制电路; 8)用鼠标双击“A TC89C51”单片机弹出对话框,在“Program File”中载入编译好的“*.HEX”文件; 9)在Proteus环境中启动调试程序,观察仿真结果。 三、实验内容及步骤 1、实验内容 使用单片机监控一个按键开关,通过一个发光二极管显示其工作状态。如果开关打开,LED灯熄灭;开关合上,LED灯亮 2、硬件原理图

3、软件设计 #include //包含的头文件,对单片机内部特殊功能寄存器进行了符号定义sbit Led = P1^0; //定义位名称 sbit Key = P1^7; void main( ) { P1=0xff; while(1) { Led = Key; } } 画出程序流程图: 四、思考题 1、使用Keil和Proteus如何建立单片机开发系统,描述基本过程。 2、单片机的最小系统包含哪些电路? 实验二、流水灯实验 一、实验目的 1、学习单片机并行I/O端口的使用方法; 2、学习延时子程序的编写; 3、学习Keil 和Proteus软件的基本使用方法。 二、实验说明

相关主题