美文网首页
测试程序二 独立按键Key

测试程序二 独立按键Key

作者: Murrey_Xiao | 来源:发表于2017-04-23 17:24 被阅读24次

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

    /*
      程序编写者: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;
    }
    

    相关文章

      网友评论

          本文标题:测试程序二 独立按键Key

          本文链接:https://www.haomeiwen.com/subject/ijeyzttx.html