1. 單片機的使用方法
傳統51單片機IO介面只可以作為標准雙向IO介面,如果用其來驅動LED只能用灌電流的方式或是用三極體外擴驅動電路。
點擊放大圖片
灌電流方式:LED正極接VCC,負極接IO口。IO為高電平是LED兩極電平相同,沒有電流,LED熄滅;IO為低電平時,電流從VCC流入IO,LED點亮。但是當你吧LED正極接在IO介面,負極接GND時,將IO介面置於高電平,LED會亮,但因為IO介面上拉能力不足而使亮度不理想,可以用下面介紹的方式解決這個問題。
推挽工作方式:LED正負極分別接在兩個IO口上,然後設置正極IO介面為推挽輸出,負極IO介面為標准雙向灌電流輸入。推挽方式具有強上拉能力,可以實現高電平驅動LED。
IO口的四種使用方法
從I/O口的特性上看,標准51的P0口在作為I/O口使用時,是開漏結構,在實際應用中通常要添加上拉電阻;P1、P2、P3都是准雙向I/O,內部有上拉電阻,既可作為輸入又可以作為輸出。而LPC900系列單片機的I/O口特性有一定的不同,它們可以被配置成4種不同的工作模式:准雙向I/O、推挽輸出、高阻輸入、開漏。
准雙向I/O模式與標准51相比,雖然在內部結構上是不同的,但在用法上類同,比如要作為輸入時都必須先寫「1」置成高電平,然後才能去讀引腳的電平狀態。!!!!!為什麼是這樣子?見下面分析。
推挽輸出的特點是不論輸出高電平還是低電平都能驅動較大的電流,比如輸出高電平時可以直接點亮LED(要串聯幾百歐限流電阻),而在准雙向I/O模式下很難辦到。
高阻輸入模式的特點是只能作為輸入使用,但是可以獲得比較高的輸入阻抗,這在模擬比較器和ADC應用中是必需的。
開漏模式與准雙向模式相似,但是沒有內部上拉電阻。開漏模式的優點是電氣兼容性好,外部上拉電阻接3V電源,就能和3V邏輯器件介面,如果上拉電阻接5V電源,又可以與5V邏輯器件介面。此外,開漏模式還可以方便地實現「線與」邏輯功能。
對於上面疑問的解釋,有這樣一個資料:
高阻態這是一個數字電路里常見的術語,指的是電路的一種輸出狀態,既不是高電平也不是低電平,如果高阻態再輸入下一級電路的話,對下級電路無任何影響,和沒接一樣,如果用萬用表測的話有可能是高電平也有可能是低電平,隨它後面接的東西定。
電路分析時高阻態可做開路理解。你可以把它看作輸出(輸入)電阻非常大。他的極限可以認為懸空。
高阻態的典型應用:
1、在匯流排連接的結構上。匯流排上掛有多個設備,設備與匯流排以高阻的形式連接。這樣在設備不佔用匯流排時自動釋放匯流排,以方便其他設備獲得匯流排的使用權。
2、大部分單片機I/O使用時都可以設置為高阻輸入,如凌陽,AVR等等。高阻輸入可以認為輸入電阻是無窮大的,認為I/O對前級影響極小,而且不產生電流(不衰減),而且在一定程度上也增加了晶元的抗電壓沖擊能力。
2. 電子信息工程單片機的疑問
如果你們學的是匯編,那麼只需要了解一些基本原理就行,以後去公司,企業都是用C語言做項目,而且單片機作為比較簡單的東西現在也就豆漿機那些企業在用了,稍微先進點的都在用ARM、DSP、FPGA這些做項目,基本也都是類似平板電腦,智能家居,智能儀表這樣的一些領域,工業上都還是在用PLC做機械繫統、自動化生產線的控制,看你以後的發展了,對軟體方向感興趣,單片機入個門就行,以C語言為核心,可以再學一下AVR,再弄塊OK6410的ARM開發板學學C++、QT,操作系統會Linux什麼的就行。這里有一篇周立功的文章,我覺得不錯,希望對你能有一些啟示:
周立功寫給學單片機的年輕人
作為過來人思前想後,我感到完全有責任將發自心底的感受傳遞給年輕一代,「一個企業家心靈深處渴望優秀人才的卓越追求和深層次的嘆息、痛苦和感受」。您們千萬不要等到畢業求職時才覺得自己能力太差,世界上從來就沒有後悔葯。當然,如果您現在看了我寫的這篇文章可能還不算晚,因為您還有機會在以後的歲月里奮起直追——「亡羊補牢,尤未為晚」。對於現在剛進入大學的學生,您應該更加珍惜這美好的求學機會,因為眨眼之間幾年就過去了,您很快就會感到來自全社會生存競爭的壓力,您面臨的對手再也不僅僅是您身邊的同學,今天您在班上的成績的確是前幾名,但一走到社會上去才感到是多麼地脆弱而又多麼地不堪一擊。
在面試大多數本科生時,我僅僅是詢問了一些有關MCS-51 系列單片機的基本原理,但卻幾乎很少有人能夠完全答對,簡直是五花八門。很多作為一個即將畢業的自動化專業本科生,至今還不知道單片機是這個專業的核心基礎,難道不可悲嗎?您的水平不高我完全心中有底,其實我只要求這些學生能夠掌握單片機應用開發的基本技能,用匯編和C51 寫過一些基本的程序,真正動手做過一些簡單的項目,然後將自己做過的項目寫成比較規范的文檔。我想,這種形式的「自我介紹」肯定要比讓別人看您那寫的千遍一律的「八股文」簡歷不知要強多少倍,古人言:「一葉知秋」其實講的就是這個道理。平心而論只有具備這樣基礎的學生才配得上企業花錢對您進行二次「開發」 事實上,很多學生根本就不管老師平時是多麼地勸導都聽不進去,我認為您只要平時善於做一個有心人,主動一些多找老師請教,然後從大三開始幫老師打打下手干一些活。還有一個途徑就是自己花錢購買一些學習開發實驗板,加強動手能力的訓練。但也有很多學生說沒有錢,可事實上並非如此,現在的學生購買手機成風,我不知道手機對您們現在來說到底有多大的用途?事實上,現在的學生家庭條件普遍都不太好,可這些孩子們的攀比心裡卻十分地嚴重和可怕。到今天即將畢業之際才感到找工作太難。父母一個子兒地攢下一些辛苦錢給您購買電腦容易嗎?「望子成龍――可憐天下父母心」!他們是希望您能夠學到一些真本事,而您可能很多時間都在玩游戲,上網聊天,實際上對於您來說僅僅是舉手之勞,只要花幾百元買一塊實驗板,辛苦一個暑假的時間強化實踐,可能您就會與眾不同。與此同時,可能您的信心大增,前途一片光明。俗話說得好:倉庫有糧,心中不慌!如果您平時沒有準備,那麼臨時匆匆忙忙地上陣面試肯定是要敗下來的。從2003 年開始是全國第一次擴招之後畢業人數最多的第一年,以後的畢業生還會更多,同時還有更多的研究生與本科生搶飯碗,面對就業的困境壓力不能說不大,痛苦在其中。還有就是我每天都要面臨那些看不完的自我介紹簡歷,很可惜幾乎都是清一色的「八股文」令人討厭。其實只要您的成績不是太差,分數不是應聘成功的關鍵,重要的是做人要踏實,不要有水分,實際上,只要將您平時做過的小製作寫成一篇心得,再帶上您的作品,「事實勝於雄辯」這樣更能打動人。還有很多經歷了四年本科又三年研究生階段學習行將畢業的碩士生,不僅不知道嵌入式操作系統是什麼東西,而且連C++都不能熟練掌握,驅動程序開發的能力就更不容提了,僅僅做了一個單片機的應用設計就拿到碩士文憑了,術業缺乏專攻泛泛而談,說句實在話,怎麼樣也教人無法接受啊!對於我來說,如果您沒有特別的才能,我寧願用三年時間培養一個好的本科生給更高的待遇,他肯定不比一般的碩士生差。所以,考上了研究生之後,您要時刻明白加強動手能力的培養和前沿科學技術的學習至關重要的,這是您將來面試的「殺手澗」,因為您畢業之後要求的工資待遇起碼是一般本科生的兩倍,但是這個錢不是那麼好拿的。頂多3-5 年的時間,大家肯定能夠看到一個現實,那就是如果您還不能熟練地掌握嵌入式操作系應用開發技術的話,您只能拿2000 元的月薪。即便您是研究生或是博士,那又有什麼稀奇的呢?鄧伯伯有句名言,不管白貓還是黑貓,抓住老鼠就是好貓!我們知道企業家是要賺錢的,否則這個企業就留不住人才,無情的市場競爭機制將會毫不猶豫地將這個老闆淘汰出局。一個可持續發展的企業,如果離開了富有聰明才智的優秀人才,那是不可想像的。光有幾個還不行,而是要有一個卓越的軍團。
其實就業的問題,對於一個努力的人來說是何等地簡單,我面試了300 多本科生,我只對其中幾個成績中等的本科生感興趣,他們主要是參加過2001 年全國電子大賽,有的是平時業余時間,暑假及其寒假都在跟老師幹活的學生,與他們聊天真是一種莫大的享受和欣慰,對於我來說真的是如獲至寶。於是,我就立即勸他們,您的成績中等確實難以考上好的學校和導師還不如不考研究生以免浪費時間,同時也充滿自信告訴他們,「我就是伯樂!我願意給您機會和花錢培養您」。事實上,即便您考上研究生,如果沒有遇上具有超前眼光和經費充足的導師,您讀了也白讀,更何況現在的研究生擴招的這么多?一個導師帶那麼多研究生,有那麼多課題嗎?即便有的話,他應付得過來嗎?可能殘酷的現實將會讓您看到,畢業之後回頭一看還遠遠不如當年同您一道畢業的同班同學。確實也是,人家的機會比您好得多,關鍵是人家對待機會比您把握得好,可以說:恰到火候。難道非要讀研究生理論水平才高嗎?這是何等地荒謬啊!我們知道電子與計算機技術的發展日新月異。大學的更新速度一定就要快嗎?回答是否定的,比如說推廣PHILIPS 的最新單片機和USB 技術吧!他們的更新速度肯定比一個可持續發展的企業要慢得多,難道說我們的人才水平不夠高嗎?我們公司就有一批這樣在各個領域里出類拔萃的「年輕專家」從 2003 年開始,我們將會有一系列的專著在北京航空航天大學出版社出版,大多數的著作都來自於我們長期的基礎研究和應用開發,可以毫不誇張地說這些都是我們這個年輕團隊合作的結晶。他們是優秀和卓越的人才,他們沒有就業的壓力,他們不怕炒魷魚,相反我倒時刻要想盡辦法加強公司的管理,從工資,獎金,福利,生活和事業成就感等各個方面絞盡腦際善待人才和留住人才,這么努力的人才根本就不需要過多地為工作和生活發愁,對於這個問題當然是仁者見仁智者見智,也就是下面我要講到的問題,一個人如何根據自己的特點、條件和機遇對自己如何定位的問題,也是至關重要的。
比如說,如果您對單片機的理解僅僅是入門水平的話,那麼您首先就應該低調一些,因為您主要的任務是為了尋找一個可以學習的機會,說句實在話,此刻此刻您一定要清醒地意識到:尋找伯樂比眼前的利益更加重要!因為您現在確實還沒有可以驕傲的資本,您一定要想盡辦法取得第一次正式踏入社會的入場卷,這對您來說是何等地重要啊!俗話說得好,「萬丈高樓從地起」您一定要尋找機會通過業績表現出您的能力,您確實與眾不同之處。這樣您就可能在一個公司里樹立您的「信用」,有了信用之後隨之而來的機會將會越來越多,到那時您根本就不用不愁自己的待遇和地位問題了。所以對於一個剛剛步入社會的年輕人來說,您能夠做到以「誠信」 打天下,您將來的前途肯定是無限光明。千萬不要感到自己在班上的成績是前幾名或者相對來說自己的動手能力相比之下比同學強多少、多少,或者自己在讀書期間貸了多少款,或者家裡是多麼地缺錢,因為當您加入整個社會的競爭之後,這些都不是您要求高薪的理由,這個時候您的心態將可能會決定您的命運,因此對自己要有充分的認識和正確的估價,經常是很多學生用這些理由向我開出高價,我無話可說只好「搖頭和嘆息」。
如果您的水平還不夠,我認為也不要自卑,要知道機會是時刻屬於有準備的年輕人,但也不可掉以輕心,此時此刻,您應該振作起來,立即拿起書本努力學習和加強實戰的訓練,待到羽翼豐滿之時大膽地走出去闖盪,讓社會來對您做一個恰當的評價,然後再根據現實的情況不斷地調整自己,繼續學習和實踐,由於電子和計算機科學的高速發展呈現日新月異的變化局勢,您一定要明白:您距離失敗永遠只有6 個月!
3. 第一掛科率的科目會不會是單片機
不會的,其他科目能學好,單片機也應該能學好的,單片機比起很多科目要容易的多呀。
4. 單片機不要掛科,求葵花寶典,嘎嘎、、、
1.外部中斷1採用負邊沿的中斷觸發方式,請把程序補完整 ORG 0000HLJMP ST ORG (1)(1) A O013H (2) B SETB EA2.下面是一段軟體延時程序,請把程序補完整 Delay r7,#100 ;lusDell mov r6,#123 ; lus 程序延時時間約為3ms(1)A mov (2) B Dell(3) C 253.下面是一段多個單位元組數求累加和程序,實現了從50H開始的連續5個位元組求和,結果存放在R3R4中 (1) A #0 (2) D inc (3)A addc (4) C djnz (5)C Loop4.求函數Y=X!(X=0,1,。。。。7)的值。設自變數存放在ABC單元。Y值為雙位元組存於R2R3中,R3存放Y值低位元組,查表程序如下(1)A ABC (2) D #08H (3) C A+PC (4) B XCH (5) C R25.當程序執行到完X語句處時累加器A的值為(1);當程序執行完Y語句時累加器A的值為(2) (1) B 12 (2) B 01H6.子程序名:ZERO 功能:對內部數據區清零 功能:對內部數據區清零 入口參數:70內部數據區地址 71h內部數據區長度 出口參數:無 佔用資源:R0,R7,70h,71h 上述程序為主程序調用子程序,參數傳遞方式為(5)(1) A 07H (2) A 00H (3) A DPL (4) B DPH (5) B 堆棧7.在P1.0輸出周期2ms的方波。(CPU採用12MHz時鍾,T0產生1ms中斷,T0採用方式1)(1) B #01H (2) C #24H (3) C #OFCH (4) D TFO (5) C CPL8.把內部RAM中起始地址為BLK1的數據塊傳送到外部RAM以BLK2為起始地址的區域,直到遇到「#」字元的ASCII碼為止。參考程序如下(1) D @ R0 (2) B SUBB (3) C STOP (4) B POP (5) B MOVX (6) A INC 9.在6位LED動態顯示電路圖中,8155的PA口作(1),PB口作(2),PA和PB口都工作為(3),要使N1塊顯示數字3,其字形碼為(4),字位碼為(5),要使N1,N3,N5塊同時顯示數字6,其字形碼為(6),字位碼為(7),要使6位LED顯示器全滅,字位碼位(8)或字形碼為(9),要使其中一位顯示y,其字形碼位(10)(1) A 字位碼口 (2) D 字形碼口 (3)A 輸出口 (4)C BOH (5) B 01H (6) C 82H (7) B 15H (8) 00H (9) OFFH (10) C 91H10.DJNZ R0,rel這條指令含有兩個操作數,第一個操作數R0屬於(1)定址方式,第二個操作數rel屬於(2)定址方式(1) B 寄存器 (2)C 相對11.執行如下指令序列 MOV SP,#50H PUSH ACC後SP的值為(1),累加器ACC的值為(2)(1)D 51H (2) D 不變12.能夠使累加器A的高三位取反的指令是(1),能使累加器A高6位置1的指令是(2)(1)C XRL A #OEOH (2) B ORL A #OFCH13.一個外設與CPU之間傳送的信息通常有(1)、(2)、(3)、三類(1) A 數據信息 (2)D 狀態信息 (3)B 控制信息14.下列哪種數據傳送方式中CPU的有效利用率最低(1)(1)B 查詢式傳送15.下面一段程序實現了ASCII碼到二進制的轉換,請把程序補充完整(1)C #30H (2) A #0AH (3) D #07H16.20H單元中的兩個BCD碼相乘,結果以BCD碼的形式存放在21H單元(1) B #0FH (2) B DIV (3) D ORL (4) A 21H17.把16進制數FFH轉換成BCD碼,結果存放在20H 22H單元(1) B #64H (2) B B (3) D #10H 18.利用定時/計數器1產生1ms定時,採用中斷方式編程使在P1.7引腳上輸出周期為2ms的方波,設單片機晶振頻率為6MHz,請把程序補充完整(1) C 0013H (2) A FEH (3) C OCH (4) B TR1 (5) CPL19.對內部RAM 40H單元開始連續16個單元清零。(1) B #40H (2) D #10H (3) A Zero (4) B ACC (5) C ret20.有如下指令序列 (略) 當執行完該指令序列後布爾累加器C的值為(1),F0的值為(2)(1)B 1 (2) B 121.中斷入口地址通常放的指令為(1)(1) B LJMP22.DEC R0和DJNZ R0,這兩條指令對通用寄存去R0的操作都是(R0)←(R0)-1,但是前者屬於(1)指令,後者屬於(2)指令。(1) B 運算指令 (2)D 控制轉移23.用指令實現邏輯表達式:Q=U•(/V+W))+X•(/(Y+Z))。(備註:/A表示對A求反)(1)D V (2) B CPLC (3) A ORL (4) B ANL (5) C MOV.Q.C24.根據R2的內容轉向不同的分支(1) D #TBJ1 (2) D ADD (3) B INC.DPH (4) B @A+DPTR (5) B AJMP PRG025.MCS-51片內數據寄存器分為工作寄存器、位定址區和數據緩沖區三個區域。工作寄存器區德地址范圍:(1);分(2)組。當前寄存器組由程序狀態字PSW中(3)位的狀態組合決定。片內數據存儲器中位定址的范圍:(4)(1) B 00-1FH (2) A 4 (3) C RS1,RS0 (4) 20-2FH26.執行如下指令序列 後累加器A的值為(1),標志寄存器PSW的值為(2)(1) B 21H (2) C 84H30.MCS-51系列單片機中定時控制寄存器TCON是91)位寄存器,其中TCON。7是(2)位標志位;定時方式寄存器TMOD。1、TMOD。0是(3)、(4)標志位,他們組合定義了T0的工作方式(1) D 8 (2) C TF1 (3) B M1 (4) C M031.若要求外部中斷0為邊沿觸發方式,則下列哪條指令不是初始化中斷過程中必須的(1)(1) D SETB PX032.閱讀程序 (略)根據這個程序,執行完jmp指令後執行(2)條指令■。這個程序是(3)典型演算法的程序,■是(4)結構的程序。(1)C ADD (2) C ajmp PRG2 (3) A 散轉 (4)B 分支33.把存放2000H~20FFH連續256個數據搬移到3000H~30FFH單元。(1)D #2000H (2) B #20H (3) D #30H (4) A DPL1.單片機有幾條指令,分為幾類111條 五類2.下列堆棧指令錯誤的是:B POP.A3.I/O口編址方式為(1) 單獨編址 (2)存儲器統一編址4.CPU是單片機的核心部件,有 和 兩大部分組成,前者是運算部件為核心(1)運算器 (2)控制器 (3)ALU 5.是標志寄存器, 是堆棧指針, 串列口通訊控制器, 是中斷允許寄存器 是數據統計(1)PSW (2) SP (3) SCON (4) IE (5) DPTR (6)166.I/O設備和CPU是通過 連接的,起作用 (1) D 介面電路 (2)B 隔離作用 (3)A 鎖存作用 (4)C 變換作用 (5)C 聯絡作用7.存儲系統將存儲器分為 和 採用 結構,通過MOVX指令可訪問(1)A 程序儲存器 (2)D 數據寄存器 (3)A 哈佛 (4)D 片外數據寄存器和I/O介面8.單片機晶元有8個部分組成,即 時鍾電路 數據存儲器 並行I/O口,串列口,定時器/計數器及中斷系統 (1) A 中央處理器 (2)A 程序儲存器9.51內部的並行I/O口P3口除了作為通用I/O口還具有第二功能,其中P3.2和P3.3第二功能分別為 和 (1)C /INT0 (2) D /INT110.若要求外部中斷0為邊沿觸發方式,則下列哪條指令不是初始化中斷過程中必須的(1) D SETB PXO11.執行如下操作 (略) 當執行完JMP@A+DPTR指令後程序計數器PC的值為 ,程序運行後累加器A的值為 (1) C 5020H (2) D 1FH12.十六進制數6311分別用不同進製表示:二進制 八進制 十進制 若63H為BCD碼,則對應 的十進制數為 (1) 01100011 (2) 143 (3) 99 (4) 6313.若(A)=01100011B,若將其當做84)1BCD碼數,則對應的十進制數 若將其當做ASCII碼數,則對應的字元 ,若把它轉換成十六進制數 若將其當做5211BCD碼,則對應的ACC 6的權值為(1)63 (2)C (3) 63H (4)214.片內數據存儲器中 為位定址區 位地址范圍為(1) C 20H-2FH (2)A 00H-7FH15.指令MOVA,30H中的A是 定址方式 而指令MOVC,30H中的C是 位定址方式(1) 直接 (2)位 16.累加器A的值為0FCH,執行 遍RL A指令後累加器A的值為9FH(1) B 0E1H (2) C 517.執行如下指令序列A,R1後累加器A的值為 ,標志寄存器PSW的值為(1) B 21H(2) C 84H17. 執行如下指令序列後累加器A的值為 ,通用寄存器R0的值為(1)0CDH (2) 31H18.指令 是合法的MCS-51指令,而指令 不是合法的MCS-51指令(1) D MOV 30H 20H (2) C MOV @R1.R219.MCS-51採用的定時控制方式,有固定的機器周期, 個機器周期由 個震盪周期組成。當振盪頻率為12MHz時,一個機器周期為 ,當震盪頻率為6MHz時,一個機器周期為(1) A 12 (2) A 1μs (3) B 2μs20.MCS-51單片機復位後,PC的內容為 ,堆棧指針SP的內容為(1) A 0000H (2) B 07H21.微處理器就是中央處理器(CPU)-控制器和-集成在一片半導體晶元上,稱為 (1) B 運算器 (2) B MPU22.半導體存儲器從讀寫方式上可分為(1)和(2)兩大類,MCS-8051的片內數據存儲器有(3)位元組,片內程序存儲器有(4)位元組(1) A RAM (2) D ROM (3) D 128 (4) A 4K23.MCS—51內部有(1)個定時/計數器,每個定時/計數器為(2)位,定時/計數器的控制依靠特殊功能寄存器(3),工作方式的設定依靠特殊功能寄存器(4)(1) A 2 (2) D 16 (3) B TCON (4) C TMOD24.已知(SP)=53H,(PC)=37FEH執行:lcall 3A00h後:(SP),(PC),(54H),(55H)分別為 (1) B 55H (2) A 3A00H (3) C 38H (4) C 01H25.MCS-51允許有 個中斷源,提供 個中斷優先順序,中斷優先順序由(3)寄存器控制,在同級中斷中優先權最高的是(4)(1) C 5 (2) B 2 (3) B IP (4) C /INT026.十進制數 -58的二進制數表示方式:原碼為91),反碼為(2),補碼為(3)(1) A 10111010 (2) B 11000101 (3) A.B 1100011027.MCS-51指令系統共有 種定址方式,指令MOV DPTR #1000H中,源操作數的定址方式(2),目標操作數的定址方式為(5)對特殊功能寄存器只能用(6)定址方式(1) C 7 (2) A 立即選址 (3)B 寄存器選址 (4)直接 (5)寄存器間接 (6)寄存器H/直接28.在程序中經常利用邏輯運算指令來屏蔽某幾個位,如果希望將累加器A的高5位置0則應該執行該指令ANL A,(1),如果希望將累加器的低5位置1則應該執行指令(2) A,#1FH(1) C #7 (2) B ORL
5. 完蛋了!!我19歲了居然對單片機一無所知 模電 自控也是只能保證不掛科 英語更是差的要命
靠,誰說的工資不高,扯淡。就怕你不會。我都29了也對單片機不會,都沒有想自殺。
6. stc單片機什麼情況下系統時鍾掛掉
STC15出廠時內配有片內RC振盪器時鍾,不用再外焊晶振及濾波電容。當有特殊要求時可由XTAL1和XTAL2引腳外接晶振產生時鍾信號,也可直接從XTAL1腳輸入外部時鍾信號,XTAL2腳懸空。
時鍾源輸出信號經過一個可編程時鍾分頻器與CPU、內部介面相連。片內RC振盪器或外接晶振產生的時鍾稱為主時鍾,頻率記為fosc。CPU和內部介面的時鍾稱為系統時鍾,頻率記為fsys。其關系為fsys=fosc/N。分頻系數N可通過特殊功能寄存器CLK_DIV進行選擇。其中CLKS2~CLKS0位為分頻系統選擇位。
STC15單片機的主時鍾fosc可以通過P5.4引腳輸出。
關於復位,分為冷啟動和熱啟動。冷啟動復位後上電復位標志位PDF為置1,可軟體清0。其在PCON寄存器內。今天才知道單片機的寄存器地址不能被8整除便不可直接操作位,需要用與操作讀取。例如上電復位標志位PDF在PCON寄存器中的D4位,即00010000。當讀取其值時,用a=PCON&0x10;讀取狀態。若PDF為1則為系統停電後再上電引起的硬復位,為0則是RST引腳人為使單片機復位、內部看門狗產生復位或操作IAP_CONTR寄存器實現的代碼復位。
STC15單片機在燒錄器中可設置低電壓檢測值。當內部電壓VCC低於低壓檢測門限電壓時,PCON寄存器中LVDF將自動置1。可在燒錄時選擇LVDF置1時單片機復位或是申請中斷停止程序。
7. 單片機與「樹莓派」的區別是什麼既有單片機,何要「樹莓派」
單片機與「樹莓派」的區別如下:
1、處理器和操作系統不同:
單片機是MCU(微控制器),而樹莓派是卡片式計算機,它上面的處理器是ARM架構的。單片機一半速度慢,資源少,但是樹莓派之類的不同,它可以運行像Linux的操作系統,或者部署伺服器、雲計算啥的。說白了就是樹莓派可以完成很多單片機無法完成的操作。
2、寫代碼時復雜程度不同:
開發單片機雖然周期比較短,但基本山都是基於特定的任務而且每次寫完代碼都要重新燒寫,很麻煩。而樹莓派則不同,樹莓派是計算機,它可以直接在本地上編程、編譯、運行,如果要重新向原有程序添加或刪除功能,或者從當前的任務切換到另一個不同的新任務。
樹莓派不需要依據任務或者更新的不同而像單片機一樣去燒寫程序。使用樹莓派基本上通過各種庫操作GPIO來對外設進行控制,並且如果你通過網路把它掛接到Internet上,可以遠程進行操作。
3、兩者側重點不同:
目前創客風很流行,樹莓派就是一台微電腦,它可以聯網、接攝像頭、滑鼠、鍵盤。學了Linux,就可以用它干很多事情。比如:自動澆花,然後拍照發微博。通過開發者自己的能力,可以搭配各種外設,做出很多東西。
而單片機給人的印象總是用於開發領域,做工程等等。兩者的側重點不一樣。當然單片機也可以接各種外設,做很多東西。
兩者本質都是一樣的,只是單片機的支持沒有樹莓派多,要用單片機播放視頻的確有樹莓派的Linux系統支持來得快捷。如果要用單片機驅動滑鼠、鍵盤就更麻煩了,而這些都是樹莓派自己系統自帶的功能。
既有單片機,何要「樹莓派」的原因如下:
兩者還是有很多不同方面上的區別,單片機不能完全替代「樹莓派」的存在。
樹莓派自帶完整的系統,功能完善擴展性強,成本相對較高;單片機則入門簡單,成本劃算,但功能單一,要實現一些功能需要很強大的技術能力。但隨著硬體行業技術革新成本下滑,樹莓派所代表的生態將是大勢所趨。
8. 學C51單片機需要C語言的什麼知識只求不掛
對C語言要求不高,會基本的就可以了。學單片機關鍵是要把單片機的結構搞清楚,如何通過寄存器去操作各種功能。
9. 的單片機,掛不掛人的
單片機考試?這個考試一般來說都挺難得,需要好好准備。
懂事電子設計 Vgz