熱門(mén): 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂(lè)園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2018-8-16 14:10
正文摘要:剛開(kāi)始學(xué)習(xí)單片機(jī),這是我第一次做著玩的,希望別噴,所有模塊除了電源都買(mǎi)的成品,沒(méi)有畫(huà)圖.主要由外殼,LCD1602顯示屏, 4×4單線鍵盤(pán), DS3231時(shí)鐘模塊, STM8S103最小系統(tǒng)板,電源模塊,DS18B20溫度傳感器,4繼電器模塊組 ... |
/****************************************************************/ //設(shè)備初始化時(shí)序產(chǎn)生函數(shù)DS18B20_reset(),無(wú)形參和返回值 /****************************************************************/ void DS18B20_reset(void) { u8 x;//變量x用于取回總線電平狀態(tài) DS18B20_DQ_DDR(1);//改變DQ引腳方向性為輸出方式 DS18B20_DQ=1;//控制器首先應(yīng)為高電平狀態(tài) delay_u(910);//延時(shí)大約800us DS18B20_DQ=0;//控制器拉低總線發(fā)送復(fù)位脈沖 delay_u(910);//拉低時(shí)間大約800us DS18B20_DQ=1;//控制器釋放總線 delay_u(30);//DS18B20等待大約30us DS18B20_DQ_DDR(0);//改變DQ引腳方向性為輸入方式 delay_u(30);//等待DS18B20應(yīng)答脈沖大約30us x=PA_IDR_IDR3;//取回總線電平狀態(tài) <------ 這裡有問(wèn)題! while(x);//等待應(yīng)答脈沖出現(xiàn)低電平 <------ delay_u(900);//控制器等待至少480us } 應(yīng)該改為 : do { x=PC_IDR_IDR3;//取回總線電平狀態(tài) } while(x);//等待應(yīng)答脈沖出現(xiàn)低電平 |
帶注釋的寄存器操作易于初學(xué)者學(xué)習(xí)理解,值得初學(xué)者學(xué)習(xí)學(xué)習(xí)、 |
這個(gè)全帶注釋的不錯(cuò),得下載一個(gè)學(xué)習(xí)學(xué)習(xí) |
初學(xué)的好教材,謝謝分享!!! |
不錯(cuò),感謝分享。本人雖然年紀(jì)大點(diǎn),還是想學(xué)習(xí)一下STM8 |
THANKS |
本帖最后由 13931582522 于 2018-8-16 14:30 編輯 源碼,行行都有注釋,采用的寄存器編程 |
Powered by 單片機(jī)教程網(wǎng)