跑马灯控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

太原理工大学

单片机原理与应用技术课程实验报告

专业班级

学号

姓名

指导教师

跑马灯控制

一、实验目的

(1)进一步熟悉Keil和Proteus软件的操作,掌握快速复制元器件的操作方法;

(2)掌握利用多路LED实现跑马灯控制的原理;

(3)掌握循环移位、查表的编程方法。

二、实验硬件和软件

计算机1台,并安装Proteus软件和Kei C51软件。

三、实验任务

实现跑马灯控制效果,八个发光二极管L1-L8分别依次点亮,时间间隔

0.2S,点亮顺序为:L1→L2→…→L8→L7→L6→…→L1亮,重复循环。

四、实验电路及分析

实验电路如图所示,分析可知当P1.0-P1.7端口输出“0”时,发光管点亮;当P1.0-P1.7端口输出“1”时,发光管熄灭。

跑马灯仿真电路图

五、实验程序编写

1.跑马灯控制分析

根据跑马灯的控制要求,P1.7-P1.0输出状态如下表所示,P1口输出值从0XFE开始,循环左移7次后变为0X7F,然后循环右移7次变为0XFE,移位操作之间延时0.2S,循环左移的终止状态是循环右移的初始状态,注意该状态持续时间仍为0.2S,不是0.4S ,以上过程重复循环。

P1口输出状态表

2.C语言程序

#include

#include

void Delayms(unsigned int n)

{ unsigned int i, j;

for(j=n; j>0;j--)

for(i=112; i>0; i--);

}

int main( )

{ unsigned char n;

unsigned char temp;

while(1)

{ temp=0xfe;

P1=temp;

for(n=7;n>0;n--)

{ temp=_crol_(temp,1);

Delayms(200);

P1=temp;

}

for(n=7;n>0;n--)

{ temp=_cror_(temp,1);

Delayms(200);

P1=temp;

}

}

}

3.程序流程图

六、实验步骤

1.利用Proteus软件绘制仿真电路图

(1)打开Proteus软件,File→New Project进入工程创建向导,选择项目文件存放路径,项目文件名为“实验2.pdsprj”。

(2)创建原理图(schematic),默认模板为default,可根据电路规模选择

合适的图纸大小。

(3)选择“Do not create a PCB layout”,即不绘制PCB图。

(4)选择第一项“No Firmware Project”,即不在Proteus平台下创建源程序。需要在Keil C环境下编写源程序并成功编译生成hex文件,然后加载到Proteus仿真电路的单片机上。

(5)工程创建向导结束,配置情况确认。

(6)点击“P”按钮在器件库中搜索并添加电路中所需要的器件。

(7)根据电路图将器件放置到绘图区并合理布局,右键单击器件弹出快捷菜单,可以进行旋转、镜像、修改参数(如电容、电阻大小、晶振频率)等操作,双击器件也可以打开参数设置对话框。

(8)用导线将各个器件连接起来,最终的仿真电路。

2.利用Keil软件编写单片机程序

(1)打开Keil软件,点击菜单project→New μVision project,创建项目文件Lab2-C.uvproj,保存位置建议与Proteus工程文件相同。

(2)选择单片机为Atmel公司的AT89C51,当然也可以选择其他51单片机(如

AT89S51),窗口右边给出了单片机的内部资源。

(3)对话框提示是否加入启动代码,选择“否”。

(4)在工程浏览窗口,右键单击“Target1”,单击“Options for Target…”;进入选项设置对话框,单击“output”选项卡,勾选“Create HEX file”后确定。

(5)右键单击“Source Group1”,为工程添加新的程序源文件(Add New Item),当然也可以添加已存在的源程序文件(Add Existing Files…)(6)选择文件类型为“C File(.c)”,文件名为Lab1.c。

(7)输入C语言程序代码,并编译成功得到hex文件,该文件所在位置为:E:\李泽\单片机\实验1\Objects\Lab2-C.hex,文件名与项目名相同。

(8)单击调试按钮(或按快捷键Ctrl+F5)进入调试状态,通过菜单“Peripherals”调出P1端口,然后全速(F5)或者单步(F10)仿真运行,观察变化。仿真调试结束后再次点击调试按钮退出。

3.在Proteus平台上为单片机加载程序并仿真运行

(1)切换到Proteus软件,双击单片机进入属性对话框,将Program File 设置为Keil软件生成的hex文件,文件位置为E:\李泽\单片机\实验1\Objects\Lab2-C.hex,然后点“OK”确定。

(2)点击左下角的启动仿真按钮(或按快捷键F12)进入仿真运行状态,如果电路和程序正确,八个发光二极管L1-L8分别依次点亮,时间间隔0.2S,点亮顺序为:L1→L2→…→L8→L7→L6→…→L1亮,重复循环,最后点击停止按钮结束仿真运行。

相关文档
最新文档