51单片机流水灯课程设计报告 51单片机流水灯制作教程
单片机流水灯怎么写实验报告
单片机流水灯的话,建议你先在Proteus这个单片机软件上先进行实验一下,然后根据你的实验结果来写这份报告。
51单片机流水灯课程设计报告 51单片机流水灯制作教程
51单片机流水灯课程设计报告 51单片机流水灯制作教程
51单片机流水灯课程设计报告 51单片机流水灯制作教程
单片机流水灯写实验报告的话,你可以根据他的各种条件下的不同状况来写的。
这个其实一定要真实地写出来,你的报告才是可以的,一定不要弄虚作。
单片机流水灯怎么写实验报告,这还用怎么写,正常的实验报告,需要汇报的东西都写清楚。
但片儿记流水账怎么写实验报告,应该是通过看自身的言行进行防血。
单片机打开页面的显示器,它产品设置调试亮度,重新安装系统。
用MCS-51单片机设计从左到右,再从右到左的流水灯设计,这样循环5次,然后停下急!!!谢谢了。。。
#include
#include
void delay(unsigned char i)
{unsigned char m,n;
for(m=i;m>0;m--)
for(n=125;n>0;n--);
}void main()
{ unsigned char k,i;
while(1)
{P1=0xfe;
for(i=5;i>0;i--){
for(k=0;k<8;k++)
{delay(2000);
P1=_crol_(P1,1);
}P1=0x7f;
for(k=0;k<8;k++)
{delay(2000);
P1=_cror_(P1,1);
}}
}}
单片机用计时中断控制一个流水灯电路 :每按一次键,发光二极管位置右移一次;每按一次键流水灯的方向改变
已经调试和仿真。用两种语言编写。
程序中加了按键防抖和按键释放判断功能。
/STC51单片机编程实验课:彩灯设计(跑马灯))/
/以下为汇编语言/
key0 bit P2.0
key1 bit P2.1
org 0000h
jmp start
org 0030h
start:
mov P0,#11111110B
Begin:
;
jb key0,next0
call delay10ms
jb key0,next0
jnb key0,$
mov a,P0
rr a
mov P0,a
next0:
jb key1,Begin
call delay10ms
jb key1,Begin
jnb key1,$
mov a,P0
rl a
mov P0,a
jmp Begin
;
delay10ms:
mov r6,#200
lpr6: mov r7,#248
djnz r7,$
djnz r6,lpr6
ret
jmp $
end
/
以下为对应的C语言如下:
/
#include
it key0=P2^0;
it key1=P2^1;
void delay10ms();
void main()
{P0=0xff-1;
while(1)
{unsigned char temp0,temp1;
if(!key0)
{delay10ms();
if(!key0)
{temp0=P0<<1;
temp1=P0>>7;
P0=temp0+temp1;
}while(!key0);
}if(!key1)
{delay10ms();
if(!key1)
{temp0=P0>>1;
temp1=P0<<7;
P0=temp0+temp1;
}while(!key1);
}}
}void delay10ms()
{unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}/
以上程序只是键控灯移,下面是另一个程序:键控改变流水灯方向。
已经仿真调试通过。
key0 bit P2.0
key1 bit P2.1
org 0000h
jmp start
org 0030h
start:
mov P0,#11111110B
st:
jnb key0,next0
jnb key1,next1
jmp st
next0:
call delay10ms
jb key0,st
jnb key0,$
jmp Program01
next1:
call delay10ms
jb key1,st
jnb key1,$
jmp Program02
Program01:
;
jb key1,nextA
call delay10ms
jb key1,nextA
jnb key1,$
jmp Program02
nextA:
mov a,P0
rr a
mov P0,a
call delay300ms
jmp Program01
Program02:
jb key0,nextB
call delay10ms
jb key0,nextB
jnb key0,$
jmp Program01
nextB:
mov a,P0
rl a
mov P0,a
call delay300ms
jmp Program02
;
delay300ms:
mov r5,#3
lpr5: call delay10ms
djnz r5,lpr5
ret
delay10ms:
mov r6,#200
lpr6: mov r7,#248
djnz r7,$
djnz r6,lpr6
ret
jmp $
end
设计流水灯,要求流水变化时间。(用51单片机实现)
说明:
这里P0端口为流水灯控制端口(根据实际情况,修改P0为实际端口即可)
还有这里是高电平灯亮,如果设计为低电平灯亮,可以改 P0=led;为 P0=~led;
种定时器
#include
#include
#define uint unsigned int
uchar led=0x01;
uint a,aa,num=1;
void main()
{TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1; //开启总中断
ET0=1;
TR0=1;
while(1);
}void time0() interrupt 1
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
if(a==20)
{ aa++;
if(aa==num)
{
P0=led;
led<<1;
aa=0;
num++;
if(num==9)
{
num=1;
led=0x01;
}
}
}}
第二种delay简单的
#include
#include
#define uint unsigned int
uchar led=0x01;
void delay(uint num)
{uint x,y;
for(x=num;x>0;x--)
for(y=110;y>0;y--);
}void main()
{int i;
while(1)
{ led=0x01;
for(i=0;i<8;i++)
{
P0=led;
delay(i+1);
led<<1;
}
}}
定时器 + 计数器
流水灯的
要求有吗。
单片机的,
跪求单片9C51控制交通灯的课程设计
单片机原理及应用课程设计报告
基于AT89C52的流水灯设计
姓名:
学号:
班级:
日期:
一 摘要
二 设计任务及目的
三 硬件设计
1)设计思路
2)芯片概述
3)原理电路图
4)硬件工作原理概述
四 软件设计
1)分析论证
2)工作环境
3)程序流程图
4)程序清单
五 调试过程及结果分析
六 设计总结
七 参考文献
一 摘要
本实验设计主要是利用AT89C52芯片、发光二极管等一些电路元件设计一个简单的在不同的时间控制不同的灯亮还有周期循环的流水灯电路。并利用说学的知识完成程序设计、画出原理图及接线图,通过主装、调试电路、自行排除故障,终实现流水等功能。
课程设计强调以能力培养为主,在完成设计制作任务的同时注意多方面的能力培养与提高,因此通过此设计有助于我们复习、巩固以往的内容,达到灵活应用的目的。在设计完成后,还要将涉及的电路进行安装、调试以加强我们的动手能力。在此过程中培养设计过程中的整体观念。
二 设计任务及目的
1、 熟练掌握AT89C52开发板的使用方法和注意事项。
2、 了解简单单片机应用系统的设计方法。
3 通过某一电路的综合设计,了解某一电路的综合设计过程、设计要求
4、 掌握应用keil软件编辑、编译源汇编程序的作方法。
5、 掌握应用编程器烧写器件的作方法。
6、 帮助学生养成良好实验习惯
三 硬件设计
1 设计思路
AT89C52是一个低电压,高性能CMOS 8位单片机, 可以用来做单片机流水灯、跑马灯。。。等实验
电路原理图见下图1,如果我们想让接在P1.0口的LED1亮起来,那么我们只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平就可以;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭方法方法同LED1。因此,要实现流水灯功能,我们只要将LED2~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。
2)芯片概述
AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。
AT89C52是一个低电压,高性能CMOS 8位单片机, AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
3)原理电路图
4)硬件工作原理概述
要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反, 如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。已达到在不同的时间控制不同的灯亮还有周期循环
四 软件设计
1)分析论证
让 LED 流水是去逐个控制P1端口的每个位来实现的,那么我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后让这个数据向高位移动不就实现“流水”效果啦。
为了让单片机工作,只能将程序写为二进制代码交给其执行;。前面说到,要想使LED1变亮,只需将对应的单片机引脚电平变为低电平就可以了。现在让我们将上面提到的8只LED流水灯实验写为汇编语言程序利用keil工具对源程序进行编写和编译。再利用编程器编译好的文件烧写到到单片机进行演示验证。再将烧写好的AT89C52从编程器上取下在 放到‘S51增强型单片机实验板’进行通电我们就看到了LED1到LED8的‘流水’效果了
2)工作环境
PC机一台,Proteus仿真软件一套,8个LED 管,9个电阻,一个1.2MH晶振,2个30pf有极性电容,1个无极性电容,+5V电源。
3)程序流程图
4)程序清单
ORG 0000H ;单片机上电后从0000H地址执行
LJMP LOOP ;跳转到主程序存放地址处
ORG 0030H ;设置主程序开始地址
LOOP: MOV P1,#0FFH ;P1口清0
LCALL DELAY ;调用延时子程序
CLR P1.0 ; P1.0输出低电平,使LED1点亮
LCALL DELAY ;调用延时子程序
CL P1.1 ;P1.1输出低电平,使LED1点亮
LCALL DELAY ;调用延时子程序
CLR P1.2 ;P1.2输出低电平,使LED2点亮
LCALL DELAY ;调用延时子程序
CLR P1.3 ;P1.3输出低电平,使LE3点亮
LCALL DELAY ;调用延时子程序
CLR P1.4 ;P1.4输出低电平,使LED4点亮
LCALL DELAY ;调用延时子程序
CLR P1.5 ;P1.5输出低电平,使LED5点亮
LCALL DELAY ;调用延时子程序
CLR P1.6 ;P1.6输出低电平,使LED6点亮
LCALL DELAY ;调用延时子程序
CLR P1.7 ;P1.7输出低电平,使LED7点亮
DELAY: MOV R5,#20 ; 延时一段时间
D1: MOV R6,#40
D2: MOV R7,#240
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET ;子程序返回
END ;程序结束
五 调试过程及结果分析
调试过程是充满艰辛的:次接电源时,没有亮灯,经过检查发现后得知,因粗心31号引脚未接高电平、40号引脚未和电源连接、20号引脚没接第,经反复核实,排除问题后,看到LED1~LED8的“流水”效果了。
六 设计总结
课程设计是培养学生综合所学知识、发现、提出、分析和解决问题,锻炼实际能力的重要环节。是对学生实际工作能力和具体训练和考察过程。
这次课程设计我学到了很多东西,学会了怎样去制订怎样趋势线这个,并掌握了在执行过程中怎样去克服心理上的不良情绪。不仅巩固了以前学过的知识,而且学到了很多在书本上没学到过的知识。可以进行一些简单的编程。通过这次课程设计,我懂得了理论与实际相结合的重要性。光有课本知识是远远不够的,还要通过实际的验证。设计的艰辛让我懂得好的结果需要努力 ,我们尝到了成功的喜悦,也懂得焊电板是需要西和耐心的。
七 参考文献
万文略,赵利,蔡静之。单片机原理及应用。重庆大学出版社。2007年8月
这是我自己做的电路程序 靠你自己
单片机原理流水灯实验报告
单片机原理流水灯实验报告:一、实验目的:进一步熟习keil仿真软件、proteus仿真软件的使用。认识并熟习单片机I/O口和LED灯的电路构造,学会建立简单的流水灯电路。掌握C51中单片机I/O口的编程方法和使用I/O口进行输入输出的注意事项。
二、实验原理:MCS-51系列单片机有四组8位并行I/O口,记作P0、P1、P2和P3。每组I/O口内部都有8位数据输入缓冲器、8位数据输出锁存器及数据输出驱动等电路。四组并行I/O端口即能够按字节作,又能够按位作。当系统没有扩展外面器件时,I/O端口用作双向输入输出口;当系统作外面扩展时,使用P0、P2口作系统地点和数据总线、P3口有第二功能,与MCS-51的内部功能器件配合使用。
单片机原理流水灯实验报告
单片机原理流水灯实验报告:
本实验的目的是通过使用单片机,来实现流水灯的功能。实验中,使用了AT89C51单片机,通过设置定时器,实现了不同的流水灯灯序,并使用外部中断按键,来控制流水灯的开关。实验的结果表明,单片机通过定时器和外部中断按键,可以实现流水灯的功能。
拓展:本实验的
拓展可以包括,使用其他单片机,如STC89C52、STM8S103等,来实现流水灯的功能;另外,可以在实验中增加按键,实现不同的灯序变化;可以添加LCD显示屏,显示当前灯序;还可以通过设置定时器,实现时间控制,实现定时开启和关闭流水灯。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。