找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 1649|回復(fù): 1
收起左側(cè)

按鍵數(shù)字增加送顯并且將數(shù)字DA轉(zhuǎn)換從而在電壓表顯示

[復(fù)制鏈接]
ID:396798 發(fā)表于 2018-9-12 09:03 | 顯示全部樓層 |閱讀模式
#include<reg52.h>
#include<intrins.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define DAC0832 XBYTE[0X7FFF]   //DAC0832在系統(tǒng)中的地址為0X7FFF
#define uchar unsigned char
#define uint unsigned int
  sbit dula=P2^6;
  sbit wela=P2^7; //聲明數(shù)碼管鎖存器
  sbit key1=P2^0;
  sbit key2=P2^1;
  sbit key3=P2^2;  //聲明3個(gè)按鍵
  sbit dacs=P3^2;
  sbit dawr=P3^6;  //聲明da端口
  sbit beep=P2^4;
  uchar t,num,flag;
  uchar code table[]={0x3f,0x06,0x5b,0x4f,
                                                0x66,0x6d,0x7d,0x07,
                                                0x7f,0x6f,0x77,        0x7c,
                                                0x39,0x5e, 0x79,0x71}; //編碼數(shù)碼管字符
  void delay(uint y)        //延時(shí)ms子函數(shù)
  {
          uint i,j;
        for(i=y;i>0;i--)
                for(j=120;j>0;j--);
  }
void delayus(uint b)    //延時(shí)μS子函數(shù)
{
        while(b--)
                _nop_();
}
  void display(uchar numdis)
  {
          uchar shi,ge;
        shi=numdis/10 ;
        ge=numdis%10;            //分離個(gè)位 十位


    dula=1;
        P1=table[shi];
        dula=0;       
        wela=1;
        P1=0xfe;
        delay(5);
        wela=0;
        P1=0x00;
        delay(10);        //送十位數(shù)據(jù)


        dula=1;
        P1=table[ge];
        dula=0;       
        wela=1;
        P1=0xfd;
        delay(5);
        wela=0;   
        P1=0x00;
    delay(10);  //送個(gè)位數(shù)據(jù)
  }       

  void init()                            //初始化函數(shù)
  {
          TMOD=0X01;
        TH0=(65336-50000)/256;
        TL0=(65336-50000)%256;          //50ms 中斷一次
        EA=1;
        ET0=1;
  }                                                       

  void keyscan()
  {
          if(key1==0)                             //按下k1,自動(dòng)加一
        {
                delay(10);
                if(key1==0)
                {
                while(key1)
                {beep=1;}                           //當(dāng)一直按下,蜂鳴器響
                flag=1;
                TR0=1;
                while(!key1);
                }
        }
        if(key2==0)                           //按下k2,自動(dòng)減一
        {
                delay(10);
                if(key2==0)
                {
                while(key2)
                {beep=1;}                    //當(dāng)一直按下,蜂鳴器響
                flag=0;
                TR0=1;
                while(!key2);
                }
        }
         if(key3==0)                  //  按下k3,暫停
        {
                delay(10);
                if(key3==0)
                {
                while(key3)
                {beep=1;}            //當(dāng)一直按下,蜂鳴器響
                TR0=0;
                while(!key2);
                }
        }
  }
   void main()
   {
                   init();                //初始化函數(shù)
                while(1)
                {
                        dacs=0;
                        dawr=0;
                        P0=0;
                        keyscan();
                        display(num);
                DAC0832 =num;
                          delayus(10);
                }
        }
void T0_time()interrupt 1
  {
                TH0=(65336-500)/256;
                TL0=(65336-500)%256;   //重裝初值
                t++;
                if(t==20)                //20次為1s
                {
                if(flag        ==1)
                {
                        num++;
                        if(num==99)
                        num=0;
                }
                if(flag==0)         
                {
                        num--;
                           if(num==0)
                        num=99;       
                }
               
                }
  }


回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2018-9-12 16:23 | 顯示全部樓層
需要補(bǔ)全原理圖或者詳細(xì)說明一下電路連接即可獲得100+黑幣
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表