欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
用51單片機(jī)+xpt2046將電位器上的模擬電壓轉(zhuǎn)換成分辨率為12位的數(shù)字信號(hào)
[打印本頁(yè)]
作者:
tiantian97
時(shí)間:
2018-7-10 08:46
標(biāo)題:
用51單片機(jī)+xpt2046將電位器上的模擬電壓轉(zhuǎn)換成分辨率為12位的數(shù)字信號(hào)
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
unsigned char smgnumber[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, //數(shù)碼管
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uint i,j;
uchar qian,bai,shi,ge ;
uint number ;
sbit AA=P2^2;
sbit BB=P2^3;
sbit CC=P2^4;
sbit DIN=P3^4; // 控制字 輸入端口
sbit CS=P3^5; //xpt2046芯片使能端,低電平有效
sbit CLK=P3^6; //芯片時(shí)鐘輸入端,在時(shí)鐘上升沿或下降沿進(jìn)行數(shù)據(jù)輸入或輸出
sbit DOUT=P3^7; //芯片ad轉(zhuǎn)換后 數(shù)字量輸出口,串行輸出
void delayms(uint);
void display(uint);
void SPI_write (uchar);
void SPI_read();
void main ()
{
while (1)
{
CLK=0;
CS=0;
SPI_write(0X94); //輸入控制字 0X94
for(i=6;i>0;i--); // 延遲一丁點(diǎn),等待轉(zhuǎn)換結(jié)果
CLK=1;_nop_();_nop_(); //看時(shí)序圖需延遲一個(gè)時(shí)鐘周期
CLK=0;_nop_();_nop_();
SPI_read ();
CS=1;
display (number) ;
}
}
void delayms(uint t)
{
for(i=t;i>0;i--)
for(j=110;j>0;j--);
}
void display (uint number1)
{
qian= number1/1000;
bai=number1%1000/100;
shi=number1%100/10;
ge=number1%10;
CC=0,BB=0,AA=0; //數(shù)碼管顯示 ad轉(zhuǎn)化后的數(shù)字量
P0=smgnumber[ge];
delayms(5);
P0=0;
CC=0,BB=0,AA=1;
P0=smgnumber[shi];
delayms(5);
P0=0;
CC=0,BB=1,AA=0;
P0=smgnumber[bai];
delayms(5);
P0=0;
CC=0,BB=1,AA=1;
P0=smgnumber[qian];
delayms(5);
P0=0;
}
void SPI_write (uchar controlword)
{
uchar m;
CLK=0;
for (m=0;m<8;m++)
{
DIN=controlword>>7; //控制位最高位賦給 DIN輸入口
controlword = controlword<<1 ; //將控制字次高位變?yōu)樽罡呶?br /> CLK=0; //串行輸入,時(shí)鐘上升沿將控制字一位一位的輸入到芯片。
CLK=1;
}
}
void SPI_read ()
{
uchar n;
CLK=0;
number=0; ////注意!!!!這點(diǎn)清零很重要,number是全局變量,如果不清0,
//下次再進(jìn)行移位的時(shí)候運(yùn)算的結(jié)果得不到我們想要的
for(n=0;n<12;n++)
{
number = number<<1; // number 定義的是全局變量,不賦初值的話全局變量默認(rèn)初值為0
CLK=1; //時(shí)鐘下降沿 把一位數(shù)據(jù) 從DOUT口 輸出
CLK=0;
number = number | DOUT ; // number 和 DOUT這個(gè)串行輸出口 進(jìn)行或運(yùn)算,實(shí)現(xiàn)DOUT端口的值賦給number
//十二個(gè)周期后,ad轉(zhuǎn)換的12位數(shù)字量全部附給了number
n
}
}
作者:
偉云科技
時(shí)間:
2020-4-30 10:58
前來(lái)學(xué)習(xí),謝謝分享
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1