新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機設計LCD數字鐘(萬年歷)

        單片機設計LCD數字鐘(萬年歷)

        作者: 時間:2011-08-02 來源:網絡 收藏

        鐘()程序與電路如下:

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

        #include
        #include //庫函數頭文件,代碼中引用了_nop_()函數
        // 定義控制信號端口
        sbit RS=P2^4; //P2.4
        sbit RW=P2^5; //P2.5
        sbit E=P2^6; //P2.6
        sbit set=P3^4; //設置鍵
        sbit enter=P3^5; //確認鍵
        sbit add1=P3^6; //加1鍵
        sbit sub1=P3^7; //減1鍵
        bit k=0,f=0;//k為0表示運行狀態,k為1表示設置狀態;f為0表示第一行顯示,f為1表示第二行顯示
        char sec,min,hour,week,day,month,year,n,m;
        unsigned char count,key;
        unsigned char lcdd[]=0123456789;
        /*聲明調用函數*/
        void dispd(); //日期顯示函數
        void dispt(); //時間顯示函數
        unsigned char keys();//按鍵掃描函數
        void lcd_w_cmd(unsigned char com); //寫命令字函數
        void lcd_w_dat(unsigned char dat); //寫數據函數
        unsigned char lcd_r_start(); //讀狀態函數
        void int1(); //初始化函數
        void delay(unsigned char t); //可控延時函數
        void delay1(); //軟件實現延時函數,5個機器周期
        /*主函數*/
        void main()
        {
        TMOD=0x01; //設置為定時器模式1
        TH0=0x3c; //晶振6MHz,定時時間100ms
        TL0=0xb0;
        IE=0x82; //開全局中斷和定時中斷
        TR0=1; //啟動定時器
        sec=0; //秒
        min=0; //分
        hour=0; //時
        week=0; //星期
        day=1; //日
        month=1; //月
        year=0; //年
        count=0; //中斷次數清0
        n=-3; //設置鍵按下次數,第一行日期
        m=-3; //設置鍵按下次數,第二行時間
        P0=0xff; // 送全1到P0口
        int1(); // 初始化
        delay(255);

        while(1)
        {
        key=keys(); //讀取按鍵
        switch(key)
        {
        case 0xe0: //按下設置鍵
        {
        TR0=0;
        k=1;
        if(f==0)
        {
        n=n+3;
        if(n==9)
        {
        n=0;
        m=0;
        f=1;
        }

        }
        else
        {
        m=m+3;
        if(m==12)
        {
        m=0;
        n=0;
        f=0;
        }

        }
        if(f==0)
        {
        lcd_w_cmd(0x0d);
        lcd_w_cmd(0x86+n);
        }
        else
        {
        lcd_w_cmd(0x0d);
        lcd_w_cmd(0xc4+m);
        }
        } break;


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兴义市| 马公市| 新郑市| 银川市| 珠海市| 霞浦县| 从化市| 延庆县| 永定县| 上杭县| 宁乡县| 普定县| 恭城| 金平| 河北省| 高陵县| 拉孜县| 梁平县| 澄迈县| 水富县| 德昌县| 乳山市| 七台河市| 柳河县| 鄯善县| 于田县| 恩施市| 台东市| 祁阳县| 彰化县| 洪江市| 金昌市| 日照市| 长宁县| 枞阳县| 临高县| 永靖县| 依兰县| 章丘市| 昭觉县| 贵定县|