国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

藍(lán)橋杯單片機(jī) | 特訓(xùn)案例【進(jìn)階05】采樣光敏電阻與可調(diào)電阻的電壓

這篇具有很好參考價(jià)值的文章主要介紹了藍(lán)橋杯單片機(jī) | 特訓(xùn)案例【進(jìn)階05】采樣光敏電阻與可調(diào)電阻的電壓。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【1】題目要求

新建工程,以I/O模式編寫代碼,在CT107D單片機(jī)綜合訓(xùn)練平臺(tái)上,實(shí)現(xiàn)以下功能:

1、將IIC總線的底層驅(qū)動(dòng)代碼文件正確移植到工程中。

2、光敏電阻rd1接到PCF8591AIN1通道;可調(diào)電阻rb2接到PCF8591的AIN3通道。

3、系統(tǒng)上電后,循環(huán)采樣AIN1通道和AIN3通道的電壓,并將A/D轉(zhuǎn)換結(jié)果讀出,換算成對(duì)應(yīng)的實(shí)際電壓值,保留2位小數(shù),單位為V。

4、在數(shù)碼管上顯示采樣的實(shí)時(shí)電壓數(shù)值,顯示格式如圖所示,數(shù)碼管靠左端的三位,顯示AIN1通道,即采樣光敏電阻rd1的電壓數(shù)值,數(shù)碼管靠右端的三位,顯示AIN3通道,即采樣可調(diào)電阻rd3的電壓數(shù)值,沒有使用的數(shù)碼管熄滅。

藍(lán)橋杯單片機(jī) | 特訓(xùn)案例【進(jìn)階05】采樣光敏電阻與可調(diào)電阻的電壓

【小提示】:

IIC接口的基本原理,可見本博客:《【藍(lán)橋杯單片機(jī)進(jìn)階強(qiáng)化-01】IIC總線接口技術(shù)基礎(chǔ)》。

PCF8591的基本原理,可見本博客:《【藍(lán)橋杯單片機(jī)進(jìn)階強(qiáng)化-02】PCF8591的基本原理與A/D轉(zhuǎn)換應(yīng)用》

【2】核心源碼分析

/*==================藍(lán)橋杯單片機(jī)特訓(xùn)==================
【進(jìn)階05】:采樣光敏電阻與可調(diào)電阻的電壓
**平  臺(tái):CT107D單片機(jī)綜合實(shí)訓(xùn)平臺(tái)
**模  式:IO模式
**底層驅(qū)動(dòng)文件:2022年競(jìng)賽資源數(shù)據(jù)包提供的文件
**設(shè)  計(jì):歐浩源(小蜜蜂老師,ohy3686@qq.com)
**時(shí)  間:2022-04-01
**更多詳見:www.xmf393.com
====================================================*/

#include "reg52.h"
#include "iic.h"

//定義動(dòng)態(tài)顯示中單個(gè)數(shù)碼管點(diǎn)亮?xí)r長(zhǎng)
#define TSMG	500
//-------共陽(yáng)數(shù)碼管的段碼編碼表(無小數(shù)點(diǎn))--------
//0 1 2 3 4 5 6 7 8 9 A B C D E F - .
unsigned char code SMG_NoDot[18]={0xc0,0xf9,
	  0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
    0x88,0x80,0xc6,0xc0,0x86,0x8e,0xbf,0x7f};
