当前位置:文档之家› 实验2:单片机仿真软件protues的使用

实验2:单片机仿真软件protues的使用

实验2:单片机仿真软件protues的使用
实验2:单片机仿真软件protues的使用

实验二:⑴单片机仿真软件protues的使用

⑵I/O口简单流水灯实验

一、 实验目的

1.通过学习专业仿真软件protues,使学生理解和掌握protues窗口菜单和工具条的使用、元

件的查找和调用、电源符号的调用、电路连线技巧、元件参数修改、单片机程序的加载以

及系统的仿真运行等。

2.初步掌握MCS-51单片机的电路设计原理和方法,加深对单片机应用系统中软件、硬件相

结合的认识和理解。

3.理解和掌握指令的含义和使用,进一步提高编程的技巧和水平。

二、 实验仪器、材料

1.微型计算机(PⅣ以上)

2.编程、汇编与模拟平台软件Keil uVision3

3.电子技术专业仿真软件protues运行平台

三、 实验内容

1.学习电子技术专业仿真软件protues的使用方法和技巧;

2.针对AT89C51单片机进行最小系统电路设计,有目的的进行简单外围电路设计;

3.借助Keil程序设计与汇编平台,结合课本实例,完成针对硬件电路的程序设计、汇编;

4.在仿真软件protues中的硬件电路中,运行汇编后的单片机程序,观察软件的运行过程;

5.修改程序-仿真运行-再修改程序-再仿真运行…。

四、 实验项目与实验步骤

1.仿真软件protues的简单使用操作

1)在桌面的“开始”程序菜单中,在桌面上选择【开始】→【程序】→“Proteus 7

Professional”,打开设计界面。

2)用鼠标左键单击界面左侧预览窗口下面的“P”按钮,弹出“Pick Devices”(元件拾取)对

话框。

3)通过按类别查找和拾取元件或直接查找和拾取元件,把元件从元件拾取对话框中拾取

到图形编辑界面的对象选择器中。单片机、晶振、电阻、电容、发光二极管等

4)把相应元件从对象选择器中放置到图形编辑区中,调整元件摆放位置和放置方向,进

行电路连接,编辑修改元件参数,完成电路设计。

5)在资料盘上建立一个单独的文件夹,并进行取名存盘。

6)借助Keil程序设计与汇编平台,结合课本实例,完成针对硬件电路的程序设计、汇编,

注意汇编后产生的“.HEX”文件的存储路径。

7)在protues系统中,加载单片机软件,观察程序运行效果。

8)“修改程序-仿真运行-再修改程序-再仿真运行;”

2.汇编语言源程序设计

1)已知,P1口中可以有高电平“1”,有低电平“0”,“1”和“0”的位置和多少可以任

意组合,实现不带Cy或带Cy的左循环、右循环、从中心分散循环、从两端到中心循

环、高4位和低4交换位等流水灯显示。电路设计上实现发光二极管可高电平点亮或

低电平点亮,观察软硬件的运行特点。

ORG 0000H

MOV A,#80H

LOOP1:MOV P1,A

ACALL Delay1s

RR A

SJMP LOOP1

Delay1s:MOV R6,#04H //延时1S子程序

Delay1:MOV R7,#0FFH

Delay2:MOV R2,#0FFH

Delay3:DJNZ R2,Delay3

DJNZ R7,Delay2

DJNZ R6,Delay1

RET

END

2)试设计16位二进制加法计数器和减法计数器,用P0和P1口接16位发光数码管进行

模拟显示,完成程序设计并在Keil平台进行调试模拟,观察运行特点。

ORG 0000H

MOV A,#00H ;减法用MOV A,#0FFH

MOV R0,#00H ;减法用MOV R0,#0FFH

CLR C

LOOP1:MOV P0,A

MOV P1,R0

ACALL Delay1s

INC A ;减法用DEC A

CJNE A, #0FFH, LOOP1

;减法用DEC R0

INC

R0

CLR C

SJMP LOOP1

Delay1s:略

3)【例4.13】已知R0低4位有一个十六进制数(0~F中的一个),请编写他的转换成相

应的ASCLL码并送入R0的程序。

解:

(1) 计算求解1:由ASCLL码字符表可知0~9的ASCLL码为30H~39H,A~F的ASCLL

为41H~46H.因此,计算求解的思路是:若R0<=9,则R0内容只需加30H,若R0>9,则R0需加37H。相应程序为:

ORG 0400H

MOV A,R0 ;取转换值到A

ANL A,#0FH ;屏蔽高4位

CJNE A,#10,NEXT1 ;A和10比较

NEXT1: JNC NEXT2 ;若A>9,则转NEXT2

