应 用 工 程 学 院
单片机应用技术实训报告
专 业: 应用电子
学 号: 1504150137
姓 名: 许林
日 期: 2016/12/24
项目一 按键控制多种花样霓虹灯设计
一、 任务目的
1. 理解实验板独立按键部分的电路原理。
2. 掌握循环类、位操作类指令的应用。
3. 熟练掌握51单片机集成开发软件的使用。
4. 巩固C语言知识并灵活运用到单片机编程。
二、 任务要求
debug灯使用按键控制多种花样霓虹灯设计,电路板上有8个自上而下排列整齐的发光二极管,需要根据一个(或者三个)按键的输入来实现以下3种显示状态的切换:
a. 全部闪烁
b. 至上而下流水灯循环
c. 第8、6、4、2、1、3、5、7个发光二极管循环
三、 硬件电路设计
四、 软件设计
#include<regx51.h>
unsigned int n;
void delayms(n)
{unsigned char i,j,k;
for(i=15;i>0;i--)
for(j=202;j>0;j--)
for(k=81;k>0;k--);}
void main()
{unsigned char key,a,m;
unsigned char code
led[]={0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,
0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00, 0xbf,0xef,0xfb,0xfe,0x7f,0xdf,0xf7,0xfd};
P0=0xff;
while(1)
{
key=0;
while(key==0)
{
key=P3;
key=~key;
}while(key==0);
switch(key)
{case 0x04:a=0;break;
case 0x08:a=1;break;
case 0x10:a=2;break;
default:break;
}
do{
for(m=0;m<8;m++)
{
P0=led[a*8+m];
delayms(10);
P0=0xff;
}
key=P3;
key=~key;
}while(key==0);
}
}
编程思想:用16进制数对对单片机编程,从而实现对彩灯控制。
五、系统调试
仿真调试:首先检查各个线路是否连接正确,尤其是LED极性是否连接正确。
实物调试:
1) 首先把电脑上生成的HEX文件下载到单机中。
2) 按键观察现象是否符合要求。
出现问题:按键不灵,或者现象不符合要求。此时需要检查开发板是否存在问题(用两个开发板用相同操作看是否存在差异),如开发板没问题,检查程序是否在显示部分的程序是否存在错误。
六、心得体会
通过项目一的学习,使我对这门课有了许多新的了解,弥补了在课堂上学习的不足。首先,在这次试训中我被单片机强大的功能所震撼,以前在课堂上完全没有能理解可编程单片机的优越性。这次通过实体仿真软件等辅助软件的共同效果,使得这次实训有了鲜明的活力。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论