8位單片機(jī)中的經(jīng)典之作,51單片機(jī)使用心得分享
發(fā)布時(shí)間:2016-09-08 責(zé)任編輯:susan
【導(dǎo)讀】雖然現(xiàn)在16位32位的單片機(jī)越來越多,但51單片機(jī)依然是8位單片機(jī)中的經(jīng)典之作。這是對所有兼容Intel 8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱,該系列的始祖是Intel的8004單片機(jī),后來隨著Flash rom技術(shù)的發(fā)展,8004單片機(jī)取得了長足的進(jìn)展,成為應(yīng)用最廣泛的8位單片機(jī)之一。
在這里給大家分享一下學(xué)習(xí)51單片機(jī)心得體會(huì):
1、我從不說51是基礎(chǔ),如果我這么說,也請把這句話理解為微機(jī)原理是基礎(chǔ)。
2、對51單片機(jī)的操作本質(zhì)上就是對寄存器的操作,對其他單片機(jī)也是如此。庫只是一個(gè)接口,方便使用者使用而已。
3、匯編語言在工作中很少用到,了解就好。
4、51單片機(jī)的P0口很特別。
5、C語言就是C語言,51單片機(jī)就是51單片機(jī),算法就是算法,外圍電路就是外圍電路,傳感器就是傳感器,通信器件就是通信器件,電路圖就是電路圖,PCB圖就是PCB圖,仿真就是仿真。
當(dāng)你以后再也不使用51了,C語言的知識(shí)還在,算法的知識(shí)還在,搭建單片機(jī)的最小系統(tǒng)的技能還在,傳感器和通信器件的使用方法還在,還會(huì)畫電路圖和PCB圖,當(dāng)然也會(huì)仿真。
6、51單片機(jī)是這個(gè):
7、當(dāng)程序調(diào)試不如人意的時(shí)候,靜下心來好好查資料,51單片機(jī)最大的好處就是網(wǎng)上資料非常多,你遇到的問題別人肯定也遇到過。作為學(xué)習(xí)者,問人可能更方便點(diǎn),但一直這樣是培養(yǎng)不出解決問題的能力的。
8、有些單片機(jī)初學(xué)者覺得看例程不好,覺得就等于看答案一樣有罪惡感。其實(shí)對初學(xué)者來說,看例程理解例程再看例程的注解是最好的學(xué)習(xí)途徑。做實(shí)驗(yàn)做課程設(shè)計(jì)做參賽作品的時(shí)候也是可以移植程序的,不需要自己重新實(shí)現(xiàn)。(當(dāng)然老師布置的作業(yè)還是獨(dú)立完成好)
但是,要清楚,移植程序不等于學(xué)習(xí)單片機(jī),最重要的是知道例程是怎樣的框架及實(shí)現(xiàn)方法。初始化了哪些寄存器,做了哪些引腳配置,調(diào)用了哪些函數(shù),那些函數(shù)又是怎么實(shí)現(xiàn)的,設(shè)置了哪些中斷,用到了哪些片上資源(UART、ADC等),查詢了哪些狀態(tài),如果狀態(tài)變化(觸發(fā)事件)又會(huì)做些什么等等。由此整理出一個(gè)流程圖并知道其實(shí)現(xiàn)方式,基本上這個(gè)例程就學(xué)習(xí)得差不多了。
總結(jié)51單片機(jī)之上拉電阻
(1) 用于為OC和OD門電路,提供驅(qū)動(dòng)能力。
以O(shè)C(集電極開路)電路為例:
例如,達(dá)林頓管(其實(shí)就是復(fù)合三級(jí)管)集成塊ULN2003. 內(nèi)部一路的電路如圖,就是一個(gè)集電極開路電路。
如果不加上拉電阻是無法高電平驅(qū)動(dòng)其他器件的。因?yàn)楫?dāng)三極管截至市沒有電流流通的路徑,更談不上驅(qū)動(dòng)了。這個(gè)跟單片機(jī)P0口加上拉電阻的原理一樣。
(2)提高高電平電位:
單片機(jī)P1口外接4×4矩陣鍵盤。另外復(fù)用P1.0~P1.3外接ULN2003控制驅(qū)動(dòng)步進(jìn)電機(jī)。
實(shí)驗(yàn)中遇到的問題:當(dāng)接入U(xiǎn)LN2003時(shí)鍵盤無法工作,去掉ULN2003后鍵盤工作正常。ULN2003工作正常。(注,兩個(gè)部分不同時(shí)工作)
問題分析:由于鍵盤的結(jié)構(gòu),無非就是兩個(gè)金屬片的接通或斷開。但是接入U(xiǎn)LN2003 后無法正常工作,說明是接入U(xiǎn)LN2003影響到了P1口電平的變化。用萬用表測的電壓,當(dāng)單片機(jī)輸出高電平時(shí),P1.0~P1.3電壓1V左右,P1.4~P1.7電壓4.3V左右,于是測AT89s52高低電平的判決電位,在1.3V左右。這樣P1.0~P1.3始終是低電平,鍵盤根本無法實(shí)現(xiàn)掃描功能。
解決方法,只要抬高P1口高電平時(shí)的電位,就可以正常工作,
1. 在P1口到ULN2003上串接電阻,起到分壓的作用,就可以抬高電平。
2. 給P1口接上拉電阻,跟P1口內(nèi)部電阻并聯(lián),減小上拉電阻阻值,減小分得的電壓,從而抬高P0口高電平電位。
采用第二種方案可以抬高電平到2.5V左右。鍵盤工作正常。
另外:我在做液晶顯示實(shí)驗(yàn)的時(shí)候,數(shù)據(jù)線用的P0口,無法正常工作,不顯示字符。但是亂動(dòng)一下數(shù)據(jù)線就可以完成顯示,但是顯示現(xiàn)象并不正常,字符不是一次寫入,而是亂動(dòng)幾次才能寫完全部內(nèi)容,正常應(yīng)該一次全部顯示 。原因是由于,我的P0口中有六個(gè)端口都外接并聯(lián)三個(gè)發(fā)光二極管。,因?yàn)閺馁Y料上查到,P0口每一個(gè)端口最大可以吸收10MA電流,總電流不能超過26MA電流。這樣算我的總電流已經(jīng)到了40MA,呵呵。見笑了。所以懷疑是驅(qū)動(dòng)的問題。于是去掉了幾個(gè)二極管。顯示一切正常。似乎問題已經(jīng)解決,但總覺得還是有點(diǎn)問題,于是又經(jīng)過幾次試驗(yàn),發(fā)現(xiàn)只有當(dāng)P0.7端口的并聯(lián)二極管去掉一個(gè),再在其他端口接上一個(gè)發(fā)光二極管。此時(shí)也可以正常顯示。但是這樣P0口吸收電流在38MA,也超過了26MA不少。所以不是吸收電流太大的問題。仔細(xì)分析當(dāng)端口并聯(lián)外接三個(gè)二極管的時(shí)候等效于加了一個(gè)700歐左右的電阻,于是把二極管去掉換成一個(gè)1k電阻,液晶也無法顯示。
經(jīng)過仔細(xì)分析,我認(rèn)為,由于P0.7是液晶忙信號(hào)的返回線路當(dāng)這個(gè)端口返回高電平時(shí)說明,液晶正在處理數(shù)據(jù),無法接收新的數(shù)據(jù),返回0時(shí)說明空閑,可以接收新數(shù)據(jù)。
這樣當(dāng)上拉電阻太小了,液晶返回低電平時(shí)就有可能高過1.3V(AT89s52高低電平的判決電位),單片機(jī)接收到后,不會(huì)當(dāng)作低電平,當(dāng)然也就無法顯示了。(程序設(shè)計(jì)的時(shí)檢測到忙信號(hào),繼續(xù)檢測)
總結(jié):上拉電阻選擇也有要求,既不是越高越好也不是越低越好。根據(jù)需要選擇。
特別推薦
- AMTS 2025展位預(yù)訂正式開啟——體驗(yàn)科技驅(qū)動(dòng)的未來汽車世界,共迎AMTS 20周年!
- 貿(mào)澤電子攜手安森美和Würth Elektronik推出新一代太陽能和儲(chǔ)能解決方案
- 功率器件熱設(shè)計(jì)基礎(chǔ)(六)——瞬態(tài)熱測量
- 貿(mào)澤開售Nordic Semiconductor nRF9151-DK開發(fā)套件
- TDK推出用于可穿戴設(shè)備的薄膜功率電感器
- 日清紡微電子GNSS兩款新的射頻低噪聲放大器 (LNA) 進(jìn)入量產(chǎn)
- 中微半導(dǎo)推出高性價(jià)比觸控 MCU-CMS79FT72xB系列
技術(shù)文章更多>>
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗(yàn)法則?
- 智能電池傳感器的兩大關(guān)鍵部件: 車規(guī)級(jí)分流器以及匹配的評估板
- 功率器件熱設(shè)計(jì)基礎(chǔ)(八)——利用瞬態(tài)熱阻計(jì)算二極管浪涌電流
- AHTE 2025展位預(yù)訂正式開啟——促進(jìn)新技術(shù)新理念應(yīng)用,共探多行業(yè)柔性解決方案
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索