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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4589|回復(fù): 3
收起左側(cè)

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

[復(fù)制鏈接]
ID:351872 發(fā)表于 2019-1-5 16:16 | 顯示全部樓層 |閱讀模式
/*剛剛開始學(xué)習(xí)AVR單片機(jī),
*把學(xué)習(xí)到的知識和大家分享。有錯誤或者更好的寫法,歡迎交流。
*方便新手學(xué)習(xí),我都盡可能的注釋
*/




#include <iom16v.h>
#include <macros.h>
#include <stdio.h>                        //標(biāo)準(zhǔn)輸入輸出頭文件
#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中斷函數(shù)
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初始化函數(shù)
   init_timer1();//定時器初始化函數(shù)
while(1)
{               
         if(a==0xff){LED_P0RT=0x00;} //PA口全部輸出低
         if(a==0x00){LED_P0RT=0xff;} //PA口全部輸出低
  }
}


評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:351872 發(fā)表于 2019-1-5 16:16 | 顯示全部樓層
10ms定時.....標(biāo)題寫錯了
回復(fù)

使用道具 舉報

ID:223761 發(fā)表于 2019-1-7 17:57 來自觸屏版 | 顯示全部樓層
用什么軟件?
回復(fù)

使用道具 舉報

ID:351872 發(fā)表于 2019-1-8 09:32 | 顯示全部樓層

ICC     ,忘了注明編譯環(huán)境了 - -
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 午夜黄色大片 | 日本不卡视频在线观看 | 在线观看av片 | 日韩色在线 | 日韩毛片在线观看 | 99热在线免费观看 | 国产一区二区中文字幕 | 欧美一区二区免费 | 成人在线一区二区 | 人人干人人艹 | 国产精自产拍久久久久久蜜 | 老女人毛片| 日韩精品免费视频 | 免费观看全黄做爰的视频 | 一级真人毛片 | 欧美一级黄色大片 | 色婷婷视频在线观看 | 91看片淫黄大片 | 永久免费看片在线播放 | 亚洲va | a视频在线观看 | 日韩成人高清 | 久久久www成人免费精品 | 国产福利91精品一区二区三区 | 亚色在线 | 国产精品国产精品国产专区不片 | 超碰国产在线 | 日韩精品在线一区 | 激情做爰呻吟视频舌吻 | 性欧美精品 | 久久三级视频 | av免费看片| 精品日韩一区二区三区 | 午夜av免费| 成人看片网| 成人午夜小视频 | 国产男女无遮挡猛进猛出 | 久久久久性 | 国产日韩免费 | 日本大尺度床戏揉捏胸 | 亚洲精品一级 |