左右来回循环的流水灯_第1页
左右来回循环的流水灯_第2页
左右来回循环的流水灯_第3页
左右来回循环的流水灯_第4页
左右来回循环的流水灯_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(大作业题目)报告单片机控制左右循环的流水灯学生学号:学生姓名:同组学号:同组姓名:指导老师:

设计目的:1)学习P1口的使用方法;2)学习延时子程序的编写3)了解简单单片机应用系统的设计方法。4)掌握应用编译源汇编程序的操作方法。5)熟练掌握AT89c51型开发板的使用方法和注意事项。设计要求:8个发光二极管LED0~LED7经限流电阻分别接至P1口的P1.0~P1.7引脚上,阳极共同接高电平。编程实现制作左右来回循环的节日彩灯,显示规律如下图所示。依次实现红蓝绿黄红蓝绿黄的循环亮灭。设计步骤:1.按照电路图在proteus7.5的环境下进行仿真连接,在keilc3的环境下进行c环境的编译,然后下载到单片机内运行进行仿真,观察发光二极管的运行状态。要注意的的,实验中一定要再p1口接上拉电阻或是一个74HC245的芯片,以提高单片机的P口驱动,以使LED灯亮。如果使用74HC245,则引脚OE要接地,DIR要接高电平。2.实现单片机工作的最小系统:电源电路﹑时钟电路﹑复位电路。3.因为LED灯是共阳极接入,编程实现灯亮的时候,要使语句取反。设计电路图:左右来回的流水灯.PDF源程序:左右来回的流水灯.C流程图:开始判断P口电平高电平低电平变向P口加1延时设计总结:1.实验中连接电路后运行发现等没有亮,检查程序,看接相应灯的P口输出语句是否取反了;如果没有循环,看控制方向的语句是否写对;检查上拉电阻的取值是否正确,一定要有上拉电阻。通过本次设计试验,我了解了单片机是如何实现控制功能的,设计中会遇到错误的结果,要仔细分析错误,然后一一去改进,试验,直到没有错误为止。三、/**左右来回的流水灯**/#include<reg51.h>typedefunsignedcharuint8;typedefunsignedintuint16;voiddelay(uint16x){ uint8i,j; for(i=x;i>0;i--) for(j=114;j>0;j--); }voidmain(){ uint8b=0,way=0; //移动位数变量及移动方向变量 while(1) { if(way==0) //根据way选择左移还是右移 P0=~(0x01<<b); //最低位的0被左移b位 else P0=~(0x80>>b); //最高位的0被右移b位 if(++b==8) //如果移动到左端或右端 {

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论