欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
STC15f2k60s2單片機將2.5v模擬電壓AD轉換為8位二進制數用LED燈顯示,求思路
[打印本頁]
作者:
lilili964
時間:
2019-10-10 22:01
標題:
STC15f2k60s2單片機將2.5v模擬電壓AD轉換為8位二進制數用LED燈顯示,求思路
如題
作者:
小貓要吃魚
時間:
2019-10-11 08:38
這個沒有什么思路,按照硬件一步步通過編程實現;
首先要把硬件搭建好,然后再寫程序,調試
作者:
遲遲不離去
時間:
2019-10-11 15:38
LED燈是LED數碼管嗎??? 如果是LED數碼管的話我建議:
作者:
遲遲不離去
時間:
2019-10-11 15:41
前邊的那個是我按錯了 還沒打完就發出去了
如果是LED數碼管顯示的話
你可以先把數碼管顯示程序寫好
然后調用ADC的寄存器
處理ADC的數據
接著將ADC的值轉換為整數型然后在數碼管上顯示
作者:
wulin
時間:
2019-10-11 17:27
本帖最后由 wulin 于 2019-10-14 19:43 編輯
供樓主參考
#include <STC15F2K60S2.H>
#include <intrins.h>
typedef unsigned char BYTE;
typedef unsigned int WORD;
#define ADC_POWER 0x80 //ADC電源控制位
#define ADC_FLAG 0x10 //ADC完成標志
#define ADC_START 0x08 //ADC起始控制位
#define ADC_SPEEDLL 0x00 //CPU等待540個時鐘
/*----------------------------
軟件延時
----------------------------*/
void Delay(WORD n)
{
WORD x;
while (n--)
{
x = 5000;
while (x--);
}
}
/*----------------------------
初始化ADC
----------------------------*/
void InitADC()
{
P1M1 = 0x01; //設置P1.0高阻
P1M0 = 0x00; //設置P1.0高阻
P1ASF = 0x01; //設置P1.0口為ADC口
ADC_RES = 0; //清除結果寄存器
ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
Delay(2); //ADC上電并延時
}
/*----------------------------
讀取ADC結果
----------------------------*/
BYTE GetADCResult(BYTE ch)
{
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;
_nop_(); //等待4個NOP
_nop_();
_nop_();
_nop_();
while (!(ADC_CONTR & ADC_FLAG));//等待ADC轉換完成標志置1
ADC_CONTR &= ~ADC_FLAG; //清0 ADC轉換完成標志
return ADC_RES; //返回8位ADC結果
}
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1