//-------共陽(yáng)數(shù)碼管的段碼編碼表(帶小數(shù)點(diǎn))--------
//0. 1. 2. 3. 4. 5. 6. 7. 8. 9.
unsigned char code SMG_Dot[10]={0x40,0x79,
		0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
//-----------------------------------------------

unsigned char adc1_value = 0;		//AIN1的采樣數(shù)據(jù)
float adc1_volt = 0;				//AIN1的換算電壓
unsigned int smg1_volt = 0;			//AIN1的顯示電壓
unsigned char adc3_value = 0;		//AIN3的采樣數(shù)據(jù)
float adc3_volt = 0;				//AIN3的換算電壓
unsigned int smg3_volt = 0;			//AIN3的顯示電壓


/*====鎖存器設(shè)置和數(shù)碼管顯示的代碼參考前面的案例====*
//===================電壓值顯示函數(shù)===================
void DisplaySMG_ADC()
{
	//數(shù)碼管右起第0位
	DisplaySMG_Bit(7,SMG_NoDot[smg1_volt	% 10]);
	//數(shù)碼管右起第1位
	DisplaySMG_Bit(6,SMG_NoDot[(smg1_volt / 10) % 10]);		
	//數(shù)碼管右起第2位
	DisplaySMG_Bit(5,SMG_Dot[smg1_volt / 100]);				

	//數(shù)碼管右起第5位
	DisplaySMG_Bit(2,SMG_NoDot[smg3_volt	% 10]);
	//數(shù)碼管右起第6位
	DisplaySMG_Bit(1,SMG_NoDot[(smg3_volt / 10) % 10]);		
	//數(shù)碼管右起第7位
	DisplaySMG_Bit(0,SMG_Dot[smg3_volt / 100]);		
}
//===============PCF8591電壓采樣處理函數(shù)===============
unsigned char Read_PCF8591_ADC(unsigned char ain)
{
	unsigned char tmp;
	IIC_Start();					
	IIC_SendByte(0x90);		//PCF8591的寫設(shè)備地址 
	IIC_WaitAck();				
	if(ain == 1)
	{
		IIC_SendByte(0x01); //通道1,光敏電阻電壓
	}
	else if(ain == 3)
	{
		IIC_SendByte(0x03); //通道3,可調(diào)電阻電壓
	}		
	IIC_WaitAck();  						
	IIC_Stop(); 
	
	DisplaySMG_ADC();			//等待電壓轉(zhuǎn)換完成
	
	IIC_Start();									
	IIC_SendByte(0x91); 	//PCF8591的讀設(shè)備地址
	IIC_WaitAck(); 								
	tmp = IIC_RecByte(); 	//讀出AD采樣數(shù)據(jù)
	IIC_SendAck(1);			 	//產(chǎn)生非應(yīng)答信號(hào) 								
	IIC_Stop();
	return tmp;
}
//=============采樣光敏電阻和可調(diào)電阻的電壓=============
void Read_AIN1_AIN3()
{
	adc1_value = Read_PCF8591_ADC(1);
	adc1_volt = adc1_value * (5.0 / 255);
	smg1_volt = adc1_volt * 100;
	
	adc3_value = Read_PCF8591_ADC(3);
	adc3_volt = adc3_value * (5.0 / 255);
	smg3_volt = adc3_volt * 100;
}

【注】:更多關(guān)于藍(lán)橋杯單片機(jī)備賽內(nèi)容,詳見《藍(lán)橋杯單片機(jī)設(shè)計(jì)與開發(fā)》小蜜蜂特訓(xùn)手冊(cè),本站可下載,相關(guān)更多藍(lán)橋杯的案例完整源碼及學(xué)習(xí)備賽筆記,歡迎進(jìn)入?小蜜蜂筆記?公眾號(hào)。文章來源地址http://www.zghlxwxcb.cn/news/detail-412697.html

到了這里,關(guān)于藍(lán)橋杯單片機(jī) | 特訓(xùn)案例【進(jìn)階05】采樣光敏電阻與可調(diào)電阻的電壓的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 藍(lán)橋杯單片機(jī)客觀題之?dāng)?shù)電學(xué)習(xí)(深夜學(xué)習(xí)——單片機(jī))

    藍(lán)橋杯單片機(jī)客觀題之?dāng)?shù)電學(xué)習(xí)(深夜學(xué)習(xí)——單片機(jī))

    1、數(shù)字:\\\'0\\\'——0x30 2、字母:\\\'a\\\'——0x61;\\\'A\\\'——0x41 1、首位不變 2、從左到右,加上每一對(duì)相鄰的二進(jìn)制編碼位,從而得到下一個(gè)格雷碼位,舍去進(jìn)位 ?1、首位不變 2、新生成的二進(jìn)制碼加上下一位格雷碼得到下一位二進(jìn)制碼 1、小數(shù)部分的轉(zhuǎn)換方法應(yīng)該是先得到的是高位,后

    2023年04月09日
    瀏覽(91)
  • 藍(lán)橋杯單片機(jī)(六)PWM

    藍(lán)橋杯單片機(jī)(六)PWM

    本文內(nèi)出現(xiàn)的函數(shù)在其他文章有講: 藍(lán)橋杯單片機(jī)(一)流水燈 藍(lán)橋杯單片機(jī)(二)獨(dú)立按鍵 藍(lán)橋杯單片機(jī)(四)動(dòng)態(tài)數(shù)碼管 藍(lán)橋杯單片機(jī)(五)定時(shí)器 如圖所示,有三列方波在圖中,所謂PWM,就是指上述圖中的方波,波形在高電平和低電平不斷變化,只不過PWM的占空比可變,上圖就

    2023年04月14日
    瀏覽(24)
  • 藍(lán)橋杯單片機(jī)(三)矩陣按鍵

    藍(lán)橋杯單片機(jī)(三)矩陣按鍵

    上章說了獨(dú)立按鍵 藍(lán)橋杯單片機(jī)(二)獨(dú)立按鍵 這章說一下矩陣按鍵 所謂矩陣按鍵,就是每一個(gè)按鍵的兩端都同時(shí)由單片機(jī)的IO口進(jìn)行控制,如原理圖所示,上圖要想使用矩陣按鍵,就需要使用跳線帽將排針2引腳和1引腳連接在一起。 連接好了以后,這四排四列就可以看成四列

    2024年02月11日
    瀏覽(26)
  • 藍(lán)橋杯單片機(jī)第十三屆國(guó)賽客觀題(深夜學(xué)習(xí)——單片機(jī))

    藍(lán)橋杯單片機(jī)第十三屆國(guó)賽客觀題(深夜學(xué)習(xí)——單片機(jī))

    1.填空題 (2)不同的地址范圍: data:0x00-0xff idata:0x0000-0xffff xdata:0x0000-0xffff pdata:0x00-0xff code:0x0000-0xffff 2.選擇題 (3)模電——》多級(jí)放大電路 (6)DS18B20 (7)模電——》二極管 ?(8)單片機(jī) ? ? ?

    2024年02月11日
    瀏覽(92)
  • 51單片機(jī)藍(lán)牙模塊(HC05)運(yùn)行原理

    51單片機(jī)藍(lán)牙模塊(HC05)運(yùn)行原理

    在所有工作進(jìn)行之前首先看一看自己的藍(lán)牙模塊是否是正常的,這一步很重要。一塊正常的藍(lán)牙模塊是所有后續(xù)工作的基礎(chǔ)! 首先把藍(lán)牙模塊鏈接到51單片機(jī)上 這時(shí)需要注意?。?!我們需要將 藍(lán)牙模塊的RXD和單片機(jī)上的P30(RXD)引腳連接,將藍(lán)牙模塊的TXD和單片機(jī)上的P31(

    2023年04月08日
    瀏覽(40)
  • 藍(lán)橋杯單片機(jī) 第十二屆 國(guó)賽

    藍(lán)橋杯單片機(jī) 第十二屆 國(guó)賽

    藍(lán)橋杯第十二屆,模塊都比較常規(guī),感覺都和省賽差不多,主要是麻煩在數(shù)據(jù)處理上,而我們處理的數(shù)據(jù)又要在界面中顯示出來。 對(duì)比之前的第十屆,其實(shí)題目差不多,并且少了串口收發(fā)這一比較難的模塊。但是多了max,min,avg三個(gè)超聲波數(shù)據(jù)的處理。所以按道理時(shí)間方面應(yīng)該

    2023年04月08日
    瀏覽(90)
  • 藍(lán)橋杯單片機(jī) ——接收字符、字符串

    藍(lán)橋杯單片機(jī) ——接收字符、字符串

    ?1定時(shí)器中斷方法 (完整代碼在文末?。。??2.定時(shí)的方法(推薦): 藍(lán)橋杯單片機(jī)第十四屆第三次模擬題_讓我來瞅一瞅的博客-CSDN博客 定時(shí)器0——定時(shí)功能 ? ? ? ?判斷接受數(shù)據(jù)是否完成? 定時(shí)器1——串口功能 ? ? ? ? ? 接受、發(fā)送數(shù)據(jù) ? 1.接受、發(fā)送 均為文本模式

    2023年04月17日
    瀏覽(25)
  • 【Proteus仿真】【Arduino單片機(jī)】HC05藍(lán)牙通信

    【Proteus仿真】【Arduino單片機(jī)】HC05藍(lán)牙通信

    本項(xiàng)目使用Proteus8仿真Arduino單片機(jī)控制器,使用PCF8574、LCD1602液晶、HC05藍(lán)牙傳感器等。 主要功能: 系統(tǒng)運(yùn)行后,LCD1602顯示藍(lán)牙接收數(shù)據(jù)。 B站演示視頻:https://space.bilibili.com/444388619 視頻地址:https://space.bilibili.com/444388619/video 專注于51單片機(jī)、STM32、國(guó)產(chǎn)32、DSP、Proteus、ardu

    2024年04月16日
    瀏覽(18)
  • 【第十四屆藍(lán)橋杯單片機(jī)沖刺版】

    【第十四屆藍(lán)橋杯單片機(jī)沖刺版】

    明天就是正式比賽啦,今天可以在把各個(gè)模塊練習(xí)一遍,常考的外設(shè)相關(guān)代碼一定要熟練哦。 比賽時(shí)拿到資料包了,檢查驅(qū)動(dòng)文件,使用到的驅(qū)動(dòng)文件,自己做相應(yīng)的修改,確保是能夠正常使用(驅(qū)動(dòng)修改相關(guān)可看之前的文章)。 下面是自己將??嫉耐庠O(shè)結(jié)合一起的練習(xí),

    2023年04月27日
    瀏覽(90)
  • 藍(lán)橋杯單片機(jī)零基礎(chǔ)到國(guó)二經(jīng)驗(yàn)分享

    藍(lán)橋杯單片機(jī)零基礎(chǔ)到國(guó)二經(jīng)驗(yàn)分享

    ???????? 我參加的是第十三屆藍(lán)橋杯大賽,從最開始的零基礎(chǔ),毫無頭緒,到拿下國(guó)二,頗有體會(huì),在這里將我的備賽經(jīng)驗(yàn)分享給大家,希望可以幫到一些正在備賽的藍(lán)橋杯er 目錄 一.?藍(lán)橋杯-單片機(jī)組介紹 二 . 零基礎(chǔ)到國(guó)二歷程 ????????客觀題: ? ? ? ? 程序題:

    2024年02月03日
    瀏覽(91)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包