ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:223.02KB ,
资源ID:4900057      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4900057.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(左右来回循环的流水灯实验报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、左右来回循环的流水灯实验报告青 岛 科 技 大 学微机原理与接口技术综合课程设计(报告)直流电机控制综合实验题 目 _周艳平指导教师_学生姓名_学生学号_院(部)_专业_班_年 _月 _日摘要近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方

2、案。本课程设计介绍一种LED小灯控制系统的设计方法,以单片机作为主控核心,与按键、排阻、电阻、电容等较少的辅助硬件电路相结合,利用软件实现对LED灯进行控制。能够通过按键控制8个LED小灯从左到右依次点亮。关键字:单片机、LED流水灯1、单片机概述单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3、3 代的发展,

3、目前单片机正朝着高性能和多品种方向发展,它们的CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。2、仿真软件介绍(1).Keil uv3运行Keil uv3新建工程:菜单“Preject-New Preject”,保存为*.uv2,选择芯片型号,copy否新建文件:菜单“File-New”,保存为*.c,编写程序将源文件添加到工程:在左侧project workspace的source group1点右键选择addfile加入*.c设置工程:点菜单栏上的,选Target,设晶振值;选Output,点create Hex file以生成少些文件;选Debug,选择软件仿真(s

4、imulator)或硬件仿真(Keil Monitor)方式。编译链接:点菜单栏上的进行编译,或点菜单栏上的进行编译链接,或点菜单栏上的进行重新编译链接,或点菜单栏上的停止编译。编译链接后生成*.hex文件,可烧写到单片机。(2).Proteus使用Proteus仿真点击单片机,在Program Files处选择*.hex文件,OK,进行仿真RESPACK-8排阻,就是好多电阻连载一起,有一个公共端,1端为公共端接VCC(上拉)或地(下拉)一般接在51单片机P0口,因P0口内没有上拉电阻,不能输出高电平,所以要接上拉电阻。3、需求分析随着现代社会的发展,人们越来越追求审美和新颖,而流水灯就是其

5、中一种,以前简单的照明工具变得越来越多样化,流水灯的千姿百态恰能给人一种视觉冲击,现在不管大街小巷我们都可以随处可见这种变幻万千的流水灯,而这种流水灯我们可以产用电子电路去设计,我们主要可以用装套控制器和状态译码器来实现灯光的流水效果,但是现在我们可以用单片机AT89C51来实现,因为其相对于电子电路有明显的优越性,控制硬件电路比较简单,软件方面程序也不复杂,因此制作的远离简单,但功能作用并不低于电子电路设计的,由于它的小巧方便、通俗易懂,所以我们往往采用单片机来做流水灯。一、课程设计目的微机原理和接口技术是一门实践性强的学科,相关知识仅靠学习教科书不能很好的掌握,必须通过实践才能比较直观和深

6、刻的理解。在综合课程设计过程中,学生结合所学知识,选择一个综合性的设计题目,根据设计要求确定实验方案,选择合适的器件,进行电路设计,实现电路连接,编写调试程序,完成设计任务。通过课程设计课程,可检验学生在微机原理与接口综合应用方面分析问题与解决问题的能力,从而帮助学生系统地掌握微机原理的接口技术的相关知识,达到将知识融会贯通的目的。同时给学生提供更多、更好的训练机会,培养学生的创新能力。 二、课程设计要求综合利用微机原理与接口课程所学的各种知识,设计一套具有一定功能、实用价值的应用系统,(1)必须用和微机系统相关的知识设计题目;(2)确定设计任务后,明确题目要求,查找资料提出设计方案;(3)独

7、立设计、编程、调试和验证所设计系统;(4)系统必须能够演示、运行或得到仿真结果;(5)完成设计任务后撰写课程设计报告;三、实验内容 1、设计任务与要求 设计任务:在AT89S52-开发板上实现8个发光LED“流水”的现象即8只LED左右来回点亮,并通过编写程序控制流水现象。 要求:点亮第一个流水灯,然后熄灭,接着点亮第二个流水灯,熄灭;点亮第三个,到最后点亮第八个灯,熄灭;点亮第七个灯,依次到第一个灯,然后循环实现流水。程序利用循环移位函数_crol_和_cror_形成来回滚动的效果。8只LED左右来回点亮:接在P0口的8个LED从左到右循环依次点亮,然后右到左循环依次点亮,产生左右循环走马灯

8、效果 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时下面的场效应管截止上面的上拉电阻使输出为

9、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=47

10、0欧姆、R9=10k欧姆晶振=12M;VCC=5V。总电路图如图 1所示图1 流水灯原理图绘制流水灯接线图:图2绘制流水灯接线图 2).选用AT89C51的引脚功能XTAL1:单芯片系统时钟的反向放大器输入端。XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英震荡晶体系统就可以工作了,此外可以在两引脚与地之间加入20PF的小电容,可以使系统更稳定,避免噪音干扰而死机。RESET:重置引脚,高电平动作,当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各项动作,使得内部特殊功能寄存器内容均被设成已知状态。P0:

