流水灯在Proteus下的仿真实现.docx

流水灯在Proteus下的仿真实现.docx

ID:52325392

大小:179.96 KB

页数:20页

时间:2020-03-26

流水灯在Proteus下的仿真实现.docx_第1页
流水灯在Proteus下的仿真实现.docx_第2页
流水灯在Proteus下的仿真实现.docx_第3页
流水灯在Proteus下的仿真实现.docx_第4页
流水灯在Proteus下的仿真实现.docx_第5页
资源描述:

《流水灯在Proteus下的仿真实现.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、重庆邮电大学微处理器与嵌入式系统设计课程实验报告实验名称:流水灯在Proteus下的仿真实现学期:2014-2015学年第2学期班级:学号:学生姓名:任课教师:实验教室:二〇一五年〇四月十四日【实验名称】流水灯在proteus下的仿真实现实验要求:1、基本要求:4个流水灯循环闪烁,1、3、2、4流水灯交替闪烁;2、扩展要求:8个流水灯依次闪烁,1、3、5、7、2、4、6、8流水灯交替闪烁,流水灯逐渐亮1、1-2、1-3、1-4、1-5、1-6、1-7、1-8。实验目的:1、熟悉proteus软件,了解proteus软件的结构组成和功能,掌握Proteus软件在单片机仿真中的

2、应用,为开发、调试单片机应用系统做准备;2、熟练掌握isis环境中电路图的绘制;3、熟悉keilc51软件的程序设计方法;4、掌握keilc51软件与proteus软件联合仿真调试的方法。实验方法:1、通过proteus软件绘制出由单片机和LED构成的仿真电路;2、通过keil软件编写控制单片机并点亮LED的程序;3、将keil生成的hex文件导入proteus中的单片机中,实现仿真。4、观察仿真现象。实验步骤:1、打开软件:双击ISIS7Professional图标,随后就进入了ProteusISIS集成环境。2、添加元器件:单击pickfromlibraries,通过搜

3、索栏搜索所需元件(如:AT89C52、LED),根据元件预览区域的显示,双击所需元件,元件则出现在原理图编辑环境的元件列表区。用同样方法找出原理图所需全部元件。3、放置元器件:在元件列表区单击所需放置的元件,将鼠标置于图形编辑窗口该对象的欲放位置,单击鼠标左键,该对象完成放置。同样方法放置原理图所需全部元件。4、放置电源和地:选择terminalmode选择电源和地,以放置元器件相同的放法放置电源和地。5、连接电路。6、编程:通过keil软件编写控制单片机并点亮LED的程序。7、导入:将keil生成的hex文件导入proteus中的单片机中,实现仿真。8、根据仿真现象优化代

4、码。实验效果:1、4个流水灯循环闪烁,1、3、2、4流水灯交替闪烁;2、8个流水灯依次闪烁,1、3、5、7、2、4、6、8流水灯交替闪烁,流水灯逐渐亮1、1-2、1-3、1-4、1-5、1-6、1-7、1-8;实验代码:#include#include#defineucharunsignedchar#defineuintunsignedintucharxx,i;ucharcodetable[]={0xfe,0xfd,0xfb,0xf7};voiddelayms(uint);//延时voiddelayms(uintz){uintx,y;

5、for(x=z;x>0;x--)for(y=110;y>0;y--);}voidmain(){while(1){//数组实现1、2、3、4个流水灯循环闪烁for(i=0;i<4;i++){P0=table[i];delayms(500);}//总线控制1、3、2、4流水灯交替闪烁P0=0xfe;delayms(500);P0=0xfb;delayms(500);P0=0xfd;delayms(500);P0=0xf7;delayms(500);//8个流水灯依次闪烁xx=0xfe;for(i=8;i>0;i--){P0=xx;delayms(500);xx=_crol_(x

6、x,1);}//1、3、5、7流水灯交替闪烁xx=0xfe;for(i=4;i>0;i--){P0=xx;delayms(500);xx=_crol_(xx,2);}//2、4、6、8流水灯交替闪烁xx=0xfd;for(i=4;i>0;i--){P0=xx;delayms(500);xx=_crol_(xx,2);}//流水灯逐渐亮1、1-2、1-3、1-4、1-5、1-6、1-7、1-8xx=0xfe;for(i=8;i>0;i--){P0=xx;delayms(500);xx=xx<<1;}}}心得体会:在实现实验要求时原打算使用循环移位函数,在真正实现时发现控制4个

7、流水灯循环闪烁不同于控制8个流水灯,需要限制循环移动的位数,故使用了for循环进行限制。在实现流水灯的过程中,进行思考,发现可以采用很多方法,如:位控制、总线控制还可以设置数组,每次在数组中去总线端口的数据闪烁LED。在进行循环移位时要注意》移位每次补0。流水灯实验并不困难,但在实现过程中的思考是从未有过的。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。