ADD A,#30H ;若A<10,则A←A+30H

SJMP DONE ;转DONE

NEXT2:ADD A,#37H ;A←A+37H

DONE: MOV R0,A ;存结果

SJMP $

END

(2)查表求解:查表求解时,两条查表指令均可以使用,现以MOVC A,@A+PC指令为

例给出相应程序:

ORG 0000H

MOV R0,#0BH

MOV A,R0 ;取转换值到A

ANL A,@0FH ;屏蔽高4位

ADD A, #03H ;地址调整

MOVC A,@A+PC ;查表

MOV R0,A ;存结果

SJMP $

ASCTAB: DB ‘0’,’1’,’2’,’3’,’4’

DB ‘5’,’6’,’7’,’8’,’9’

DB ‘A’,’B’,’C’,’D’,E’,’F’

END

(同学自己尝试用MOVC A,@A+DPTR实现上述功能)

五、 实验结果分析

1.

2.

基于IAP15F2K61S2单片机的在线仿真功能的实现

文杜洋 有单片机初学者问了我这样一个问题:单片机真是个好东西,可以实现我地很多想法,就是在编程开发地时候太麻烦,每次改动都要重新编译、下载,再等待着问题地出现.仅调试一个参数就要花上几个小时地时间.对于我们这些没什么经验地编程菜鸟来说太麻烦了.我想单片机技术发展至今,应该有更便捷地开发工具吧.杜老师你平时是怎么开发单片机软件地?有什么秘诀传授一下呗!文档来自于网络搜索 我地回答是:当然有秘诀,那就是使用“仿真功能”.什么是仿真?它如何实现更快捷地开发呢?详见下文. 【什么是仿真】 什么是仿真?我们举一个汽车设计地例子来说明一下吧.大家一定在影视剧或电视广告中看过这样地镜头:在一个大大地厂房里,一辆崭新地小汽车正在以很高地速度撞向一面厚厚地水泥墙.坐在车上地两个人面不改色心不跳,一动不动地等待着死亡.他们为何如此冷静,因为“他们”是实验用地假人.说时迟那时快,汽车已经撞到了墙上,巨大地声响夹杂着飞溅地碎片充满了空间,汽车在撞击中破了相.旁边地几台高速摄像机记录下了这一切.这是一次真实地撞击实验,目地是为了得出这款车型在出现意外时,是否能保住人地小命.安装在假人身上地传感器所得出地数据,能帮助工程师们发现安全隐患,改进汽车地设计.可以说以上就是一次仿真,一辆真车和两个假人有计划地撞墙,模拟了真实车祸情况.仿真让实验变得可能,因为没有一个真人愿意坐在车里参与这场实验.当真实情况很难在开发时再现时,仿真就可以帮助开发者完成必要地实验.这就如同单片机开发中,我们在自己地实验板上去开发一款产品一样.当我们设计好了一个产品地功能,我们要在实验板上模拟用户地操作,看看操作是否正常,产品地反应速度和稳定性如何.这些都是在仿真——模仿用户使用地真实情况.文档来自于网络搜索 有朋友会问了:如果这就是仿真,那还有什么好讲地呢?嗯,如上所说地仿真只是广义上地仿真,凡是在实验室里用实验板或工程样机模拟用户使用地过程,都可以算是仿真.而还有一种狭义地仿真,就是下面要重点介绍地内容.再说回到汽车撞击地实验吧.后来呀,汽车公司地老板在办公室里坐不住了.因为每当从外面传来一声巨响,他就知道又有一辆新车被撞得稀巴烂,一阵痛苦涌上心头.虽然理性上明白,这是为了开发出更安全地汽车,可是感性上还是不喜欢这种烧钱地行为.人们常说利益推动科技进步,当老板地利益受损,自然就会有高科技问世.不久,工程师们用上了一种电脑仿真软件,它采用了虚拟现实地技术,只要在电脑上按几个钮,输入一些汽车地参数,一台虚拟地汽车就出现在屏幕上.这辆虚拟车能和真车一样撞击、飞溅,然后得出一大堆接近真实地数据.不仅能模拟真实地撞,还能歪着撞,倒着撞,飞起来撞,飞起来转体度地撞.还能暂停时间,一步一步撞,或者只看撞击中某一秒地数据.这一技术完全超越了真实实验,撞击再也不用耗人耗时了,新车地开发速度也快了很多,大大降低了成本.文档来自于网络搜索 汽车公司地遭遇在单片机公司也同样发生着,各种仿真软件如雨后地水泡子般越来越多.有地直接在电脑上虚拟仿真,还有地用一种叫仿真器地东西,让实验板与电脑连接,给实验板或工程样机增加了单片机实物所不能达到地仿真功能.其中最重要地一个功能就是“单步运行”了.在仿真软件里,把单片机从上电开始以正常地速度一直运行下去地过程叫“全速运行”.相对地,如果单片机只运行程序中地某一条或几条程序就是单步运行了.在非仿真地情况下,单片机是不能单步运行地.那单步运行有什么用呢?呵呵,单步运行非常有用呀,甚至可以说是一项单片机开发地重大进步,就如同录音带和地区别一样.录音带在听歌地时候必须从头听到尾,如果想换歌就得花时间倒带,而且你也不能精准地倒到下一首歌地开始处.而不是连续地线性存储,你可以随意换歌,还能把任意地一段反复听.在单片机地开发中,我们为了测试某个部分地功能,必然要从头运行,再跳过不必要部分才能达到.大把地时间浪漫

