新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > avr atmega16做的頻率計 利用輸入捕獲功能

        avr atmega16做的頻率計 利用輸入捕獲功能

        作者: 時間:2016-11-13 來源:網(wǎng)絡 收藏

        本文引用地址:http://www.104case.com/article/201611/316377.htm


        /*****************************************
        * 基于頻率計程序設計 *
        * 功 能:頻率計 *
        * 時鐘頻率:內(nèi)部8M *
        頻率計最大頻率范圍。proteus測的65K 左右
        MADE BY LYQ
        *****************************************/
        #include
        #include
        #include "1602.c"
        #define uint unsigned int
        #define uchar unsigned char
        #pragma interrupt_handler timer1_capture:6
        #pragma interrupt_handler timer1_over:9
        uint Freq=0;
        uint i;
        uchar a=0;
        uchar data[6]={0,0,0,0,0,0};//顯示初值,最后一個0是結束符,方便液晶顯示


        void timer1_init()
        {
        TIMSK=(1<TCCR1B=(1<TCNT1=0X85ed;// ###定時1s#########
        TIFR=(1<//SREG=SREG&0x7f;
        }
        void hz(uint i,uchar *p) //顯示處理,+48(0x30) 0的ASCII碼。。是因為液晶顯示的是ASCII碼
        {


        p[4]=i%10+48;//個
        p[3]=i/10%10+48;//十
        p[2]=i/100%10+48;//百
        p[1]=i/1000%10+48;//千
        p[0]=i/10000%10+48;//萬
        }


        void main()
        {
        timer1_init();
        init_1602();//液晶初始化

        DDRD=0x00;
        PORTD=0xff;//設置D口為帶上拉電阻輸入
        SREG|=0x80;
        LCD_write_string(3,0,"MADE BY LYQ");
        LCD_write_string(11,1,"Hz");
        while(1)
        {
        if(a)
        {
        a=0;
        hz(i,data);
        LCD_write_string(6,1,data); //顯示

        }
        }
        }

        void timer1_capture()//產(chǎn)生捕獲中斷
        {
        Freq++;
        }

        void timer1_over()//每秒產(chǎn)生中斷一次
        {
        TCNT1=0X85ed;//
        i=Freq;
        a=1;
        Freq=0;
        }



        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 安塞县| 吴忠市| 安仁县| 保定市| 隆德县| 桂阳县| 元氏县| 林芝县| 乡宁县| 华阴市| 余姚市| 桐柏县| 九寨沟县| 锡林浩特市| 建昌县| 电白县| 宁乡县| 永顺县| 霍山县| 西华县| 潜江市| 徐州市| 镇赉县| 太白县| 华坪县| 顺昌县| 泊头市| 西贡区| 河南省| 嵊泗县| 白银市| 九寨沟县| 南通市| 肇庆市| 元谋县| 伊吾县| 孟州市| 湄潭县| 藁城市| 运城市| 磐安县|