一個(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(); } }