单片机实验报告

仲恺农业工程学院实验报告纸 自动化学院(院、系)工业自动化专业144班组单片机与嵌入式系统实验课学号201421714406姓名黄国盛实验日期2016年11月05日教师评定 实验一Keil C51集成开发环境的使用练习 一、实验目的 熟悉Keil C51集成开发环境的使用方法。 二、实验设备及器件 IBM PC机一台 三、实验内容 按照Keil C51软件的使用说明进行Keil C51集成开发环境的安装和使用练习,然后按照以下内容建立并编译产生HEX文件。 ORG0000H LJMP Main ORG00F0H Main: MOV R7,#0 Loop: MOV R6,#0 DJNZ R6,$ DJNZ R6,$ DJNZ R6,$ DJNZ R6,$ DJNZ R7,Loop;延时 CPL P1.0;P1.0取反 CPL P1.1;P1.1取反 CPL P1.2;P1.2取反 CPL P1.3;P1.3取反 CPL P1.4;P1.4取反

CPL P1.5;P1.5取反 CPL P1.6;P1.6取反 CPL P1.7;P1.7取反 SJMP Main END 四、实验要求 熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。 五、实验预习要求 认真阅读Keil C51软件的使用说明。 六、实验思考题 试写一条把片内RAM50H~59H单元清零的程序。 实现程序如下: ORG0000h LJMP Main ORG0100H Main:MOV R0,#50H;立即数50H(内部RAM地址)传送到R0中 MOV R1,#10;立即数10(循环次数为10次)传送到R1中 MOV A,#0;立即数0传送到A,中将累加器A的值清0 LOOP:MOV@R0,A;将R0内容所指向的单元清0 INC R0;R0内容加1,修改地址指针 DJNZ R1,LOOP;减1不为0判断,若为真跳回循环,否,则运行下一语句 END;结束 七、实验总结 通过实验,熟悉80C51指令系统,熟悉Keil C51集成开发环境的使用方法,熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。加深对内部存储器读写的认识。

实验一proteus仿真软件使用方法

实验一 Proteus仿真软件使用方法 一.实验目的: (1)了解Proteus仿真软件的使用方法。 (2)了解51单片机编程器Keil与Proteus仿真软件的联用方法。 二.实验要求: 通过讲授和操作练习,学会正确使用Proteus仿真软件及Keil编程及其联合调试。 三.实验内容: (1)Proteus 仿真软件介绍 Proteus 软件是由英国LabCenter Electronics 公司开发的EDA工具软件,由ISIS 和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。 通过Proteus ISIS软件的VSM(虚拟仿真技术), 用户可以对模拟电路、数字电路、模数混合电路,以及基于微控制器的系统连同所有外围接口电子元器件一起仿真。 图1是Proteus ISIS的编辑窗口: 图1 ISIS的编辑界面 图中最顶端一栏是“标题栏”,其下的“File View Edit ……”是“菜单栏”,再下面的一栏是“命令工具栏”,最左边的一栏是“模式选择工具栏”;左上角的小方框是“预览窗口”,其下的长方框是“对象选择窗口”,其右侧的大方框是“原理图编辑窗口”。 选择左侧“模式选择工具栏”中的图标,并选择“对象选择窗口”中的P按钮,就会出现如图2的元器件选择界面:

