左右来回循环的流水灯实验报告记录.docx

上传人:b****2 文档编号:2054330 上传时间:2022-10-26 格式:DOCX 页数:11 大小:223.05KB
下载 相关 举报
左右来回循环的流水灯实验报告记录.docx_第1页
第1页 / 共11页
左右来回循环的流水灯实验报告记录.docx_第2页
第2页 / 共11页
左右来回循环的流水灯实验报告记录.docx_第3页
第3页 / 共11页
左右来回循环的流水灯实验报告记录.docx_第4页
第4页 / 共11页
左右来回循环的流水灯实验报告记录.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

左右来回循环的流水灯实验报告记录.docx

《左右来回循环的流水灯实验报告记录.docx》由会员分享,可在线阅读,更多相关《左右来回循环的流水灯实验报告记录.docx(11页珍藏版)》请在冰豆网上搜索。

左右来回循环的流水灯实验报告记录.docx

左右来回循环的流水灯实验报告记录

左右来回循环的流水灯实验报告记录

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

青岛科技大学

微机原理与接口技术综合课程设计(报告)

 

直流电机控制综合实验

题目__________________________________

 

周艳平

指导教师__________________________

学生姓名__________________________

学生学号__________________________

 

_______________________________院(部)____________________________专业________________班

______年___月___日

 

摘要

近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。

而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。

能够通过按键控制8个LED小灯从左到右依次点亮。

关键字:

单片机、LED流水灯

1、单片机概述

单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。

单片机微

型计算机简称单片机,特别适用于控制领域,故又称为微控制器。

通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:

中央处

理器、存储器和I/O接口电路等。

因此,单片机只需要和适当的软件及外部设备相结合,

便可成为一个单片机控制系统。

单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它

们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。

2、仿真软件介绍

(1).Keiluv3

运行Keiluv3

新建工程:

菜单“Preject->NewPreject”,保存为*.uv2,选择芯片型号,copy否

新建文件:

菜单“File->New”,保存为*.c,编写程序

将源文件添加到工程:

在左侧projectworkspace的sourcegroup1点右键选择addfile加入*.c

设置工程:

点菜单栏上的,选Target,设晶振值;选Output,点createHexfile以生成少些文件;选Debug,选择软件仿真(simulator)或硬件仿真(KeilMonitor)方式。

编译链接:

点菜单栏上的进行编译,或点菜单栏上的进行编译链接,或点菜单栏上的进行重新编译链接,或点菜单栏上的停止编译。

编译链接后生成*.hex文件,可烧写到单片机。

(2).Proteus

使用Proteus仿真

点击单片机,在ProgramFiles处选择*.hex文件,OK,进行仿真

RESPACK--8

排阻,就是好多电阻连载一起,有一个公共端,1端为公共端接VCC(上拉)或地(下拉)

一般接在51单片机P0口,因P0口内没有上拉电阻,不能输出高电平,所以要接上拉电阻。

3、需求分析

随着现代社会的发展,人们越来越追求审美和新颖,而流水灯就是其中一种,以前简单的照明工具变得越来越多样化,流水灯的千姿百态恰能给人一种视觉冲击,现在不管大街小巷我们都可以随处可见这种变幻万千的流水灯,而这种流水灯我们可以产用电子电路去设计,我们主要可以用装套控制器和状态译码器来实现灯光的流水效果,但是现在我们可以用单片机AT89C51来实现,因为其相对于电子电路有明显的优越性,控制硬件电路比较简单,软件方面程序也不复杂,因此制作的远离简单,但功能作用并不低于电子电路设计的,由于它的小巧方便、通俗易懂,所以我们往往采用单片机来做流水灯。

一、课程设计目的

微机原理和接口技术是一门实践性强的学科,相关知识仅靠学习教科书不能很好的掌握,必须通过实践才能比较直观和深刻的理解。

在综合课程设计过程中,学生结合所学知识,选择一个综合性的设计题目,根据设计要求确定实验方案,选择合适的器件,进行电路设计,实现电路连接,编写调试程序,完成设计任务。

通过课程设计课程,可检验学生在微机原理与接口综合应用方面分析问题与解决问题的能力,从而帮助学生系统地掌握微机原理的接口技术的相关知识,达到将知识融会贯通的目的。

同时给学生提供更多、更好的训练机会,培养学生的创新能力。

二、课程设计要求

综合利用微机原理与接口课程所学的各种知识,设计一套具有一定功能、实用价值的应用系统,

(1)必须用和微机系统相关的知识设计题目;

(2)确定设计任务后,明确题目要求,查找资料提出设计方案;

(3)独立设计、编程、调试和验证所设计系统;

(4)系统必须能够演示、运行或得到仿真结果;

(5)完成设计任务后撰写课程设计报告;

三、实验内容

1、设计任务与要求

设计任务:

在AT89S52-Ⅰ开发板上实现8个发光LED“流水”的现象即8只LED左右来回点亮,并通过编写程序控制流水现象。

要求:

