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

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)ADC0804采樣代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1030245 發(fā)表于 2022-5-29 13:33 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  #include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit wr=P3^6;
sbit rd=P3^7;
sbit cs=P3^5;
uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共陰數(shù)碼管碼表
uchar s,g,f,l,x;//數(shù)碼管顯示變量
float A;






uint  K;
void delay(uint);
void adc();
void adc()
{
    //啟動(dòng)ADC0804采樣//   
   cs=0;wr=0;rd=1;
    delay(50);
    cs=1;wr=1;rd=1; //WR由低到高時(shí),AD開(kāi)始轉(zhuǎn)換
    delay(100);
    //讀AD數(shù)值//
    cs=0;wr=1;rd=0;//讀取轉(zhuǎn)換數(shù)據(jù)結(jié)果
    delay(50);
    A=P1;//P1的新數(shù)據(jù)賦值給adval,用于數(shù)碼管顯示的s g f的分離
        A=A*144/256;
    K=P1*144/256;
    cs=1;wr=1;rd=1;//停止AD讀取
}
void main()
{
uint s,g,f,l,x;
   while(1)
    {
        adc();

        s=K/10;
        l=s/10;
        x=s%10;
     g=K%10;
     f=(A-K)*10;
     P2=0XFE; //11111110 選中十位數(shù)碼管
     P0=tab[l]; //顯示
     delay(50);
         P2=0XFD; //11111110 選中十位數(shù)碼管
     P0=tab[x]; //顯示
     delay(50);
     P2=0XFB; //11111101 選中個(gè)位數(shù)碼管
     P0=tab[g]+0x80; //顯示
     delay(50);      




P2=0XF7;//11111011 選中小數(shù)點(diǎn)后數(shù)碼管
     P0=tab[f]; //顯示
     delay(50);
    }
}
void delay(uint m)//延時(shí)子程序,約500個(gè)機(jī)器周期
{
        while(m--);}

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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