久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2460|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)實(shí)現(xiàn)數(shù)字萬用表

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:359204 發(fā)表于 2018-6-26 11:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
直接上代碼吧,有不足的地方可以聊聊啊
#include <reg52.h>
#include "c51statement.h"
#include "delay.h"

//四位共陽極數(shù)碼管位選表,位選選通時(shí)是高電平,位選關(guān)閉時(shí)低電平管位選表,位選選通時(shí)是低電平,位選關(guān)閉時(shí)高電平               
uchar code wei[]={0xef,0xdf,0xbf,0x7f};     //低四位不變?yōu)?,高四位0向左移動(dòng)
uchar time[4] = {0x00,0x00,0x00,0x00};      //uchar time[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00};
uchar time_save=0;
sbit  S2 = P3^2;
uchar code duan[]=
{                                                                                                     
//0                1         2     3     4     5     6     7     8
0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F,
//9     A     B           C         D           E         F                -         .          關(guān)顯示
0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71, 0x40, 0x80, 0x00
};

void time_display(uchar sec_ten,uchar sec_sigle,uchar min_sec_ten,uchar min_sec_sigle);

void main(void)
{
        uchar  KeyCount=0,i=0;
        TMOD= 0x01;//設(shè)置定時(shí)器0工作方式1(M0M1為01)
        TH0=0xfc;               //1ms定時(shí)
    TL0=0x66;//給高8位和低8位寄存器裝初值       
        EA=1;        //對(duì)中斷允許寄存器IE賦值,開放中斷
        ET0=1;       
        while(1)
        {          
                  if(s2==0)//s2被按下
                {
                        delayms(5);//利用軟件延時(shí)進(jìn)行軟件消抖
                        if(s2 == 0)
                        {                               
                           while( !s2 );//松手檢測(cè)       
                           KeyCount++;          //計(jì)數(shù)                                                                        
                       switch (KeyCount)  //按一下s2啟動(dòng),兩下停止,三下復(fù)位,四下再重新啟動(dòng)
                       {
                        case 1:
                                        TR0=1;              //啟動(dòng)定時(shí)器/計(jì)數(shù)器工作                  
                                        break;
                            case 2:
                                                TR0=0;              //關(guān)閉定時(shí)器/計(jì)數(shù)器工作
                                        break;
                                case 3:
                                                for(i=0;i<3;i++)
                                               time[i]=0x00;          //計(jì)時(shí)單元清零
                                                break;
                                case 4:
                                                TR0=1;             //啟動(dòng)定時(shí)器/計(jì)數(shù)器工作
                                                KeyCount=0;
                                                break;
                                default:
                                                TR0=0;              //關(guān)閉                          
                                        break;       
                                                       
                            }
                        }
                  }
                 time_display(time[2]/10,time[2]%10,time[1],time[0]);
        }          
}

void time_display(uchar sec_ten,uchar sec_sigle,uchar min_sec_ten,uchar min_sec_sigle)
{
        P2=wei[3];
        P0=duan[sec_ten];            
        delayms(5);

        P2=wei[2];
        P0=duan[sec_sigle]|0x80;       
        delayms(5);

        P2=wei[1];
        P0=duan[min_sec_ten];       
        delayms(5);

        P2=wei[0];
        P0=duan[min_sec_sigle];       
        delayms(5);
}

void time0() interrupt 1
{                                                                  
         TH0=0xfc;               //1ms定時(shí)
     TL0=0x66;//給高8位和低8位寄存器裝初值         
         time[0]++; //1ms,ms個(gè)位
         if(time[0]==10)
         {
                time[0]=0;
                time[1]++;//10ms,ms十位                                                                               
         }                       
         if(time[1]==10)//100ms
         {
                  time[1]=0;        //ms十位清零
                 time_save++;                                                                                        
         }
         if(time_save==10)//1s
         {       
                 time_save=0;                         
                time[2]++;//1s
         }               
         if(time[2]==6)
         {
                  time[2]=0;
                 time[3]++;
         }
         if(time[3]==10)//計(jì)時(shí)了10分鐘
        {
                time[3]=0;
                time[4]++;//display[5]表示分鐘的十位
        }
        if(time[4]==6)//計(jì)時(shí)了一小時(shí)60分鐘
        {
                time[4]=0;
                time[5]++;//display[6]表示小時(shí)的個(gè)位
        }
        if(time[5]==24)
        {
                time[5]=0;
        }       
        }         
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:424067 發(fā)表于 2018-11-10 14:37 | 只看該作者
請(qǐng)問有原理圖仿真圖資料嗎
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 大陆一级毛片免费视频观看 | 成人免费视频网 | 中文字幕一区在线观看视频 | 亚洲一区 中文字幕 | 精产国产伦理一二三区 | 久久久久久久国产 | 天天拍天天操 | 欧美日韩综合 | 欧美精品一区三区 | 先锋资源亚洲 | 日韩欧美视频网站 | 国产精品毛片一区二区在线看 | 日韩一级免费电影 | 国产乡下妇女做爰 | 欧美一区二区久久 | 国产日韩精品一区二区 | 欧美八区 | 欧美成人不卡 | 亚洲成av人片在线观看 | 国产欧美一区二区精品久导航 | 国产精品视频在线免费观看 | 久久精品16 | 成人亚洲视频 | 一区二区三区欧美在线观看 | 一区二区免费在线 | 日韩中文字幕免费 | 久一精品 | 久久一区二区三区四区 | 夜夜爽99久久国产综合精品女不卡 | 国产精品99久久久久久动医院 | 综合久久一区 | 美女黄视频网站 | 国产成人网 | 99精品视频在线观看免费播放 | 日本中文字幕在线观看 | 欧美一区二区三区在线看 | 欧美日韩一区在线 | 亚洲激情av | 久久99精品久久久久久 | 久久精品中文 | 日韩欧美视频在线 |