久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STC12C5A60S2單片機使用ADC讀取IO電壓用OLED顯示程序
[打印本頁]
作者:
嗨嗨害
時間:
2023-5-1 18:40
標題:
STC12C5A60S2單片機使用ADC讀取IO電壓用OLED顯示程序
使用STC12C5A60S2讀取IO口0~5V的電壓使用0~255范圍表示電壓范圍
P0^6 SCLP0^7
SDAP1.0
ADC 通道0P1.1 ADC 通道1
單片機源程序如下:
//P0^6 SCL
//P0^7 SDA
//P1.0 ADC 通道0
//P1.1 ADC 通道1
#include <STC12C5A60S2.H>
#include <intrins.h>
#include <oled.h>
#define uchar unsigned char
#define uint unsigned int
/*聲明ADC相關寄存器 */
//sfr ADC_CONTR = 0xBC; //ADC 控制寄存器
//sfr ADC_RES = 0xBD; //ADC 高8位結果寄存器
//sfr ADC_LOW2 = 0xBE; //ADC 低2位結果寄存器
//sfr P1ASF = 0x9D; //P1 輔助控制寄存器
/*ADC操作的一些宏定義*/
#define ADC_POWER 0x80 //ADC power control bit
#define ADC_FLAG 0x10 //ADC complete flag
#define ADC_START 0x08 //ADC start control bit
#define ADC_SPEEDLL 0x00 //420 clocks
#define ADC_SPEEDL 0x20 //280 clocks
#define ADC_SPEEDH 0x40 //140 clocks
#define ADC_SPEEDHH 0x60 //70 clocks
void DelayUs2x(unsigned char t)
{
while(--t);
}
void DelayMs(unsigned char t)
{
while(t--)
{
//大致延時1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
/**********************************************
*函數名稱:InitADC()
*函數功能:初始化ADC
*輸入:無
*返回:無
**********************************************/
void InitADC()
{
P1ASF = 0xf0; //開啟8路ADC功能 1111 0000
ADC_RES = 0; //清楚之前的結果
ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
DelayMs(2); //ADC上電和延時
}
/**************************************
函數名稱:GetADCResult(unsigned int ch)
功能描述:讀取AD
入口參數:unsigned int ch 輸入0-7分別讀取AD0-AD7值
返回值:無
***************************************/
unsigned char GetADCResult(unsigned char ch)
{
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;
_nop_(); //查詢前必須等待
_nop_();
_nop_();
_nop_();
while (!(ADC_CONTR & ADC_FLAG));//等待完成標志
ADC_CONTR &= ~ADC_FLAG; //關閉 ADC
return ADC_RES; //返回ADC結果
}
void main()
{
unsigned char temp , T ;
unsigned int a ,b ,c, d;
InitADC();//ADC初始化
OLED_Init();//初始化OLED
OLED_ColorTurn(0);//0正常顯示,1 反色顯示
OLED_DisplayTurn(1);//0正常顯示 1 屏幕翻轉顯示
while(1)
{
temp = GetADCResult(0);
T = GetADCResult(1);
a = (temp / 1000 );//打印千位
b = (temp % 1000 / 100 );//打印百位
c = (temp % 100 / 10 );//打印十位
d = (temp % 10 );//打印個位
DelayMs(100);
OLED_ShowString(53,2,"temp:",8);
OLED_ShowNum(86,2,temp,3,8);
OLED_ShowString(53,1,"T:",8);
OLED_ShowNum(86,1,T,3,8);
// OLED_ShowString(53,0,"a:",8);
// OLED_ShowNum(86,0,a,3,8);
//
// OLED_ShowString(53,1,"b:",8);
// OLED_ShowNum(86,1,b,3,8);
//
// OLED_ShowString(53,2,"c:",8);
// OLED_ShowNum(86,2,c,3,8);
}
}
復制代碼
Keil代碼下載:
試驗.rar
(61.67 KB, 下載次數: 52)
2023-5-1 18:36 上傳
點擊文件名下載附件
源代碼
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美日韩久久
|
久草免费在线视频
|
三区在线
|
久久精品a级毛片
|
国产三区视频在线观看
|
亚洲精品久久久一区二区三区
|
av性色全交蜜桃成熟时
|
久久国产成人
|
亚洲精品二区
|
51ⅴ精品国产91久久久久久
|
国产黄色在线观看
|
国产精品免费小视频
|
在线精品一区
|
av免费观看网站
|
免费亚洲网站
|
91国产精品在线
|
夜夜夜操
|
免费一级片
|
国产精品夜间视频香蕉
|
91在线观看
|
日韩一区二区三区在线
|
www亚洲精品
|
亚洲一区 中文字幕
|
黄色91在线
|
九一视频在线播放
|
热99视频
|
久久久久久国产精品
|
国产中文一区二区三区
|
久久人体视频
|
中文字幕久久精品
|
亚洲综合资源
|
人人看人人搞
|
福利视频网址
|
欧美日韩毛片
|
日韩精品久久久久
|
美国十次成人欧美色导视频
|
亚洲综合在线视频
|
91久久久久久久
|
国产福利在线
|
免费看一区二区三区
|
在线成人一区
|