单片机应用技术实训报告
    业:  应用电子         
    号:   1504150137     
    名:  许林             
    期:  2016/12/24       
项目一 按键控制多种花样霓虹灯设计
一、 任务目的
1. 理解实验板独立按键部分的电路原理。
2. 掌握循环类、位操作类指令的应用。
3. 熟练掌握51单片机集成开发软件的使用。
4. 巩固C语言知识并灵活运用到单片机编程。
二、 任务要求
debug灯使用按键控制多种花样霓虹灯设计,电路板上有8个自上而下排列整齐的发光二极管,需要根据一个(或者三个)按键的输入来实现以下3种显示状态的切换:
a. 全部闪烁
b. 至上而下流水灯循环
c. 86421357个发光二极管循环
三、 硬件电路设计
四、 软件设计
#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小时内删除。