实验2:单片机仿真软件protues的使用
精品文档
--------------------------精品文档,可以编辑修改,等待你的下载,管理,教育文档----------------------
------------------------------------------------------------------------------------------------------------------------------------------------------
实验二:?单片机仿真软件protues的使用
?I/O口简单流水灯实验
一、 实验目的
1. 通过学习专业仿真软件protues,使学生理解和掌握protues窗口菜单和工具条的使用、元
件的查找和调用、电源符号的调用、电路连线技巧、元件参数修改、单片机程序的加载以
及系统的仿真运行等。
2. 初步掌握MCS-51单片机的电路
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
原理和方法,加深对单片机应用系统中软件、硬件相
结合的认识和理解。
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 P1,A
MOV P1,R0
ACALL Delay1s
INC A ;减法用DEC A
JNC LOOP1
INC R0 ;减法用DEC R0
CLR C
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
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.
„
--------------------------精品文档,可以编辑修改,等待你的下载,管理,教育文档----------------------
------------------------------------------------------------------------------------------------------------------------------------------------------