点亮第一个流水灯,然后熄灭,接着点亮第二个流水灯,熄灭;点亮第三个,到最后点亮第八个灯,熄灭;点亮第七个灯,依次到第一个灯,然后循环实现流水。

程序利用循环移位函数_crol_和_cror_形成来回滚动的效果。

8只LED左右来回点亮:

接在P0口的8个LED从左到右循环依次点亮,然后右到左循环依次点亮,产生左右循环走马灯效果

2、系统分析

MCS-51系列单片机有四组8位并行I/O口记作P0、P1、P2和P3。

每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。

四组并行I/O端口即可以按字节操作又可以按位操作。

当系统没有扩展外部器件时I/O端口用作双向输入输出口当系统作外部扩展时使用P0、P2口作系统地址和数据总线、P3口有第二功能与MCS-51的内部功能器件配合使用。

以P1口为例:

P1口的位结构作输出时输出0时将0输出到内部总线上在写锁存器信号控制下写入锁存器锁存器的反向输出端输出1下面的场效应管导通输出引脚成低电平。

输出1时下面的场效应管截止上面的上拉电阻使输出为1。

作输入时P1端口引脚信号通过一个输入三态缓冲器接入内部总线再读引脚信号控制下引脚电平出现在内部总线上。

I/O口的注意事项如果单片机内部有程序存贮器不需要扩展外部存贮器和I/O接口单片机的四个口均可作I/O口使用四个口在作输入口使用时均应先对其写“1”以避免误读P0口作I/O口用时应外接10K的上拉电阻其它口则可不必P2可某几根线作地址使用时剩下的线不能作I/O口线使用P3口的某些口线作第二功能时剩下的口线可以单独作I/O口线使用。

1).硬件电路设计(画出原理图、接线图)

绘制流水灯原理图假设元器件参数为c1=c2=20pf、c3=10ufR1=R2=R3=R4=R5=R6=R7=R8=470欧姆、R9=10k欧姆晶振=12M;VCC=5V。

总电路图如图1所示

图1流水灯原理图

绘制流水灯接线图:

图2绘制流水灯接线图

2).选用AT89C51的引脚功能

XTAL1:

单芯片系统时钟的反向放大器输入端。

XTAL2:

系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英震荡晶体系统就可以工作了,此外可以在两引脚与地之间加入20PF的小电容,可以使系统更稳定,避免噪音干扰而死机。

RESET:

重置引脚,高电平动作,当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各项动作,使得内部特殊功能寄存器内容均被设成已知状态。

P0:

端口0是一个8位宽的开路汲汲双向输出入端口,共有8个位,P0.0表示0,P0.1表示1,以此类推。

P2:

端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。

4.说明

如图所示,S1为复位开关,S2、S3、S4分别为切换不同流水效果的开关,P2口控制LED灯D1~D7的显示,P0口作为LED的输出控制。

当按下S2后能实现D1和D7同时亮其他不亮,然后D2和D6亮,依此类推。

当按下复位S1,然后按下S2实现LED灯从D7到D1循环亮,按下S1然后按下S3实现LED从D1到D7的循环亮。

3)软件框图

下面是8只LED左右来回点亮的流程图

 

 

 

 

 

 

 

8只LED左右来回点亮的程序流程图

3、用keil建项目流程

1)、运行keil2软件,启动后,点击Project菜单新建项目,新建项目后,选择为AT89C51的仿真单片机的型号,单击File选择New新建程序文件,保存后,右击SourceGroup1添加入程序文件。

2)、编写程序,右击Target1打开设置输出HEX窗口,如图3所示:

图3打开设置输出HEX窗口

3)、设置输出HEX文件,勾选上Output下的CreateHEXFi:

单击确定保存,运行程序得到HEX文件,如图4所示:

图4设置输出HEX文件

4、程序清单

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

//延时

voidDelayMS(uintx)

{

uchari;

while(x--)

{

for(i=0;i<120;i++);

}

}

//主程序

voidmain()

{

uchari;

P2=0x01;

while

(1)

{

for(i=0;i<7;i++)

{

P2=_crol_(P2,1);//P2的值向左循环移动

DelayMS(150);

}

for(i=0;i<7;i++)

{

P2=_cror_(P2,1);//P2的值向右循环移动

DelayMS(150);

}

}

}

代码解释:

(1)#include

预处理命令,包含头文件,

通用格式#include

类似的头文件reg52.h/AT89X51.h/AT89X52.h,基本一样,只在使用时对位的定义不一样

at89x51.h文件中对P1.1的操作是写成P1_1;

reg51.h文件中的操作则写成P1^1。

at89x5*特指ATMEL公司的系列单片机

reg5*指所有52系列的单片机。

reg52是对reg51的扩充,增加了T2和DPTR1,可认为reg51是reg52的子集。

sfrP0=0x80;//定义P0的I/O端口,其地址为80H。

在keil中,sfr与sfr16用于定义8051的特殊功能寄存器,其中sfr用来定义8为特殊功能寄存器,sfr16用来定义16位特殊功能寄存器

(2)#include

C51单片机头文件

包含以

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1