图2 元器件库选择界面 在元器件列表框中点击你需要的器件类型(例如:电阻-Resistors,单片机芯片-MicroprocessorICs, LED-Optoelectronics)或在左上角的关键字(Keywords)框中输入你需要的器件名称的关键字(如:信号源 - Clock, 运放 - CA3140等),就会在图2中间的大空白框列出你所需的一系列相关的元件。此时,你可用鼠标选中你要的元件,则图2右上角的预览框会显示你所要元件的示意图,若就是你要的元器件,则点击OK按钮,该元器件的名称就会列入位于图1左侧的“对象选择窗口”中(参见图1左侧下方框)。 所需元器件选择好后,在“对象选择窗口”选择某器件,就可以将它放到图1中的“原理图编辑窗口”中(若器件的方向不合适,你可以利用图1左下角的旋转按钮来改变它)。将所要的元器件都选好后,将它们安放到合适的位置,就可以用连接线把电路连接好,结果存盘(请按规定的目录存盘,并记住其路径/目录/文件名[学号-实验序号])。 (2)51单片机编程器– Keil V3的使用 Keil编程器可用于MCS-51单片机软件编程与调试,它的工作界面如图3所示: Keil编程器是Keil Software Inc/Keil Electronic GmbH 开发的基于80C51内核的微处理器软件开发平台,可以完成从工程(Project)的建立和管理、程序的编译和连接、目标代码的形成、软件仿真等一套完整的软件开发流程。它与Proteus挂接,可以进行单片机应用系统的硬件仿真。 汇编语言编程方法: ①打开“File”菜单→选择新建“New...”→在弹出的文本框(Text1)中编写所需的汇编语言程序→程序写好后,保存(从File→Save As..→选择某目录,文件名.ASM, 存盘); ②打开“Project”菜单→选择新建工程“New Project...”→在弹出的窗口填写:工程名→保存(文件名的后缀是 .uv2 。此时图3的工程窗口中将建立Target1

Proteus仿真单片机实例

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

基于单片机仿真软件proteus的流水灯实验报告

《单片机原理》实验报告题目:流水灯设计 姓名:刘伟 学号:1042157110 专业:10计科特色班 院系:信息工程学院 指导老师:史先桂 完成时间:2014 年 4 月19日安徽新华学院教务处制

一、实验目的 1、熟练掌握单片机仿真软件proteus使用方法和注意事项。 2、了解简单单片机应用系统的设计方法。 3、帮助学生养成良好实验习惯。 二、实验内容 单片机仿真软件proteus上实现8个发光LED“流水”的现象,实现两个流水灯情况:1、先奇数灯亮,再偶数灯亮;2、实现流水灯从两边向中间亮,再从中间到两边亮。并通过编写程序控制流水现象。 三、实验说明 依照实验的硬件电路原理,在单片机仿真软件proteus上进行硬件电路的模拟,然后进行实验。在发光二极管两次点亮的间隔中加延时程序,让每次点亮停留一段时间,像这样人眼就可以看到“流水”的现象。 四、实验环境 硬件:pc机;软件:单片机仿真软件proteus。 五、实验原理图 六、实验参考程序 #include #include void delay_ms(int n) //延时n毫秒 { int i,j; for(i=0;i

void main() { int i, num; unsigned char p1; unsigned char p0, p; while(1) { for(i=0; i<3; i++) //间隔500ms先奇数亮再偶数亮,循环三次 { P1=0xaa; P0=p1; delay_ms(500); P1=0x55; P0=p1; delay_ms(500); } p1= 0xfe; num=3; while(num-- > 0) //一个灯上下循环三? { for(i=0; i<8; i++) { P0=p1; delay_ms(100); p1=_cror_(p1,1); } } //两个分别从两边往中间流动三? p1= 0xfe; p0= 0x7f; num=3; while(num-- > 0) { for(i=0; i<4; i++) //让LED灯从两边向中间点亮 { p1=_crol_(p1,1); p0=_cror_(p0,1); p=p1&p0; delay_ms(100); P1=p;

单片机开发与仿真软件Keil C51的使用

单片机开发与仿真软件Keil C51的使用 一、Keil C51 操作入门 1.1 Keil C51 简介 Keil C51 是德国知名软件公司Keil(现已并入ARM 公司)开发的基于8051 内核的微控制器软件开发平台,是目前开发8051 内核单片机的主流工具。Keil 51支持汇编语言、C语言等各种开发语言。其中,uVision2集成开发环境包含项目管理、源代码编辑和强大的程序调试环境。uVision2调试器是一个强大的全特性调试器,允许用户在PC机上完全模拟目标程序、指令集和片内外围功能。 实验所用的是Keil C51 V7.09评估版。 1.2 Keil C51 的启动 双击桌面上的“Keil uVision2”图标,启动Keil C51程序,启动界面如图1所示。 图1 Keil C51的启动界面 1.3 建立第1 个Keil C51 程序 Keil C51 是一个功能很强大的软件,但是使用起来并不复杂。现在就通过建立一个简单的LED(发光二极管)闪烁发光的实例来初步掌握Keil C51的基本用法。硬件电路参见图2,单片机I/O 输出低电平可点亮LED。 图2 LED 闪烁发光电路 ●新建工程。执行Keil C51 软件的菜单“Project | N ew Project…”,弹出一个名为“Create

New Project”的对话框。先选择一个合适的文件夹准备来存放工程文件,比如“E:\Project\LedFlash”,其中“LedFlash”是新建的文件夹。建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。最后,为工程取名为“LedFlash”,并保存。参见图3。 图3 新建Keil C51 工程 ●选择CPU。紧接着,Keil C51 提示选择CPU 器件。8051 内核单片机最早是由鼎鼎 大名的Intel 公司发明的,后来其他厂商如Philips 、Atmel 、Winbond 等先后推出其兼容产品,并在8051 的基础上扩展了许多增强功能。在这里可以选择Philips 的第1 个器件“80/87C51”,该器件与Intel 的8051 完全兼容。参见图4 。 图4 选择CPU ●接下来弹出一个如图5 所示的对话框。该对话框提示是否要把标准8051 的启动代

(完整word版)基于单片机仿真软件proteus的流水灯实验报告

单片机原理》实验报告 题目:流水灯设计 姓名:刘伟 学号:1042157110 专业:10 计科特色班院系:信息工程学院指导老师:史先桂 完成时间:2014 年 4 月19 日 安徽新华学院教务处制

一、实验目的 1、熟练掌握单片机仿真软件proteus 使用方法和注意事项。 2、了解简单单片机应用系统的设计方法。 3、帮助学生养成良好实验习惯。 二、实验内容单片机仿真软件proteus 上实现8个发光LED “流水”的现象,实现两个流水灯情况:1、先奇数 灯亮,再偶数灯亮;2、实现流水灯从两边向中间亮,再从中间到两边亮。并通过编写程序控制流水现象。 三、实验说明依照实验的硬件电路原理,在单片机仿真软件proteus 上进行硬件电路的模拟,然后进行实验。在发光二极管两次点亮的间隔中加延时程序,让每次点亮停留一段时间,像这样人眼就可以看到“流水” 的现象。 四、实验环境 硬件:pc 机;软件:单片机仿真软件proteus。 五、实验原理图 六、实验参考程序 #include #include void delay_ms(int n) { int i,j; for(i=0;i

单片机实验报告

南京晓庄学院电子工程学院 实验报告 课程名称:单片机系统设计与应用 姓名:森 专业:电子信息科学与技术 年级:14级 学号:05 2016年12 月1 日

实验项目列表 序号实验项目名称成绩指导教师 1 单片机仿真软件的使用 2 单片机I/O接口应用实验——流水灯 3 外部中断实验——工业顺序控制模拟 4 定时/计数器实验——矩形波 5 定时/计数器实验——计数器 6 综合实验 7 8 9 10 注: 1、实验箱端口为com6。 2、芯片选择切换到51 3、停止运行使用实验箱上的复位按钮

实验室号:___ 实验时间:成绩: 实验一仿真软件的使用 1.实验目的和要求 1)熟悉Keil C51软件界面,以及编辑、编译、运行程序的步骤; 2)掌握单片机仿真软件使用和调试的方法。 2.实验原理 Keil C51软件使用 在Keil C51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。 3.主要仪器设备(实验用的软硬件环境) 安装有Keil C51软件的PC机1台 4.操作方法与实验步骤 Keil C51软件使用 (1)建立用户文件夹 (2)建立工程 (3)建立文件并编码。输入以下源程序,并保存在项目所在的目录中 (4)把文件加入工程中 (5)编译工程。编译时观察在界面下方的“Build”页中的到编译错误信息和使用的系统资源情况等。 (6)调试。利用常用调试命令,如复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令进行调试,观察并分析调试结果。 (7)目标代码文件的生成。运行生成相应的.HEX文件。 5.实验内容及程序 1)从DATA区地址起始地址为40H的连续10个内存单元的内容传送到XDATA区起始地址为2000H的10个内存单元中。 注意:DATA区地址起始地址为40H的连续10个内存单元必须先赋初值。 P83-5源程序 #include #define uchar unsigned char xdata unsigned char buffer1[10]_at_ 0x2000; //在xdata区定义数组变量BUF1,首地址为2000H data unsigned char buffer2[10]_at_ 0x40; //在data区定义数组变量BUF2,首地址为40H void main(void)

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,编写程序使之闪烁起来。

