新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機按鍵搶答器程序

        51單片機按鍵搶答器程序

        作者: 時間:2016-12-01 來源:網絡 收藏
        本程序由好幾個頭文件組成,都在下面,你可以復制代碼并保存為獨立的文件

        頭文件STC12C5A.H下載:http://www.51hei.com/mcu/2564.html

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

        #include
        #include "stdio.h"
        #include "LCD1602.h"
        #include "interrupt.h"
        #include "chiclet_keyboard.h"
        #define uchar unsigned char
        #define uint unsigned int
        void main()
        {
        delay(500);
        LCD_init();
        interrupts_init();
        chiclet_keyboard_();
        EA=0;
        while(1);
        }

        #ifndef _LCD1602_H
        #define _LCD1602_H
        /*
        單片機:STC89CXX,晶體: 12M 編譯:KEIL uVision4
        LCD1602命令代碼:
        代碼 說明
        1 清除顯示
        2 光標復位
        輸入模式選擇:
        X 0000 01(I/D)S
        I/D:光標移動方向,1右移,0左移
        S:屏幕文字是否移動.1移動.
        顯示開/關控制:
        X 0000 1DCB
        D:整體顯示開關,1為開
        C:光標開關,1為開
        B:光標閃爍,1為閃爍
        光標或字符移位:
        X 0001 (S/C)(R/L)**
        S/C: 1時移動文字,0時移動光標
        R/L:1為右移,0為左移
        功能設置:
        X 001(DL) NF**
        DL:1為8線模式,0為4線模式
        N: 0為單行顯示,1為2行顯示
        F: 0為5X7字符,1為5X10字符
        字符地址:
        X 01xx xxxx
        xxxxx:對應的ASCII地址
        顯示地址:
        X 1xxx xxxx
        xxx xxxx:屏幕顯示地址
        內部顯示和屏幕的地址對應注明:
        00--0x0F 對應屏幕第一行,00--0x27內部第一行
        0x40--0x4F對應屏幕第二行,0x40--0x67內部第二行
        */
        #define uchar unsigned char
        #define uint unsigned int
        //定義硬件接口
        #define LCD_DATA P0
        sbit LCD_EN=P2^5;
        sbit LCD_RS=P2^3;
        sbit LCD_RW=P2^4;
        /**********************************************
        函數名稱:
        函數功能:
        函數調用:
        輸入參數:
        輸出參數:
        版權信息:
        時間版本: V1.0
        ***********************************************/
        /**********************************************
        函數名稱: delay_ms(uint num)
        函數功能: 延時
        函數調用:
        輸入參數: ms
        輸出參數:
        版權信息:
        時間版本: V1.0
        備注:晶體:12M
        ***********************************************/
        void delay_ms(uint temp)
        {
        uint x,y;
        for(x=temp;x>0;x--)
        for(y=110;y>0;y--);
        }
        /**********************************************
        函數名稱: write_com(uchar com)
        函數功能: 寫命令
        函數調用: delay_ms(uint num)
        輸入參數: 命令代碼
        輸出參數:
        版權信息:
        時間版本: V1.0
        ***********************************************/
        void LCD_w_com(uchar com)
        {
        LCD_RS=0;
        LCD_RW=0;
        LCD_DATA=com;
        delay_ms(5);
        LCD_EN=1;
        delay_ms(5);
        LCD_EN=0;
        }


        上一頁 1 2 下一頁

        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 同江市| 东莞市| 南漳县| 子长县| 芒康县| 岱山县| 麦盖提县| 宁德市| 合肥市| 宝坻区| 桐城市| 玉林市| 焦作市| 河池市| 南江县| 朔州市| 板桥市| 邢台市| 阿鲁科尔沁旗| 博湖县| 宁陕县| 资中县| 桐城市| 调兵山市| 晋城| 金秀| 涟源市| 富裕县| 咸丰县| 苏尼特左旗| 合阳县| 昌乐县| 习水县| 秦皇岛市| 常宁市| 白朗县| 昌吉市| 新宾| 铜山县| 怀宁县| 濮阳市|