新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 娄烦县| 亚东县| 黑龙江省| 大同县| 耿马| 广州市| 含山县| 德钦县| 三都| 屏东县| 武穴市| 布拖县| 榆中县| 吉隆县| 西安市| 鄢陵县| 常州市| 平定县| 化隆| 宣汉县| 庄河市| 巴彦淖尔市| 湘潭县| 海盐县| 博湖县| 泰宁县| 天祝| 浠水县| 靖远县| 南安市| 壤塘县| 禄劝| 来安县| 会东县| 哈巴河县| 林口县| 海盐县| 咸宁市| 汉寿县| 海口市| 日喀则市|