久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4392|回復: 3
打印 上一主題 下一主題
收起左側

控制單個單片機IO的按鍵+定時器10ms定時器程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:351872 發表于 2019-1-5 16:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
/*剛剛開始學習AVR單片機,
*把學習到的知識和大家分享。有錯誤或者更好的寫法,歡迎交流。
*方便新手學習,我都盡可能的注釋
*/




#include <iom16v.h>
#include <macros.h>
#include <stdio.h>                        //標準輸入輸出頭文件
#define LED_DDR  DDRA           //LED接PA0~PA7     
#define LED_P0RT PORTA          //指示燈
/*********************************
*按鍵定義
*******************************/
#define K1      PINC & (1<<PC0)               //位讀取   PC0        可以讀取K1的電壓值
#define K2      PINC & (1<<PC1)               //位讀取   PC1
#define K3      PINC & (1 << PC2)             //位讀取   PC2
#define K4      PINC & (1 << PC3)             //位讀取   PC3
#define K5      PINC & (1 << PC4)             //位讀取   PC4
#define K6      PINC & (1 << PC5)             //位讀取   PC5
#define K7      PINC & (1 << PC6)             //位讀取   PC6
#define K8      PINC & (1 << PC7)             //位讀取   PC7                                                   
unsigned char key_s,biaozhi;
void port_init(void)                                        //IO端口初始化
{
                DDRC=0xFF;         
                PORTC=0xff;        
                DDRB=0xff;
                PORTB=0xff;
                DDRD=0xff;
                PORTD=0xff;
                DDRA=0xff;
                PORTA=0xff;
}
#pragma interrupt_handler timer1_ovf_isr:15 //dingsh中斷函數
void timer1_ovf_isr()
{
    TCNT1H=0XFB;  //賦初值定義0.01s
    TCNT1L=0X1D;
        /***************************按鍵程序**************************************/
        if(((K1)==0)&&(biaozhi==0)){key_s++;if(key_s>=2){biaozhi=1;key_s=0;a=~a;}}   //按鍵按下 key_s開始++,起到延時給按鍵去抖的作用
        if(((K2)==0)&&(biaozhi==0)){key_s++;if(key_s>=2){biaozhi=1;key_s=0;a=~a;}}
        if(((K3)==0)&&(biaozhi==0)){key_s++;if(key_s>=2){biaozhi=1;key_s=0;a=~a;}}
        if(((K4)==0)&&(biaozhi==0)){key_s++;if(key_s>=2){biaozhi=1;key_s=0;a=~a;}}
        if(((K5)==0)&&(biaozhi==0)){key_s++;if(key_s>=2){biaozhi=1;key_s=0;a=~a;}}
        if(((K6)==0)&&(biaozhi==0)){key_s++;if(key_s>=2){biaozhi=1;key_s=0;a=~a;}}
        if(((K7)==0)&&(biaozhi==0)){key_s++;if(key_s>=2){biaozhi=1;key_s=0;a=~a;}}
        if(((K8)==0)&&(biaozhi==0)){key_s++;if(key_s>=2){biaozhi=1;key_s=0;a=~a;}}


        
        if(((K1)!=0)&&((K2)!=0)&&((K3)!=0)&&((K4)!=0)&&((K5)!=0)&&((K6)!=0)&&((K7)!=0)&&((K8)!=0))
         {biaozhi=0;key_s=0;} //按鍵判彈起
         if(key_s>=4){key_s=0;biaozhi=1;}


}


void init_timer1()   // 定時器1初始化
{
        TCCR1B=0X03;   //64分頻
        TIFR=0X01;
        TIMSK=0X04;
        TCNT1H=0XFB;   //10ms
        TCNT1L=0X1D;
        SREG|=BIT(7);
}
void main()
{
   port_init();  //I/O初始化函數
   init_timer1();//定時器初始化函數
while(1)
{               
         if(a==0xff){LED_P0RT=0x00;} //PA口全部輸出低
         if(a==0x00){LED_P0RT=0xff;} //PA口全部輸出低
  }
}


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:351872 發表于 2019-1-5 16:16 | 只看該作者
10ms定時.....標題寫錯了
回復

使用道具 舉報

板凳
ID:223761 發表于 2019-1-7 17:57 來自手機 | 只看該作者
用什么軟件?
回復

使用道具 舉報

地板
ID:351872 發表于 2019-1-8 09:32 | 只看該作者

ICC     ,忘了注明編譯環境了 - -
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕精品视频 | 国产精品一区二区三区久久久 | 欧美a区 | 不卡一区 | 欧美日本韩国一区二区 | 中文字幕综合在线 | 久久久久久久电影 | 国产成人久久av免费高清密臂 | 2019天天干天天操 | 成人精品视频 | 欧美一区在线视频 | 偷拍自拍第一页 | 久久这里只有精品首页 | 爱草视频| 国产精品久久久久久久岛一牛影视 | h视频在线观看免费 | 国产激情第一页 | 午夜私人影院在线观看 | 81精品国产乱码久久久久久 | 三级成人在线 | 五月婷婷导航 | 黄色高清视频 | 操操日| 国产精品国产三级国产aⅴ中文 | 中文字幕综合 | 精品久久久久久 | 国产精品18久久久久久白浆动漫 | 亚欧精品一区 | 狠狠夜夜 | 成人在线视频一区 | 天天操天天摸天天爽 | 91一区二区三区在线观看 | 亚洲视频精品 | 国产免费观看久久黄av片涩av | 久久亚洲视频网 | 国产精品精品视频一区二区三区 | 免费成人国产 | 99草免费视频 | 午夜色播 | 精品一区精品二区 | 日韩一级免费电影 |