新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于51單片機的單通道頻率計1602顯示

        基于51單片機的單通道頻率計1602顯示

        作者: 時間:2016-11-29 來源:網絡 收藏
        /*內容:T0外部計數,T1計時1S,計算1S內外部脈沖個數,

        并在1602液晶顯示頻率:單位時間內完成振動的次數*/
        #include
        #include
        #include
        #define uchar unsigned char
        #define CHECK_BUSY
        sbit RS = P2^4; //定義端口
        sbit RW = P2^5;
        sbit EN = P2^6;
        bit OVERFLOWFLAG;
        bit TIMERFLAG;
        void DelayMs(uchar t)
        {
        int x,y;
        for (x=t;x>0;x--)
        for(y=110;y>0;y--);

        }
        /*判忙函數*/
        bit LCD_Check_Busy(void)
        {
        #ifdef CHECK_BUSY
        P0= 0xFF;
        RS=0;
        RW=1;
        EN=0;
        _nop_();
        EN=1;
        return (bit)(P0 & 0x80);
        #else
        return 0;
        #endif
        }
        /*寫入命令函數*/
        void write_Com(uchar com)
        {
        while(LCD_Check_Busy()); //忙則等待
        RS=0;
        RW=0;
        EN=1;
        P0= com;
        _nop_();
        EN=0;
        }
        /*寫入數據函數*/
        void write_dat(uchar dat)
        {
        while(LCD_Check_Busy()); //忙則等待
        RS=1;
        RW=0;
        EN=1;
        P0= dat;
        _nop_();
        EN=0;
        }
        /*清屏函數*/
        void LCD_Clear(void)
        {
        write_Com(0x01);
        DelayMs(5);
        }
        /*寫入字符函數*/


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 五大连池市| 宜都市| 永德县| 亳州市| 泽库县| 鹤壁市| 庐江县| 浦北县| 浙江省| 阳原县| 灯塔市| 明溪县| 界首市| 大姚县| 军事| 栾城县| 疏附县| 齐齐哈尔市| 永平县| 柳州市| 五河县| 阿拉善盟| 如东县| 沙雅县| 石渠县| 登封市| 文登市| 大兴区| 陇西县| 罗山县| 涿鹿县| 鄄城县| 乌拉特后旗| 嘉兴市| 个旧市| 康保县| 兰溪市| 正阳县| 江安县| 桐梓县| 大连市|