新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 自制電子時鐘

        自制電子時鐘

        作者: 時間:2016-11-29 來源:網絡 收藏
        仿真出來一個可以調時間的鐘。下面是仿真圖片。
        下面是核心的單片機編程:
        #include
        #define ulong unsigned long
        #define uint unsigned int
        sbit duan=P2^0;
        sbit wei=P2^1;
        sbit led=P2^2;
        sbit key1=P1^0;
        sbit key2=P1^1;
        sbit key3=P1^2;
        sbit key4=P1^3;
        sbit key5=P1^4;
        uint code shuju1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
        uint code shuju2[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//為讓小數點點亮,另建一個數組
        void delayms(uint);
        void keyscan();
        void Play(uint t);
        void display(uint,uint,uint,uint,uint,uint);
        ulong num;
        uint i,j,num1,shi,fen,miao,sw,w,q,b,s,g,h,f,m;
        void main()
        {
        TMOD=0x10;
        TH1=(65536-45872)/256;
        TL1=(65536-45872)%256;
        EA=1;
        ET1=1;
        TR1=1;
        while(1)
        {
        keyscan();
        display(sw,w,q,b,s,g);
        }
        }
        void display(uint sw,uint w,uint q,uint b,uint s,uint g)
        {
        duan=1; //打開 段 鎖存端
        P3=shuju1[g]; //傳入數據
        duan=0; //關閉 段 鎖存端
        P3=0xff; //清影
        wei=1; //打開 位 鎖存端
        P0=0x01; //傳入位選數據
        wei=0; //關閉 位 鎖存端
        delayms(5); //延時
        duan=1; //打開 段 鎖存端
        P3=shuju1[s]; //傳入數據
        duan=0; //關閉 段 鎖存端
        P3=0xff; //清影
        wei=1; //打開 位 鎖存端
        P0=0x02; //傳入位選數據
        wei=0; //關閉 位 鎖存端
        delayms(5); //延時
        duan=1; //打開 段 鎖存端
        P3=shuju2[b]; //傳入數據
        duan=0; //關閉 段 鎖存端
        P3=0xff; //清影
        wei=1; //打開 位 鎖存端
        P0=0x04; //傳入位選數據
        wei=0; //關閉 位 鎖存端
        delayms(5); //延時
        duan=1; //打開 段 鎖存端
        P3=shuju1[q]; //傳入數據
        duan=0; //關閉 段 鎖存端
        P3=0xff; //清影
        wei=1; //打開 位 鎖存端
        P0=0x08; //傳入位選數據
        wei=0; //關閉 位 鎖存端
        delayms(5); //延時
        duan=1; //打開 段 鎖存端
        P3=shuju2[w]; //傳入數據
        duan=0; //關閉 段 鎖存端
        P3=0xff; //清影
        wei=1; //打開 位 鎖存端
        P0=0x10; //傳入位選數據
        wei=0; //關閉 位 鎖存端
        delayms(5); //延時
        duan=1; //打開 段 鎖存端
        P3=shuju1[sw]; //傳入數據
        duan=0; //關閉 段 鎖存端
        P3=0xff; //清影
        wei=1; //打開 位 鎖存端
        P0=0x20; //傳入位選數據
        wei=0; //關閉 位 鎖存端
        delayms(5); //延時
        }
        void delayms(uint xms)
        {
        for(i=xms;i>0;i--)
        for(j=110;j>0;j--);
        }
        上一頁 1 2 下一頁

        關鍵詞: 電子時

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 绥德县| 瓦房店市| 岳阳市| 全椒县| 平乐县| 西盟| 吉木萨尔县| 大埔区| 平谷区| 资中县| 长子县| 青岛市| 三原县| 冕宁县| 买车| 枞阳县| 田东县| 崇阳县| 高邮市| 夹江县| 南部县| 罗源县| 疏附县| 望奎县| 广州市| 雷州市| 岳阳市| 兴城市| 白沙| 天全县| 泰和县| 富蕴县| 长阳| 漠河县| 项城市| 永靖县| 体育| 黄骅市| 新密市| 连州市| 汉源县|