测试程序二 独立按键Key

该"测试程序"系列的编写是为了检测学校实验室板子上的各个部分是否正常工作 同时复习之前实验的知识要点 由于代码上附带多数注释 故此文只放代码 不再多做注解

/*
  程序编写者:Murrey_Xiao
  编写日期:2017-04-23
  功能介绍:
  该程序为实验室Mega16板上SW1和流水灯的测试程序
  当SW按下时,流水灯从0-7跑动
  PD3   检测按键
  PC0-7 控制流水灯亮灭
  注意:
  烧录程序时,要检查板上J9跳线帽是否接在流水灯上
  并且需要打开JTAGEN
*/
#include <iom16v.h>
#include <macros.h>

#define LED PORTC

//按键、流水灯端口初始化
void port_init(void)
{
    //PD3
    DDRD &= ~(1<<3);          //按键SW8配置为输入模式
    PORTD |= (1<<3);          //按键SW8配置上拉电阻
    
    //PC0-7
    DDRC = 0xff;              //跑马灯端口配置为输出模式
    PORTC = 0xff;            //跑马灯端口初始化为1(给0亮)
}
//跑马灯实现
void runningLED()
{
     unsigned char i;
     unsigned int j;
     for(i=0;i<8;i++)
     {
         LED &= ~(1<<i);
         j=10000;
         while(j--) ;
         LED = 0xff;
     }
}
int main()
{
    unsigned char i,j;
    port_init();
    while(1)
    {
        if((PIND&(1<<3))==0)  //按键被按下 检测到低电平
        {
            j=20;
            while(j--) ;      //延时避过抖动信号
            if((PIND&(1<<3))==0)
            {
                runningLED();
            }
        }
    }
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,352评论 25 709
  • 该"测试程序"系列的编写是为了检测学校实验室板子上的各个部分是否正常工作 同时复习之前实验的知识要点 由于代码上附...
    Murrey_Xiao阅读 3,826评论 0 1
  • 该"测试程序"系列的编写是为了检测学校实验室板子上的各个部分是否正常工作 同时复习之前实验的知识要点 由于代码上附...
    Murrey_Xiao阅读 3,821评论 0 1
  • 该"测试程序"系列的编写是为了检测学校实验室板子上的各个部分是否正常工作 同时复习之前实验的知识要点 由于代码上附...
    Murrey_Xiao阅读 4,026评论 0 2
  • 厨房冷冷清清的,日子也冷冷清清的;厨房进进出出,热气腾腾的,日子也就热气腾腾。这日子过好了,婚姻也就好了。 我和刘...
    婧心婧力阅读 3,890评论 6 16