单片机仿真50例说明

《单片机实验仿真50例》说明 《单片机原理与控制技术》(第3版)和《单片机学习指导及习题解答》(第2版)已经出版,该书封面广告词中有一句“免费下载仿真DSN文件和hex文件”。《单片机实验仿真50例》即为与该二本书配套的Proteus仿真文件包,50例全部取自于二本书中例题和习题。但仅提供仿真电路DSN文件和驱动程序hex文件,没有源程序(源程序印在书上)。读者从网上免费下载后,可对照书中程序,边学边练。 文件包共分8章50例(不计一题多解),每章用一个大文件夹,大文件夹中包含若干子文件夹。每个子文件夹即为一个仿真题目,取一简明名称,体现其内容和功能。子文件夹中,包含一个DSN文件、若干hex文件和一个调试提示。 hex文件分两类:一类是汇编程序形成的hex文件,用“×××asm.hex”表示;另一类是C51程序形成的hex文件,用“×××c.hex”表示。其中,“×××”通常用“例×-×”或“习题×-×”表示,以表明其在书中的位置,便于读者查照。有的题目还一题多解,有几个同类hex文件。“例×-×”程序在《单片机原理与控制技术》(第3版)中,“习题×-×”程序在与教材书配套的《单片机学习指导及习题解答》(第2版)中。 为帮助读者操作,每一题均附有调试提示。一般给出原理电路图,少量解释和调试操作步骤。除标题按目录标示,题号、图号仍沿用书中原题号、图号,以便读者查照。 为便于读者观察仿真运行效果,有的题目增加了原书中没有的显示电路和显示程序,增加部分程序均在调试提示中给出。 需要注意的是,原书为节省版面,有的程序在调用前面已用过的子程序时,没有将子程序同时刊出(例如延时程序),读者在自行输入程序并Keil调试时,必须同时补充输入该子程序,否则编译器会提示出错。 仿真运行方法和步骤:打开DSN文件(须事先下载安装Proteus7.6以上软件),若运行已经装入的hex文件,可直接左键单击全速运行按钮;若需运行子文件夹中其它hex文件,可左键双击仿真电路图中A T89C51,选择处于同一文件夹中的其它hex文件,再全速运行。 张志良

