標(biāo)題:
51單片機(jī)ADC0832數(shù)模轉(zhuǎn)換液晶顯示程序
[打印本頁]
作者:
JN0717
時(shí)間:
2022-5-13 17:15
標(biāo)題:
51單片機(jī)ADC0832數(shù)模轉(zhuǎn)換液晶顯示程序
#include <REGX52.H>
#include "LCD1602.h"
#include "Delay.h"
#include "ADC0832.h"
void main()
{
LCD_Init();
ADC0832_Init();
while(1)
{
Delay(200); //每二百毫秒掃描一次數(shù)據(jù)情況
LCD_ShowNum(2,2,getDaTa(),3);
}
}
復(fù)制代碼
#include <REGX52.H>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
//ADC0832綁定引腳
sbit ADCS=P1^3;
sbit ADDI=P1^5;
sbit ADCLK=P1^4;
/**
* @brief ADC083初始化,在程序的開頭調(diào)用
* @param 無
* @retval 無
*/
void ADC0832_Init()
{
ADCS=1;
}
/**
* @brief ADC083獲取無符號8位數(shù)據(jù)
* @param 無
* @retval 返回 usigned char 型數(shù)據(jù)
*/
uchar getDaTa()
{
uchar i=0;
uchar j;
uint dat=0;
uchar ndat=0;
ADDI=1;
_nop_();
_nop_();
ADCS=0;//拉低CS端
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿1
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=1; //選擇通道0
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿2
_nop_();
_nop_();
ADCLK=1;//拉高CLK端
ADDI=0; //選擇通道1
_nop_();
_nop_();
ADCLK=0;//拉低CLK端,形成下降沿3
ADDI=1;//控制命令結(jié)束
_nop_();
_nop_();
dat=0;
for(i=0;i<8;i++)
{
dat|=ADDI;//收數(shù)據(jù)
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次時(shí)鐘脈沖
_nop_();
_nop_();
dat<<=1;
if(i==7)dat|=ADDI;
}
for(i=0;i<8;i++)
{
j=0;
j=j|ADDI;//收數(shù)據(jù)
ADCLK=1;
_nop_();
_nop_();
ADCLK=0;//形成一次時(shí)鐘脈沖
_nop_();
_nop_();
j=j<<7;
ndat=ndat|j;
if(i<7)ndat>>=1;
}
ADCS=1;//拉低CS端
ADCLK=0;//拉低CLK端
ADDI=1;//拉高數(shù)據(jù)端,回到初始狀態(tài)
dat<<=8;
dat|=ndat;
return(dat); //return ad k
}
復(fù)制代碼
Keil代碼下載:
51單片機(jī)數(shù)模轉(zhuǎn)換液晶顯示.7z
(78.5 KB, 下載次數(shù): 30)
2022-5-14 02:05 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1