左右来回循环的流水灯

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

(大作业题目)报告单片机控制左右循环的流水灯学生学号:学生姓名:同组学号:同组姓名:指导老师:设计目的: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口输出语句是否取反了;如果没有循环,看控制方向的语句是否写对;检查上拉电阻的取值是否正确,一定要有上拉电阻。2.通过本次设计试验,我了解了单片机是如何实现控制功能的,设计中会遇到错误的结果,要仔细分析错误,然后一一去改进,试验,直到没有错误为止。三、/**左右来回的流水灯**/#includereg51.htypedefunsignedcharuint8;typedefunsignedintuint16;voiddelay(uint16x){uint8i,j;for(i=x;i0;i--)for(j=114;j0;j--);}voidmain(){uint8b=0,way=0;//移动位数变量及移动方向变量while(1){if(way==0)//根据way选择左移还是右移P0=~(0x01b);//最低位的0被左移b位elseP0=~(0x80b);//最高位的0被右移b位if(++b==8)//如果移动到左端或右端{b=0;//b归0way=!way;//改变方向}delay(200);}}

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功