PROTEUS单片机仿真软件介绍

Proteus--软件介绍 Proteus是由Labcenter Electronics开发的功能强大的单片机仿真软件,现在最新版本6.9 SP5,其演示版本可在其官方网站https://www.doczj.com/doc/aa5637649.html,下载。 Proteus与其他的仿真软件相比较,在下面的优点: 1.能仿真模拟电路、数字电路、数模混合电路; 2.能绘制原理图、PCB图; 3.几乎包括实际中所有使用的仪器 4.其最大的亮点在于能够对单片机进行实物级的仿真。从程序的编写,编译到调试,目标版的仿真一应俱全。支持汇编语言和C语言的编程。还可配合Keil C实现程序的联合调试,将Proteus中绘制的原理图作为实际中的目标板,而用Keil C集成环境实现对目标板的控制,与实际中通过硬件仿真器对目标板的调试几乎完全相同,并且支持多显示器的调试,即Proteus运行在一台计算机上,而Keil C运行在另一台计算机上,通过网络连接实现远程的调试。 Proteus原理图元器件库详细说明 当你在用Proteus的时候,你是否真的清楚它们的元件库呢?如果你不清楚的话,也许这个对你有点用!!PROTEUS原理图元器件库详细说明 Device.lib 包括电阻、电容、二极管、三极管和PCB的连接器符号 ACTIVE.LIB 包括虚拟仪器和有源器件 DIODE.LIB 包括二极管和整流桥 DISPLAY.LIB 包括LCD、LED BIPOLAR.LIB 包括三极管 FET.LIB 包括场效应管 ASIMMDLS.LIB 包括模拟元器件 VALVES .LIB 包括电子管 ANALOG.LIB 包括电源调节器、运放和数据采样IC CAPACITORS.LIB 包括电容 COMS.LIB 包括4000系列 ECL.LIB 包括ECL10000系列 MICRO.LIB 包括通用微处理器 OPAMP.LIB 包括运算放大器 RESISTORS.LIB 包括电阻 FAIRCHLD .LIB 包括FAIRCHLD 半导体公司的分立器件 LINTEC.LIB 包括LINTEC公司的运算放大器 NATDAC.LIB 包括国家半导体公司的数字采样器件 NATOA.LIB 包括国家半导体公司的运算放大器 TECOOR.LIB 包括TECOOR公司的SCR 和TRIAC TEXOAC.LIB 包括德州仪器公司的运算放大器和比较器 ZETEX .LIB 包括ZETEX 公司的分立器件 也许部分因版本回有所不同,这是PROTEUS 6.7的版本。 如何删除左边元件列表中的元件 点edit 中的Tidy可以删去所有你没用到的零件,但如果想只删其中指定的零件,似乎Proteus没有这个功能。

单片机实验报告书

