- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Keil C51与Proteus仿真联合的单片机应用研究.doc
基于Keil C51与Proteus仿真联合的单片机应用研究
摘 要:传统单片机技术教学中,采用的理论教学与实验让学生感到难以入门,针对教学中存在的这个问题,采用Keil C51和Proteus进行仿真教学,这种教学方法给学生创造一个直观的形象,更有利于学生对单片机技术的掌握,从而提高了教学质量。
关键词:软件调试;单片机;KEILC51;PROTEUS;硬件仿真
中图分类号:TP399 文献标识码:A
1 引言(Introduction)
单片机技术在各行各业中得到广泛的应用,同时单片机技术应用课程是一门实践性很强的软硬件结合的技术,需要通过大量的实践才能理解和掌握程序设计方法与硬件结构设计。同时在目前的教学中,单片机开发Keil C51与Proteus软件的联合仿真在实际的单片机系统开发中被普遍应用。为此,在单片机课程教学过程中,教师一定要结合工程实际做到软件和硬件相结合,实现理论教学与工程实践紧密结合,在传授理论知识的同时,教会学生如何使用实际工程所应用的相关软件进行单片机系统开发。
2 PROTEUS与KEIL C51介绍(Introduction of
PROTEUS与KEIL C51)
2.1 程序编译软件Keil C51
Keil C51软件是德国Keil Software公司开发的51系列单片机开发软件。Keil μVison系列是该公司推出的51系列兼容单片机软件开发系统。μVison是集成的可视化Windows操作界面,其提供了丰富的库函数和各种编译工具,能够对51系列单片机以及和51系列兼容的绝大部分类型的单片机进行设计[1]。Keil μVison系列可以支持单片机C51程序设计语言,也可以直接进行汇编语言的设计与编译。
2.2 仿真软件Proteus
为了验证设计程序的正确性,单片机程序设计与开发往往采用软件仿真与硬件仿真相结合的形式。软件仿真只能验证程序的正确性,不能仿真具体的硬件环境。硬件仿真常用的软件是英国Labcenter Electronics公司研发的电路设计与仿真平台Proteus。Proteus具有原理图编辑、印刷电路板(PCB)设计及电路仿真功能,该软件由ISIS和ARES两部分构成,其中ISIS是一款便捷的电子系统原理设计和仿真平台软件,ARES是一款高级的PCB布线编辑软件。
3 硬件电路设计(Hardware circuit design)
3.1 运用Proteus进行的硬件电路设计原理
LED发光管控制就是通常所说的流水灯控制,这是单片机控制技术入门的基本控制项目。通过花样繁多的流水灯控制任务,可以学习和应用基本的单片机和C语言程序设计的知识与技术,积累丰富的单片机项目开发与程序设计的经验与技巧,为进一步提高单片机技术水平打下坚实的基础[2]。本项目采用的流水灯实际上是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管D1―D8、晶振Xl、电源VCC、单片机AT89C51和程序等组成的系统。如果让接在P1.0口的D1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的D1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1―P1.7口的其他七只发光二极管点亮和熄灭的方法同D1。因此,要实现流水灯功能,只要将发光二极管D1―D8依次点亮、熄灭,八只发光二极管便会一亮一暗的做流水灯了[3]。在此还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,在控制二极管亮灭的时候应该延时一段时间,否则就看不到“流水”效果了。
3.2 KEIL C语言序的编程
单片机的应用系统由硬件和程序组成,上述硬件原理图搭建完成上电之后,还不能看到流水灯循环点亮的现象,要实现流水灯循环点亮,还要告诉单片机该怎么进行工作,即编写程序控制单片机管脚电平的高低变化,以实现发光二极管的一亮一灭。下面以八个发光二极管循环点亮来介绍两种。采用数组控制与运算符控制两种编程[4]方法实现。
(1)数组控制P0口流水灯
#include
void delay(unsigned char x)
{
unsigned char m,n;
for(m=0;mx;m++)
for(n=0;n250;n++);
}
void main(void)
{
unsigned char i;
unsigned char a[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
while(1) //无限循环
{
for(i=0;i8;i++)
文档评论(0)