欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

adc0832數字電壓表proteus仿真及51單片機源程序

查看數: 6187 | 評論數: 10 | 收藏 3
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2016-9-25 17:25

正文摘要:

用adc0832芯片和51單片機做的電壓表,里面有仿真,C源程序,可根據不同的應用場合不同,稍改程序就能改變量程,達到你的要求 源程序: #include<reg51.h> #include<intrins.h> #define uchar unsigne ...

回復

ID:498145 發表于 2019-5-2 19:16
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint  unsigned int
sbit cs=P3^5;
sbit clk=P3^3;
sbit dati=P3^4;
sbit dato=P3^4;
sbit P20=P2^4;
uchar dat=0x00;
uchar count=0x00;
uchar CH;
uchar dis[]={0x01,0x02,0x03,0x04};
uchar  code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar  code tablewe[]={0xfd,0xfb,0xf7,0xf0,0xdf,0xfe};
uchar adc0832(uchar CH)
{ uchar i,test,adval;
  adval=0x00;
  test=0x00;
  clk=0;
  dati=1;
  _nop_();cs=0;        _nop_();clk=1;_nop_();
  if(CH==0x00)
  { clk=0;
    dati=1;
        _nop_();clk=1;_nop_();clk=0;                 
        dati=0;
        _nop_();clk=1;_nop_();}
        else { clk=0;dati=1;
              _nop_();
                  clk=1;_nop_();clk=1;
                  _nop_();clk=0;dati=1;
                  _nop_();clk=1;_nop_();}
        clk=0;dati=1;
        for(i=0;i<8;i++)
        {_nop_();adval<<=1;clk=1;
        _nop_();clk=0;
        if(dato) adval|=0x01;
         
         else adval|=0x00;        }
         for(i=0;i<8;i++)
         {test>>=1;
         if(dato) test|=0x80;
           else test|=0x00;                _nop_();
           clk=1;
           _nop_();
           clk=0;}
  if(adval==test)
    dat=test;_nop_();
        cs=1;
        dato=1;clk=1;return dat;}
void delay(void)//延時函數
{uint r;
  for(r=10;r<500;r++)
      ;
          }
void convdata(uchar i)
{ dis[0]=i/51;
  dis[1]=(i%51)*10/51;
  dis[2]=((i%51)*10%51)*10/51;
  }
void display(void)
{P2=0x02;
P0=tab[dis[0]]&0x7f;
delay();
P2=0x04;
P0=tab[dis[1]];
delay();

P2=0x08;

P0=tab[dis[2]];
delay();

}
void main(void)
{ P2=0xff;
   P0=0xff;
   delay();
   delay();
   CH=0x00;
   TMOD=0x01;
   TH0=15535/256;
   TL0=15536%256;
   IE=0x82;
   TR0=1;
   while(1)
   {dat=adc0832(CH);
    convdata(dat);
        display();
        }}
void timero(void) interrupt 1
{  TMOD=0x01;
   TMOD=0x01;
   TH0=15535/256;
   TL0=15536%256;
   IE=0x82;
   TR0=1;
   count++;
   if(count==0x01)
   {count=0x00;dat=adc0832(CH);}}
無效樓層,該帖已經被刪除
ID:435674 發表于 2018-12-24 14:12
怎么檢測是AC還是DC
無效樓層,該帖已經被刪除
ID:445903 發表于 2018-12-20 12:39
點一個站 剛謝分享
ID:446454 發表于 2018-12-19 13:02
大佬我想問一下,這個能測量外電壓嗎
ID:390650 發表于 2018-9-17 19:31
不錯  試驗很成功
ID:308419 發表于 2018-7-10 13:17
很不錯的帖子,贊一個
ID:362243 發表于 2018-6-30 13:34
很不錯,很簡易的帖子。
ID:99130 發表于 2017-5-5 00:01
范圍多大

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表