并行I/O接口实验 一、实验目的 熟悉掌握单片机并行I/O接口输入和输出的应用方法。 二、实验设备及器件 个人计算机1台,装载了Keil C51集成开发环境软件。https://www.doczj.com/doc/aa5637649.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管延时(0.5-1秒)循环点亮。实验原理图如图3.2-1所示。 图3.2-1单片机并行输出原理图 实验程序及仿真 ORG 0000H LJMP START ORG 0100H START:MOV R2,#8 MOV A,#0FEH LOOP:MOV P1,A LCALL DELAY RL A

DJNZ R2,LOOP LJMP START DELAY:MOV R5,#20 D1:MOV R6,#20 D2:MOV R7,#248 D3:DJNZ R7,D3 DJNZ R6,D2 DJNZ R5,D1 RET END 中断实验 一、实验目的 熟悉并掌握单片机中断系统的使用方法,包括初始化方法和中断服务程序的编写方法。 二、实验设备及器件

个人计算机1台,装载了Keil C51集成开发环境软件。 https://www.doczj.com/doc/aa5637649.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (2)用P1口输出控制8个发光二极管LED1~LED8,实现未中断前8个LED闪烁,响应中断时循环点亮。 实验程序及仿真 ORG 0000H LJMP MAIN ORG 0003H LJMP INT00 ORG 0010H MAIN: A1:MOV A,#00H MOV P1,A MOV A,#0FFH MOV P1,A SETB EX0 JB P3.2,B1 SETB IT0 SJMP C1 B1:CLR IT0 C1:SETB EA NOP SJMP A1 INT00:PUSH Acc PUSH PSW MOV R2,#8 MOV A,#0FEH LOOP: MOV P1,A LCALL DELAY RL A DJNZ R2,LOOP

单片机系统设计与仿真软件

(此文档为word格式,下载后您可任意编辑修改!) PROTEUS —单片机系统设计与仿真软件 一、Proteus 6.7 Professional 界面简介 安装完Proteus后,运行ISIS 6.7 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* 仿真图表( gra ph ) :用于各种分析,如Noise Analysis 4* 录音机 5* 信号发生器( generators) 6* 电压探针:使用仿真图表时要用到 7* 电流探针:使用仿真图表时要用到 8* 虚拟仪表:有示波器等 2D 图形( 2D Graphics): 1* 画各种直线 2* 画各种方框 3* 画各种圆 4* 画各种圆弧 5* 画各种多边形 6* 画各种文本 7* 画符号 8* 画原点等 4.元件列表( The Object Selector ):用于挑选元件( components)、终端接口 ( terminals)、信号发生器 (generators)、仿真图表(graph)等。举例,当你选择"元件 (components)”,单击"P”按钮会打开挑选元件对话框,选择了一个元件后(单击了“ OK ”后),该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选择即可。 5.方向工具栏( Orientation Toolbar ):旋转:旋转角度只能是90 的整数倍。 翻转:完成水平翻转和垂直翻转。使用方法:先右键单击元件,再点击(左击)相应的旋

单片机Multisim 10仿真步骤

一、实验目的 熟悉并掌握Multisim10对单片机的仿真过程。 加深对单片机硬件以及软件理论知识的理解。 二、实验原理 1、Multisim10 美国国家仪器公司下属的ElectroNIcs Workbench Group在今年年初发布了Multisim 10。新版的Multisim10,加入了MCU模块功能,可以和8051等单片机进行编程联调,该软件元件丰富,界面直观,虚拟仪器的逼真度达到了让人相当高的程度,是电子设计、电路调试、虚拟实验必备良件。 工程师们可以使用Multisim 10交互式地搭建电路原理图,并对电路行为进行仿真。Multisim提炼了SPICE仿真的复杂内容,这样工程师无需懂得深入的SPICE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。通过Multisim和虚拟仪器技术,PCB设计工程师和电子学教育工作者可以完成从理论到原理图捕获与仿真再到原型设计和测试这样一个完整的综合设计流程。 下面将简单介绍一下Multisim10刚加进来的MCU模块的使用方法。 双击桌面上的multisim10图标,由于软件比较大,需要等待一定的时间才能进入以下界面(图一): 图一 Multisim10界面和Office工具界面相似,包括标题栏、下拉菜单、快捷工具、项目窗口、状态栏等组成。 标题栏用于显示应用程序名和当前的文件名。下拉菜单提供各种选项。 快捷工具分为:文件工具按钮,器件工具按钮,调试工具按钮,这些按钮在下拉菜单中都有,并经常用到,现在放在工具栏里是为了方便使用。 项目窗口中的电路窗口是用来搭建电路的,Design Toolbox工具栏是用来显示全部工程文件

单片机PROTEUS仿真100实例