11、端口0是一个8位宽的开路汲汲双向输出入端口,共有8个位,P0.0表示0,P0.1表示1,以此类推。P2:端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。4.说明如图所示,S1为复位开关,S2、S3、S4分别为切换不同流水效果的开关,P2口控制LED灯D1D7的显示,P0口作为LED的输出控制。当按下S2后能实现D1和D7同时亮其他不亮,然后D2和D6亮,依此类推。当按下复位S1,然后按下S2实现LED灯从D7到D1循环亮,按下S1然后按下S3实现LED从D1到D7的循环亮。 3)软件框图下面是8只LE

12、D左右来回点亮的流程图 否是 否是是8只LED左右来回点亮的程序流程图 3、用keil建项目流程 1)、运行keil 2软件,启动后,点击Project菜单新建项目,新建项目后,选择为AT89C51的仿真单片机的型号,单击File选择New新建程序文件,保存后,右击Source Group1添加入程序文件。 2)、编写程序,右击Target 1打开设置输出HEX窗口,如图3所示:图 3 打开设置输出HEX窗口3)、设置输出HEX文件,勾选上Output下的Create HEX Fi:,单击确定保存,运行程序得到HEX文件,如图 4 所示:图4 设置输出HEX文件4、程序清单#include #

13、include #define uchar unsigned char #define uint unsigned int /延时 void DelayMS(uint x) uchar i; while(x-) for(i=0;i120;i+); /主程序 void main() uchar i; P2=0x01; while(1) for(i=0;i7;i+) P2=_crol_(P2,1); /P2 的值向左循环移动 DelayMS(150); for(i=0;i7;i+) P2=_cror_(P2,1); /P2 的值向右循环移动 DelayMS(150); 代码解释:(1)#inclu

14、de 预处理命令,包含头文件,通用格式#include ,类似的头文件reg52.h/AT89X51.h/AT89X52.h,基本一样,只在使用时对位的定义不一样at89x51.h文件中对P1.1的操作是写成P1_1;reg51.h文件中的操作则写成P11。at89x5*特指ATMEL公司的系列单片机reg5*指所有52系列的单片机。reg52是对reg 51的扩充,增加了T2和DPTR1,可认为reg 51是reg 52的子集。sfr P0=0x80; /定义P0的I/O端口,其地址为80H。在keil中,sfr与sfr16用于定义8051的特殊功能寄存器,其中sfr用来定义8为特殊功能寄存

15、器,sfr16用来定义16位特殊功能寄存器(2)#include C51单片机头文件包含以下函数:_crol_ 字符循环左移,_cror_ 字符循环右移,_irol_整数循环左移,_iror_ 整数循环右移,_lrol_ 长整数循环左移,_lror_ 长整数循环右移,_nop_ 空操作8051 NOP 指令,_testbit_ 测试并清零位 8051 JBC 指令。例:unsigned int y; y=0x00ff; y=_irol_(y,4); /无符号整型y循环左移4位。(3)void main(void) 主函数无返回值, void 是空的意思,main()是主函数,也可以定义为int

16、 main(),表示有返回值,需在函数最后用return返回结果(3)while() while循环,当()中返回结果非0时循环,先判断是否符合循环条件在执行。仅当括号中为0时(为真)退出循环如while(P1_1)表示当P1_1=1时循环如while(P1_1=0)表示当P1_1=0时结果为真,返回1时循环如while(1)表示循环控制变量为常数1,一直循环,一般在循环体内放break跳出循环while(1);一直循环;while(a-);a减到0时退出循环;while(a-) ; a减到0前一直执行内的循环。4、系统调试8只LED左右来回点亮的调试结果:点亮第一个流水灯,然后熄灭,接着点亮

17、第二个流水灯,熄灭;点亮第三个,实现流水式的左右来回点亮。四、设计总结(结论)设计心得: 通过本次的实验熟悉keil仿真软件、proteus仿真软件的使用。了解并熟悉单片机I/O口和LED灯的电路结构学会构建简单的流水灯电路。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项当上述程序编写好以后,我们需要使用编译软件对其编译,得到单片机所能识别的二进制代码,然后再用keil编程器将二进制代码烧写到单片机中,最后连接好电路通电,我们就看到从左到右的流水灯 通过这次课程设计针对设计的内容和要求,我利用8086、8259、8253、8255、8282、8286以及38译码器和门

18、电路设计了交通灯数字控制系统。通过利用单片机,编写了软件控制程序。同时查阅资料,用PROTEL软件设计出了硬件系统。在这次课程设计的过程中,我无论是在关于X86系列的相关知识或在接口芯片的初始化及应用方面还是在利用所学到知识全面设计系统方面收获都很大。 刚拿到设计题目觉得无从下手,经过仔细分析问题之后找到了行之有效的解决问方法。虽然六盏灯一共有七种不同的亮灭状态,其实只需用8255的A口的低六位不同状态即可控制。针对不同的延时时间,采用8253的计数器0和计数器1的级联可以准确定时。考虑到绿灯闪烁频率为1HZ,故让8253的计数器0的输出OUT0为20HZ的方波作为计数器1的时钟频率。这样对8253计数器1的计数初值写不同的值即可实现不同的定时。本系统的核心计时方法是:8253计数器1的输出OUT1送给8255的C口的PC0,然后8086读8255的C口的值来判断是否改变灯的状态。8255的C口相当于控制系统

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

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