Proteus仿真单片机实验教程文件
单片机PROTEUS实验指导书
目录实验一I/O 口输出控制实验 (20)实验二I/O 口输入输出控制实验 (24)实验三中断程序设计练习 (34)实验四定时器、计数器实验 (32)Keil C51 集成开发环境介绍1、打开计算机,运行Keil C51 集成开发环境。
图1-1 第一次启动Keil C图1-2 Keil C μVision2 操作界面Keil C 软件菜单命令非常丰富,常用的菜单命令都有对应的快捷键和快捷图标,自己可以打开相应的菜单,熟悉各种命令。
2.选择“Project”-“New Project…”建立新的工程文件(注意工程文件放置的文件夹),输入文件名,选择“保存”。
图1-3 创建一个新工程图1-4 为新工程命名并保存3.工程保存后会弹出来一个器件选择窗口,这里需要选择单片机芯片类型。
器件选择的目的是告诉μVision2 最终使用的80C51 芯片的型号是哪一个公司的哪一个型号,因为不同型号的51 芯片内部的资源是不同的。
图1-5 器件选择窗口如果不知道自己需要使用什么型号的芯片,暂时选择“Atmel”下的“AT89C51”,然后在接下来的窗口中,选择“是”,加载芯片基本参数。
图1-6 选择AT89C51 芯片4.选择“File”-“New”或者点击新文件快捷图标,会打开一个文本编辑器窗口。
输入下列数据传送的程序,然后选择“File”-“Save…”,注意保存的时候给文件起名字以后,加个文件名后缀,Keil C 支持汇编语言及C 语言编程,它是依靠文件名后缀来判断文件是汇编语言还是C 语言格式的,如果是汇编语言,后缀为“.asm”,C 语言格式的,后缀为“.c”。
我们根据实验要求选择保存为汇编语言格式或C 语言格式。
注意此时程序中的一些代码和寄存器将会自动蓝色显示,方便观察。
图1-7 创建一个新文件图1-8 输入程序并保存文件5.选择“Project”-“Targets,Groups,Files…”,选择“Groups/Add Files”标签,首先点击下边窗口中的“Source Group 1”,然后选择下边的“Add Files to Group…”,在接下来的窗口中,首先选择你需要加入的文件的后缀名(默认是.c,我们可选择“Asm Sourcefile,即后缀为.asm”)。
单片机实验指导书(PROTUES实用)
单片机原理与接口技术实验指导书2009.10.28目录软件部分 (1)实验一赋值程序 (1)一实验目的 (1)二实验内容 (1)三程序流程图 (1)四实验步骤 (1)五参考程序 (1)实验二数据区传送程序 (3)一实验目的 (3)二实验内容 (3)三程序流程图 (3)四实验步骤 (3)五参考程序 (3)硬件部分 (5)实验一P1口亮灯实验 (5)一实验目的 (5)二实验内容 (5)三程序流程图 (5)四仿真电路 (6)五硬件实现电路 (6)六实验步骤 (7)七参考程序 (7)实验二P1口转弯灯实验 (8)一实验目的 (8)二实验内容 (8)三程序流程图 (8)四仿真电路 (8)五实验电路 (9)六实验步骤 (9)七参考程序 (9)附录一Keil Vison2使用入门 (11)附录二Protues使用入门 (13)附录三KeilC与Proteus连接调试 (15)软件部分软件实验中,涉及外部数据存储器扩展寻址操作,须按下图连接实验线路。
说明:1 将存储器单元的D0-D7与数据总线单元D0-D7相连;存储器单元的A0-A12与地址总线单元A0-A12相连。
2 存储器单元的WE/PGM与六位LED左下方单元的WR或IOWR相连。
3 存储器单元的CS1与六位LED右下方单元A15相连。
4 存储器单元的OE与六位LED左下方单元的RD或IORD相连实验一赋值程序一实验目的1 熟悉汇编指令2 掌握汇编语言程序设计的一般方法二实验内容编写程序实现存储块(2000H---20FFH)的赋值操作(如全为0FFH)。
三程序流程图图1 流程图四实验步骤1 编写程序并调试。
2 在实验箱上运行程序,并查看对应存储器和寄存器的内容。
五参考程序ORG 0000HLJMP MAINORG 0030HMAIN: MOV R0,#00HMOV DPTR,#2000HMOV A,#0FFHLOOP0:MOVX @DPTR,AINC DPTRINC R0CJNE R0,#00H,LOOP0;判断赋值是否完成LOOP1:SJMP LOOP1END实验二数据区传送程序一实验目的1 熟悉汇编指令2 掌握汇编语言程序设计的一般方法二实验内容编写程序实现内存块的移动操作(将20H单元开始的64字节数据移动到3000H开始的存储区)。
proteus仿真教程
参考资料:微机原理与接口技术实验教程——基于Proteus仿真
《微机原理与接口技术实验教程——基于Proteus仿真》是2019年西南交通大学出版社出版的图 书,作者是李崇维。
内容介绍
proteus仿真比较适合入门新手支持单片机仿真操作简单中文界面
方法/步骤ຫໍສະໝຸດ 组建好你的电路部分方法/步骤
sbit q = P1^0; //定义数码管阳级控制脚(千位) sbit b = P1^1; //定义数码管阳级控制脚(百位) sbit s = P1^2; //定义数码管阳级控制脚(十位) sbit g = P1^3; //定义数码管阳级控制脚(个位) uchar miaog; uchar miaos; uchar feg; uchar fes;
谢谢观看
参考资料:单片机应用技术项目式教程:Proteus仿真+实训电路
《单片机应用技术项目式教程:Proteus仿真+实训电路》是2019年8月1日北京理工大学出版社 出版的图书,作者是迟忠君、赵明。
参考资料:Proteus教程——电子线路设计、制版与仿真
《Proteus教程——电子线路设计、制版与仿真》是2008年9月清华大学出版社出版的图书,作 者是朱清慧、张凤蕊、翟天嵩等。
feg++; miaos=0; } if(feg==10)
方法/步骤
{ fes++; feg=0;
} }
方法/步骤
上述为 4段数码管计时程序需要有 所修改。
点击开始仿真就能看到单片机运行了
注意事项
单片机程序需要更更改
参考资料:零起点学Proteus单片机仿真技术
《零起点学Proteus单片机仿真技术》是2012年机械工业出版社出版的图书,作者是范海绍 。
《单片机Proteus仿真实验》
DJNZ R1,DL1 RET END 将以上程序补充完整,流水时间间隔为50ms。 C51语言参考程序: #include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int
void delay_ms(uint x) {
R11
1k
原理图中常用库元件的名称:
无极性电容:CAP 极性电容:CAP-ELEC
单片机:AT89C51
晶体振荡器:CRYSTAL 电阻:RES
按键:BUTTON
发光二极管:红色 LED-RED 绿色 LED-GREEN 蓝色 LED-BLUE 黄色 LED-YELLOW
2.在Keil环境下建立源程序并保存为.ASM文件,生成.HEX文件;
uint i; uchar j; for(i=0;i<x;i++)
for(j=0;j<120;j++); }
void main() {
P2=0xfe; while(1) {
delay_ms(50); P2=_crol_(P2,1); } } 3.将.HEX文件导入仿真图,运行并观察结果; 4.利用Keil软件将程序下载至实验箱,进行硬件仿真,观察实验结果。 五、实验数据分析、误差分析、现象分析 现象:进行软硬件仿真时,观察到8支LED发光二极管流水发光。 六、回答思考题 1.如何让改变流水方向? 2.若将 R3 至 R10 上拉电阻省略,8 支 LED 还能正常发光吗? 3.如果将 LED 接到 P0 口与接到 P2 口硬件设计时应注意什么问题?
2 P1.1
3 P1.2
基于Proteus软件的单片机仿真实验
该方案 目前在 国内高校具有较高的推广利用价值 。 关键词 :rt s 单片机 ; 真 ; Poe ; u 仿 实验 中图分类号 : P381 T 6 . 文献标志码 :A 文章编号 : 6 22 3 (0 1 0 -0 90 1 7 - 4 2 1 )302 - 4 4
第l O卷
第 3期
常
州
信
息
职
业
技
术
学
院
学
报
VO .O NO 1 3 1 Jm. 01 t 2 1
21 0 1年 6月
பைடு நூலகம்
J t l l o a g h u Vo a in lCo lg fI f r to c n lg: o t l fCh n z o c to a l e o n o ma i n Te h oo ra e
单片机技术是现代电子工业 中不可缺少的一项
技术 , 掌握 单 片机技 术 是 电子类 专 业 学 生 就业 的 一
计算机仿 真技术 , 是在计算机平台上使用电子 仿真软件进行 电路设计 、 仿真、 调试 , 完成通 常在相 应硬件实验室才可以完成的实验 。伴随着计算机软 件和硬件技术 的飞速发展 , 在各个领域都 出现 了各
基 于 Poes软件 的 单 片 机 仿真 实验 rtu
高立 新
( 广东机 电职业技术学 院 广东广 州 501) 15 5
摘
要 : 电子类 专业 教学中 , 在 单片机 的实验和实训 常规采用 硬件实验箱或实验 板方式 , 此硬件 实验平 台不 仅投资成本 高 , 而 且局 限于固有 的硬件电路 , 不便于更改 电路 。提 出一种基于 Po u 软件仿真 的单片机 虚拟实验方 案 , 案不需采 r es t 该方 购大量 的硬件 设备 , 而是使用 Poes rt 软件仿真 , u 完成单 片机的实验 和实训 。同时 , 使用 Po u 软件 的单片机 虚拟实 r es t
单片机C语言程序设计方案实训例— Proteus仿真
DelayMS(300>。
YELLOW_B=~YELLOW_B。GREEN_B=1。
if(++Flash_Count!=10> return。
Flash_Count=0。
Operation_Type=1。
}
}
//主程序
void main(>
{
while(1> Traffic_Light(>。
0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,
0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,
0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x>
{
uchar i。
while(x-->
{
for(i=0。i<120。i++>。
}
}
//主程序
void main(>
{
实验一:单片机仿真初步(二)-Proteus的使用
实验一:单片机仿真初步(二)-Proteus的使用用来仿真的单片机电路,如下图所示:电路的核心是单片机A T89C52,晶振X1和电容C1、C2构成单片机时钟电路,单片机的P1口接8个发光二极管,二极管的阳极通过限流电阻接到电源的正极。
特别注意:下面文中所有值为1K的电阻都修正成100 可以考虑把红色发光二极管换成黄色发光二极管一、新建一个设计。
单击“File”中“New Design……”,在Proteus中打开了一个空白的新电路图纸。
二、将需要用到的元器件加载到对象选择器窗口。
单击对象选择器按钮如图所示:弹出“Pick Devices”对话框,在“Category”下面找到“Mircoprocessor ICs”选项,鼠标左键点击一下,在对话框的右侧,我们会发现这里有大量常见的各种型号的单片机。
找到AT89C52,双击“AT89C52”。
这样在左侧的对象选择器就有了A T89C52这个元件了。
如果知道元件的名称或者型号我们可以在“Keywords”输入AT89C52,系统在对象库中进行搜索查找,并将搜索结果显示在“Results”中,如下图所示:在“Results”的列表中,双击“A T89C52”即可将AT89C52加载到对象选择器窗口内。
晶振CRY:无极性电容CAP:有极性电容CAP POL:红色发光二极管LED-RED:电阻RES经过前面的操作我们已经将A T98C52、晶振等元件加载到了对象选择器窗口内。
在对象选择器窗口内鼠标左键点击“AT89C52”会发现在预览窗口看到AT89C52的实物图,且绘图工具栏中的元器件按钮处于选中状态。
我们在点击“CRYSTAL”、“LED-RED”也能看到对应的实物图,按钮也处于选中状态,如图所示:三、将元器件放置到图形编辑窗口。
在对象选择器窗口内,选中A T89C52,如果元器件的方向不符合要求可使用预览对象方向控制按钮进行操作。
如用按钮对元器件进行顺时针旋转,用按钮对元器件进行逆时针旋转,用按钮对元器件进行左右反转,用按钮对元器件进行上下反转。
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.1Proteus VSM的仿真Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。
Proteus可提供30多种元件库,超过8000种模拟、数字元器件。
可以按照设计的要求选择不同生产厂家的元器件。
此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。
除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。
实验二 Proteus仿真
实验报告一、实验目的熟悉Proteus仿真软件环境,掌握Proteus软件环境中绘制电路图的方法及仿真单片机的步骤。
二、实验设备PC机1台、Proteus软件1套三、设计内容1.在Proteus软件环境中绘制单片机及各类常用电子器件,连接元件引脚,熟悉软件绘图环境。
2.设计并行口直接驱动LED显示。
四、设计原理及步骤1.原理;将单片机P0口的P0.0~P0.7引脚连接到一个共阴数码管的a~b的笔段上,数码管的公共端接地。
在数码管上循环显示数字0~9数字,时间间隔0.2s。
2.硬件设计打开Proteus ISIS编辑环境,按表所列的清单添加元件。
全部虚拟元件添加完毕后,在Proteus ISIS的编辑区中按下面电路原理图连接硬件电路。
3.程序设计LED数码显示原理:7段LED显示器内部由7个条形发光二极管和1个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。
LED数码管的a~g7个发光二极管加正电压发亮,加零电压不发亮,不同亮暗的组合就能形成不同的字形,这种组合称为段码,共阴极的段码见表由于显示的数字0~9段码没有规律可循,只能采用查表的方式来完成所需的操作。
按着数字0~9的循序,把每个数字的笔段代码按顺序排好,在程序中建立段码表如下:“TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH”。
五、设计程序程序框图:源程序:ORG 0000H ;汇编起始地址START: MOV DPTR,#TABLES1: MOV A,#00H ;立即数00H送给AMOVC A,@A+DPTR ;A、DPTR中原有的内容相加,传送给A,查表指令CJNE A,#01,S2 ; 不相等则转到S2LJMP START ;转到STARTS2: MOV P0,A ;A→P0LCALL DELAY ;调用DELAYINC DPTR ;加1LJMP S1 ;转到S1 DELAY: MOV R5,#20D2: MOV R6,#20D1: MOV R7,248DJNZ R7,$DJNZ R6,D1 ;减1不为0转到D1DJNZ R5,D2 ;减1不为0转到D2RET ;子程序返回TABLE: DB 3FH,06H,5BH,4FH,66H ;码段表DB 6DH,7DH,07H,7FH,6FHDB 77H,7CH,39H,5EH,79HDB 71H,01HEND ;结束调试结果:…………………………实验电路图:六、实验结论及体会结论:由实验电路图可知数码管的七个接线端接在单片机的P0.0—P0.6口,所以在编写程序时要对P0口操作,由上面的调试程序截图可知,程序没运行一次,对应的P0口的值都会变化一次。
实验2:单片机仿真软件protues的使用
实验二:⑴单片机仿真软件protues的使用⑵I/O口简单流水灯实验一、 实验目的1.通过学习专业仿真软件protues,使学生理解和掌握protues窗口菜单和工具条的使用、元件的查找和调用、电源符号的调用、电路连线技巧、元件参数修改、单片机程序的加载以及系统的仿真运行等。
2.初步掌握MCS-51单片机的电路设计原理和方法,加深对单片机应用系统中软件、硬件相结合的认识和理解。
3.理解和掌握指令的含义和使用,进一步提高编程的技巧和水平。
二、 实验仪器、材料1.微型计算机(PⅣ以上)2.编程、汇编与模拟平台软件Keil uVision33.电子技术专业仿真软件protues运行平台三、 实验内容1.学习电子技术专业仿真软件protues的使用方法和技巧;2.针对AT89C51单片机进行最小系统电路设计,有目的的进行简单外围电路设计;3.借助Keil程序设计与汇编平台,结合课本实例,完成针对硬件电路的程序设计、汇编;4.在仿真软件protues中的硬件电路中,运行汇编后的单片机程序,观察软件的运行过程;5.修改程序-仿真运行-再修改程序-再仿真运行…。
四、 实验项目与实验步骤1.仿真软件protues的简单使用操作1)在桌面的“开始”程序菜单中,在桌面上选择【开始】→【程序】→“Proteus 7Professional”,打开设计界面。
2)用鼠标左键单击界面左侧预览窗口下面的“P”按钮,弹出“Pick Devices”(元件拾取)对话框。
3)通过按类别查找和拾取元件或直接查找和拾取元件,把元件从元件拾取对话框中拾取到图形编辑界面的对象选择器中。
单片机、晶振、电阻、电容、发光二极管等4)把相应元件从对象选择器中放置到图形编辑区中,调整元件摆放位置和放置方向,进行电路连接,编辑修改元件参数,完成电路设计。
5)在资料盘上建立一个单独的文件夹,并进行取名存盘。
6)借助Keil程序设计与汇编平台,结合课本实例,完成针对硬件电路的程序设计、汇编,注意汇编后产生的“.HEX”文件的存储路径。
Proteus真单片机实验
目录引言 (1)实验1 PROTUES环境及LED闪烁综合实验 (6)实验2 多路开关状态指示 (9)实验3 报警产生器 (12)实验4 I/O并行口直接驱动LED显示 (15)实验5 按键识别方法之一 (18)实验6 一键多功能按键识别技术 (21)实验7 定时计数器T0作定时应用技术 (24)实验8定时计数器T0作定时应用技术 (27)实验9 “嘀、嘀、......”报警声 (31)实验10 8X8 LED点阵显示技术 (35)实验11电子琴 (39)引言单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。
以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。
在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。
利用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调试器等虚拟终端。
单片机实验(仿真版)指导书
实验一 I/O口实验1. 实验内容P1口做为输入、输出口完成汽车转向灯控制。
当开关SW2连接到P1.0上,右转弯灯以一定频率闪烁;当开关SW2连接到P1.1上,左转弯灯以一定频率闪烁;当开关在空档时,左右转弯指示灯全灭。
2. 实验目的(1)熟悉仿真软件Keil、proteus的使用。
(2)学习P1口既做为输入,又作为输出的使用方法。
(3)学习数据输入、输出程序的设计方法。
3. 实验电路4、实验要求(1)完成实验电路设计(2)完成实验程序设计(3)实现要求的实验结果实验二定时器实验1. 实验内容使用AT89C51内部定时器1,按方式1工作、即作为十六位定时器使用每0.1秒钟T1溢出中断一次。
P1口的P1.0—P1.7分别接八个发光二极管。
要求编写程序模拟一时序控制装置。
开机后第一秒种D1、D3亮,第二秒D2、D4亮,第三秒种D5、D7亮,第四秒种D6、D8亮,第五秒D1、D3、D5、D7亮,第六秒D2、D4、D6、D8亮,第七秒全亮,第八秒种全灭,以后又从头开始,D1、D3亮,然后D2、D4亮,……一直循环下去。
2. 实验目的学习AT89C51内部定时器的使用和编程方法。
进一步掌握中断处理程序的编程方法。
3.实验原理(1) 定时常数的确定定时器/计数器的输入脉冲周期与机器周期一样,为振荡器频率的1/12。
本实验中时钟频率为6.144MHZ,现要采用中断方法来实现1秒延时,要在定时器1中设置一个时间常数,使其每隔100ms产生一次中断,CPU响应中断后将R0中计数值减一,令(RO)=10,即可实现1s延时。
时间常数可按下法确定:机器周期= 12÷晶振频率= 12÷6.144×106 = 1.953125*10-6 s需设初值为X,则(216 - X)*1.953125*10-6 = 0.1216-X=100000 X = 655366 – 100000/1.953125 = 14336化为十六进制:X=3800H,故初始值为TH1=38H,TL1=00H(2) 初始化程序包括定时器初始化和中断系统初始化,主要是对IP、IE、TCON、TMOD的相应为进行正确的设置,并将时间常数送入定时器中。
Proteus硬件仿真(单片机控制流水灯)实 验 报 告
湖州师院Proteus硬件仿真(单片机控制流水灯)实验报告姓名汪健雷班级092833学号07083438一、实验目的1、了解proteus软件,掌握Proteus在单片机仿真中的应用,为开发、调试单片机应用系统做准备。
2、熟练掌握isis环境电路图的建立(流水灯电路图)二、实验仪器1、PC机2、proteus仿真软件三、实验内容1、选择元器件,画出电路图,学会硬件的设计2、在仿真软件上实现相应的功能四、实验步骤1、软件打开2、双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus 7 Professional”→“ISIS 7 Professional”,出现如图所示界面,随后就进入了Proteus ISIS集成环境。
2、Proteus ISIS的工作界面是一种标准的Windows界面,如图1-2所示。
包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
3、添加元器件将所需元器件加入到对象选择器窗口。
Picking Components into the Schematic单击对象选择器按钮,根据元件预览区域的显示,双击你所需要的元件,则所选元件出现在原理图编辑环境的元件列表区中,如图所示。
用同样的方法找出原理图中需要的所有元件。
4、放置元器件放置元器件至图形编辑窗口Placing Components onto the Schematic 在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放位置、单击鼠标左键,该对象被完成放置。
其他元器件放置方法相同。
单片机Proteus仿真
(3) 单击工具箱中 元件终端 图标,将元件终端放置在合 适位置,然后布线。
(4) 单击对象选择器中的 POWER 和GROUND,将元件 电源和地放置在合适位置,然后布线。
(5)左键双击各元件,设置相应元件的参数,完成电路 图的设计。
第二部分 Keil软件编程
操作步骤:1、双击桌面上的UV2快捷图 件。
单片机: AT89C51 电容: CAP 30µF 晶振: CRYSTAL 12MHZ 按钮: Button 发光二极管: LED-BIBY/BIGY 电阻: RES 排阻:Respack-8 电解电容: CAP-ELEC
例如:输入RES,点Resistors,挑选适合的电阻,将元件 放置到原理图编辑窗口的合适位置。
3、对于软件仿真,在目标’ 目标1’属性 页面 下点“Debug”(调试),再选“S 使用软件仿真 器”,同时选中“加载代码到仿真器”和“运行到 main0”,然后点击“确定”。
6、程序的编译和链接
依次点击屏幕上方左下角的编译和建造目标图标 对文件进行编译和链接,观察左下角的调试
程序信息显示,如有错可根据该栏提示的信息进行修 改,修改后要重新保存和编译,直到无错误提示。
(二)主工具栏
(三)预览窗口 1、在对象选择器单击某个元件或在工具箱中单击元件按钮、 终端按钮、子电路按钮、虚拟仪器按钮时,预览窗口会出现 对象的图形。 2、将鼠标落在此窗口内,可以改变原理图的可视范围。 (四)器件选择按钮
P: 对象选择 按钮,单击P按钮,会弹出器件选择窗口,在 Kerywords 栏中输入器件名,可在器件库中选择元件。
L:库管理 按键。
(五)工具箱 ISIS中提供了许多图标工具按钮,如图:
元件按钮
电压探针
单片机C语言程序设计方案实训例— Proteus仿真
《基于8051+Proteus仿真》案例第 01 篇基础程序设计01 闪烁的LED/* 名称:闪烁的LED说明:LED按设定的时间间隔闪烁*/#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit 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<reg51.h>#include<intrins.h>#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<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//延时void DelayMS(uint x>{uchar i。
单片机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的操作方法以及注意事项。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P r o t e u s仿真单片机实验目录引言 (3)实验1 PROTUES环境及LED闪烁综合实验 (10)实验2 多路开关状态指示 (13)实验3 报警产生器 (17)实验4 I/O并行口直接驱动LED显示 (20)实验5 按键识别方法之一 (23)实验6 一键多功能按键识别技术 (28)实验7 定时计数器T0作定时应用技术 (32)实验8定时计数器T0作定时应用技术 (36)实验9 “嘀、嘀、......”报警声 .. (41)实验10 8X8 LED点阵显示技术 (45)实验11电子琴 (49)引言单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。
以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。
在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。
利用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,AVR,ARM等多种系列的处理器。
Protues包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY, Keil, MPLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。
1.2 Proteus PCBProteus 的PCB设计除了有自动布线仿真功能外,还集成了PCB设计,支持多达16个布线层,可以任意角度放置元件和焊接连线;集成了高智能的布线算法,可以方便地进行PCB设计。
2. 一个基于Protesus的单片机实例2.1 软件的编写本例题采用8个LED,编写程序使之闪烁起来。
软件的编写是采用汇编语言,芯片的型号选择AT89C51, 编写LED.ASM文件,利用Proteus本身的51汇编功能进行编译,编译成功后生成LED.hex文件。
2.2 绘制电路图运行Proteus的ISIS,进入仿真软件的主界面,如图1所示。
主界面分为菜单栏,工具栏,模型显示窗口,模型选择区,元件列表区等。
图1 ISIS启动界面通过左侧的工具栏区的P(从库中选择元件)命令,在Pick devices窗口中选择系统所需元器件,还可以选择元件的类别,生产厂家等。
本例所需主要元器件有:AT89C51芯片,电阻、电容、石英晶振和发光二极管,详见表1。
表1 元器件清单选择元器件后连接图2所示电路。
图2 电路原理图Microproccessor ICs类的芯片的引脚与实际的芯片基本相同,唯一的差别是隐去了GND和VCC引脚,系统默认的是把它们分别连接到地和+5V直流电源。
故在电路连线时可以不考虑电源和地的连接。
电路连接完成后,选中AT89C51单击鼠标左键,打开“Edit Component”对话窗口如图3所示,可以直接在“Clock Frequency”后进行频率设定,设定单片机的时钟频率为12MHz。
在“Add/remove source file”栏中选择已经编好的LED.asm文件,然后单击“OK”按钮保存设计。
至此,就可以进行单片机的仿真。
图 3 单片机属性的设定2.3 Proteus仿真结果单片机的仿真结果图如图4,模拟信号经A/D转换后,结果送入单片机,再在数码管上显示;通过调节可调电阻的阻值,可以得到不同的显示结果。
仿真结果表明,系统达到了预先的设计要求。
在仿真的过程中每个管脚旁边会出现一个小方块,红色的方快表示高电平,蓝色的表示低电平。
通过方快颜色的变化可以很方便地知道每个管脚电平的变化,从而能对系统的运行有更直观的了解,这对程序的调试有很大的帮助。
图4 仿真结果3.总结本文结合一个LED闪烁的单片机电路详细说明了Proteus在单片机开发中的应用。
可以看出,Proteus功能十分强大,能仿真各种数字模拟电路,且操作简单,使用方便。
能快速地进行单片机仿真,加快系统开发的过程,降低开发成本。
实验1 PROTUES环境及LED闪烁综合实验1.实验任务做单一灯的左移右移,硬件电路如图所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。
2.电路原理图图13.程序设计内容我们可以运用输出端口指令MOV P1,A或MOV P1,#DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。
每次送出的数据是不同,具体的数据如下表1所示:P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 说明L8 L7 L6 L5 L4 L3 L2 L11 1 1 1 1 1 1 0 L1亮1 1 1 1 1 1 0 1 L2亮1 1 1 1 1 0 1 1 L3亮1 1 1 1 0 1 1 1 L4亮1 1 1 0 1 1 1 1 L5亮1 1 0 1 1 1 1 1 L6亮1 0 1 1 1 1 1 1 L7亮0 1 1 1 1 1 1 1 L8亮4.程序框图图25.汇编源程序ORG 0START: MOV R2,#8MOV A,#0FEHSETB CLOOP: MOV P1,ALCALL DELAYRLC ADJNZ R2,LOOPMOV R2,#8LOOP1: MOV P1,ALCALL DELAYRRC ADJNZ R2,LOOP1 LJMP START DELAY: MOV R5,#20 ; D1: MOV R6,#20D2: MOV R7,#248 DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND实验2 多路开关状态指示1.实验任务如图1所示,AT89S51单片机的P1.0-P1.3接四个发光二极管L1-L4,P1.4-P1.7接了四个开关K1-K4,编程将开关的状态反映到发光二极管上。
(开关闭合,对应的灯亮,开关断开,对应的灯灭)。
2.电路原理图图13.程序设计内容3.1 开关状态检测对于开关状态检测,相对单片机来说,是输入关系,我们可轮流检测每个开关状态,根据每个开关的状态让相应的发光二极管指示,可以采用JBP1.X,REL或JNB P1.X,REL指令来完成;也可以一次性检测四路开关状态,然后让其指示,可以采用MOV A,P1指令一次把P1端口的状态全部读入,然后取高4位的状态来指示。
3.2 输出控制根据开关的状态,由发光二极管L1-L4来指示,我们可以用SETBP1.X和CLR P1.X指令来完成,也可以采用MOV P1,#1111XXXXB方法一次指示。
4.程序框图读P1口数据到A CC中A CC内容右移4次A CC内容与F0H相或A CC内容送入P1口图2 5.解决方案方法一(汇编源程序)ORG 00HSTART: MOV A,P1ANL A,#0F0HRR ARR ARR ARR AORl A,#0F0HMOV P1,ASJMP STARTEND方法二(汇编源程序)ORG 00HSTART: J B P1.4,NEXT1CLR P1.0SJMP NEX1NEXT1: SETB P1.0NEX1: JB P1.5,NEXT2CLR P1.1SJMP NEX2NEXT2: S ETB P1.1NEX2: JB P1.6,NEXT3CLR P1.2SJMP NEX3 NEXT3: S ETB P1.2 NEX3: JB P1.7,NEXT4CLR P1.3SJMP NEX4 NEXT4: S ETB P1.3 NEX4: SJMP STARTEND实验3 报警产生器1.实验任务用P1.0输出1KHz和500Hz的音频信号驱动扬声器,作报警信号,要求1KHz信号响100ms,500Hz信号响200ms,交替进行,P1.7接一开关进行控制,当开关合上响报警信号,当开关断开告警信号停止,编出程序。
2.电路原理图图13.程序设计内容3.1 信号产生的方法500Hz信号周期为2ms,信号电平为每1ms变反1次,1KHz的信号周期为1ms,信号电平每500us变反1次;4.程序框图图2 5.汇编源程序FLAG BIT 00HORG 00HSTART: JB P1.7,STARTJNB FLAG,NEXTMOV R2,#200DV: CPL P1.0LCALL DELY500LCALL DELY500DJNZ R2,DVCPL FLAGNEXT: MOV R2,#200DV1: C PL P1.0LCALL DELY500DJNZ R2,DV1CPL FLAGSJMP START DELY500: MOV R7,#250 LOOP: NOPDJNZ R7,LOOPRETEND实验4 I/O并行口直接驱动LED显示1. 实验任务如图1所示,利用AT89S51单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地。
在数码管上循环显示0-9数字,时间间隔0.2秒。
2. 电路原理图图13 程序设计内容(1) LED数码显示原理七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。
LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阴极的字形码见表2“0”3FH “8”7FH“1”06H “9”6FH“2”5BH “A”77H“3”4FH “b”7CH“4”66H “C”39H“5”6DH “d”5EH“6”7DH “E”79H“7”07H “F”71H(2)由于显示的数字0-9的字形码没有规律可循,只能采用查表的方式来完成我们所需的要求了。