《单片机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 从左到右的流水灯 /* 名称:从左到右的流水灯 说明:接在P0口的8个LED 从左到右循环依次点亮,产生走 马灯效果 */ #include #include #define uchar unsigned char #define uint unsigned int

//延时 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左右来回点亮 说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { uchar i; P2=0x01; while(1) {

单片机伟福和 Proteus ISIS仿真软件的使用

伟福和Proteus ISIS仿真软件的使用 第一部分 Proteus ISIS快速入门 一、简介 Proteus软件是一款强大的单片机仿真软件,对于单片机学习和开发帮助极大。 Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和数字集成电路,包括单片机。在国内由广州的风标电子技术有限公司代理。 在单片机课程中我们主要利用它实现下列功能: 1、绘制硬件原理图,并设置元件参数。 2、仿真单片机及其程序以及外部接口电路,验证设计的可行性与合理性,为实际的硬件实验做好准备。 3、如有必要可以利用它来设计电路板。 总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,可以实现从构想到实际项目完成全部功能。 这里介绍Proteus ISIS软件的工作环境和一些基本操作,实现初学者入门。至于更加详细的使用,请参考软件的帮助文件和其他有关书籍,还可以到网上找到许多参考资料。 二、界面介绍 双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional”→“ISIS 7 Professional”,出现如图2-1所示屏幕,表明进入Proteus ISIS集成环境。 图2-1 Proteus ISIS集成环境 进入之后的界面类似如图2- 2 所示。 图中已经标注各个部分的作用,我们现在就使用软件提供的功能进行工作。

图2-2 ISIS主窗口 三、一个小项目的设计过程 1、建立新项目 启动软件之后,首先,新建一个项目: 点击菜单:File→New Design,如图2-3所示,即可出现如图2-4所示的对话框,以选择设计模板。一般选择A4图纸即可,点击OK,关闭对话框,完成设计图纸的模板选择, 出现一个空白的设计空间。 图2-3 新设计图2-4 选模板这时设计名称为UNTITLED (未命名),你可以点击菜单file→save design 来给设计命名。也可以在设计的过程中任何时候命名。 2、调入元件 在新设计窗口中,点击对象选择器上方的按钮P(如图2-5所示),即可进入元件拾取 对话框,如图2-6所示。

单片机中断实验报告

人的一生要疯狂一次,无论是为一个人,一段情,一段旅途,或一个梦想 ------- 屠呦呦 实验三定时器中断实验 一、实验目的 1、掌握51单片机定时器基本知识; 2、掌握定时器的基本编程方法; 3、学会使用定时器中断。 二、实验内容 1、利用定时器设计一个秒表,计数范围为0—59,并在数码管实时显示。 三、实验设备 PC 机一台、单片机实验箱 主要器件:AT89C52、7SEG-BCD、 四、实验步骤 1、使用Proteus设计仿真原理图; 2、使用Keil设计程序; 3、联合调试仿真。 五、实验流程图 六、实验程序与结果 #include #define uint unsigned int #define uchar unsigned char sbit F=P2^1;

void timer1_init() { TMOD=0x10;//将定时器1设置为工作方式1 TH1=(65536-6000)/256;//定时器每加一时间为1/fsoc,定时时间为1/500 //(1/500)s/(1/3000000)s=6000 TL1=(65536-6000)%256;//fsoc=3000000,所以装入16位定时器中值为65536-6000 EA=1; ET1=1; TR1=1; } void main() { timer1_init(); while(1); } void timer1() interrupt 3 { TH1=(65536-6000)/256;//每次进入中断,重装初值TL1=(65536-6000)%256; F=~F;//每次进入中断P1.1口取反 } #include #define uint unsigned int #define uchar unsigned char sbit F=P2^1; void timer0_init() {TMOD=0x01;//将定时器0设置为工作方式1 TH0=(65536-83)/256;//定时器每加一时间为1/fsoc,定时时间为2Khz,既500us //500us/6us=83.3333 TL0=(65536-83)%256;//fsoc=6000000,所以装入16位定时器中值为65536-83 EA=1; ET0=1; TR0=1; }void main() { timer0_init(); while(1); } void timer0() interrupt 1 { TH0=(65536-83)/256;//每次进入中断,重装初值 TL0=(65536-83)%256; F=~F;//每次进入中断P1.1口取反,表示定时时间到 } #include // 包含51单片机寄存器定义的头文件 #define seg_data P1 #define seg_data2 P3 #define uint unsigned int sbit D1=P2^0; //将D1位定义为P2.0引脚 uint counter=0; unsigned int unit=0,decade=0,avs=0;//time=0;

相关主题
文本预览
相关文档 最新文档