專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

Adc0831(模數(shù)轉(zhuǎn)化)驅(qū)動(dòng)程序

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年02月25日   【字體:

一個(gè)這么簡(jiǎn)單的程序阿飛發(fā)了兩個(gè)小時(shí)才搞定。。。。已經(jīng)測(cè)試通過,端口只需直接修改即可使用在你的應(yīng)用中去.

驅(qū)動(dòng)波形(一個(gè)起始位0 +8個(gè)數(shù)據(jù)位(低先)

#include<reg51.h>

#define uchar unsigned char

sbit cs=P3^4;

sbit clk=P3^5;

sbit out=P3^7;

char adc0831()      //12m  運(yùn)行270us  size 78byte

{

char n,dat=0x00;

cs=1;clk=1;out=1;

cs=0;

for(n=0;n<5;n++) ;//延時(shí)

clk=0;

for(n=0;n<5;n++) ;//延時(shí)

clk=1;

for(n=0;n<8;n++)

  {

    clk=0;;

    if(out==1) dat=dat|(0x1<<(7-n));

    else  dat=dat|(0x00<<(7-n)); //這行可省但讀高低電平的時(shí)間不一樣如上圖

    clk=1;;

  }

   cs=1;

   return dat;

  }

main()

{

while(1)

{

P1=adc0831();

}

} 
關(guān)閉窗口

相關(guān)文章