基于Proteus和Keil的单片机课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5期(总第70期)
2008年10月济南职业学院学报
Journal of Jinan Vocational College Oct .2008
No .5(Serial No .70)
··
112单片机应用技术是电类专业的一门重要课程,也是理论和实践结合性很强的一门课程,所以课程设计环节尤为重要。课程设计环节的任务和目的是让每个学生亲自参与到其中的设计细节,提高单片机开发的能力。考虑到目前实验器材少,设计过程中容易造成器件和仪器仪表的损坏,以及离开实验室学生得不到充分的锻炼,从而借助于Proteus和Keil进行课程设计。实践证明,这样可以很好地解决上述问题,节省设计成本,提高设计速度。
1 Proteus和Keil简介1.1 Proteus简介
Proteus是一个完整的嵌入式系统软、硬件设计仿真平台,它包括原理图输入系统ISIS、带扩展的Prospice混合模型仿真器、动态器件库、高级图形分析模块和处理器虚拟系统仿真模型VSM。ISIS是Proteus系统的中心,具有超强的控制原理图设计环境。Proteus VSM最重要的特点是,它能把微处理器软件作用在处理器上,并和该处理器的任何模拟和数字器件协同仿真。仿真执行目标码就像在真正的单片机系统上运行,VSM CPU 模型能完整仿真I/O口、中断、定时器、通用外设口和其他与CPU有关的外设,甚至能仿
真多个处理器。
1.2 Keil简介
Keil是一个功能强大的开发平台,它包括项目管理器、CX51编译器、AX51宏汇编器、BL51/Lx51连接定位器、RTX51实时操作系统、Simulator软件模拟器以及Monitor51硬件目标调试器。它是一种集成化的文件管理编译环境,主要的功能特点为:编译C源程序、汇编源程序或混合语言源程序,链接和定位目标文件和库,创建HEX文件、调试目标程序等,是目前最好的51单片机开发工具之一。Keil支持软件模拟仿真(Simulator )和用户目标板调试(Monitor51)两种工作模式,前者不需要任何单片机硬件即可完成用户程序仿真调试,后者利用硬件目标板中的监控程序可以直接调试目标硬件系统。
2 应用举例
下面结合课程设计中四项八拍步进电机正反转电路的单片机实现,具体说明如何基于Proteus和Keil进行单片机仿真。电路的功能是,通过点击正反转按钮,让步进电机自如进行正反转的切换。
2.1 硬件的实现
打开Proteus ISIS编辑环境,通过对象选择按
基于Proteus和Keil的单片机课程设计
宫亚梅
(常州信息职业技术学院 机电工程系,江苏 常州 213164)
摘 要:本文介绍了Proteus和Keil的功能特点,结合步进电机正反转实例,详细给出了两种软件在单片机课
程设计中的具体应用。
关键词:Proteus;Keil;单片机;设计
中图分类号:TP391 文献标识码:A 文章编号:1673-4270(2008)05-0112-02
收稿日期:2008-09-08
作者简介:宫亚梅(1979—),女,江苏姜堰人,常州信息职业技术学院机电工程系助教。
钮P,选择表1所列元器件,绘制硬件电路图如图1所示(注:晶振和RST可以不接),并进行硬件电路调试。
表1 元器件清单
元件名称所属类所属子类
AT89C51Microprocessor ICs8051 Family
CAP Capacitors Generic CAP-POL Capacitors Generic
CRYSTAL Miscellaneous——
RES Resistors Generic
BUTTON Switches & Relays Switches MOTOR-STEPPER Electromechanical——ULN2003A Analog ICs Miscellaneous
图1 电路原理图
2.2 软件的实现
打开Keil,创建新项目,选择表1中AT89C51作为CPU,为该项目添加如下程序,新建源文件.asm,将该文件添加到当前组当中去,设置目标属性输出为生成“.hex”文件,完成软件的语法调试。
ORG 00H
START: MOV DPTR,#TAB1
MOV R0,#03H
MOV R4,#0
MOV P1,#3
WAIT: MOV P1,R0
MOV P0,#0FFH
JNB P0.0,POS
JNB P0.1,NEG
SJMP WAIT
POS: MOV A,R4
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
INC R4
AJMP KEY
NEG: MOV R4,#6
MOV A,R4
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
KEY: MOV P0,#03H
MOV A,P1
JB P0.0,FZ1
CJNE R4,#8,LOOPZ
MOV R4,#0
LOOPZ: MOV A,R4
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
INC R4
AJMP KEY
FZ1: JB P0.1,KEY
CJNE R4,#0,LOOPF
MOV R4,#8
LOOPF: DEC R4
MOV A,R4
MOVC A,@A+DPTR
MOV P1,A
ACALL DELAY
AJMP KEY
DELAY: MOV R6,#5
DD1: MOV R5,#08H
DD2: MOV R7,#0H
DD3: DJNZ R7,DD3
DJNZ R5,DD2
DJNZ R6,DD1
RET
TAB1: DB 02H,06H,04H,0CH
DB 08H,09H,01H,03H
END
2.3 调试与仿真
进入Proteus的ISIS,点击芯片打开编辑对话框,在Program File后的文本框中 (下转第120页
)
··113