『壹』 急求單片機學習心得一份!!!!懸賞20
單片機初學者幾個不易掌握的概念
一、匯流排:我們知道,一個電路總是由元器件通過電線連接而成的,在模擬電路中 ,連連線並不成為一個問題,因為各器件間一般是串列關系,各器件之間的連線並不很 多,但計算機電路卻不一樣,它是以微處理器為核心,各器件都要與微處理器相連,各 器件之間的工作必須相互協調?所以就需要的連線就很多了,如果仍如同模擬電路一樣 ,在各微處理器和各器件間單獨連線線,則線的數量將多得驚人,所以在微處理機中引 入了匯流排的概念,各個器件共同享用連線,所有器件的8根數據線全部接到8根公用的線 上,即相當於各個器件並聯起來,但僅這樣還不行,如果有兩?器件同時送出數據,一 個為0,一個為1,那麼,接收方接收到的究竟是什麼呢?這種情況是是不允許的,所以 要通過控制線進行控制,使器件分時工作,任何時候只能有一個器件發送數據(可以有 多個器件同時接收)。器件的數據線也就被稱為數據匯流排,器件所有的控制線被稱 控制 匯流排。
在單片機內部或者外部存儲器及其它器件中有存儲單元,這些存儲單元要被分配 地址,才能 用,分配地址當?也是以電信號的形?給出的,由於存儲單元比較多,所以 ,用於地址分的線也較多,這些線被稱為地址匯流排。
二、數據、地址、指令:之所以將這三者放在一起,是因為這三者的本質都是一樣的—數字,或者說都是?串『0』和『1』組成的序列。換言之,地址、指令也都是數據 。指令由單片機晶元的設計者規定的一種數字,它與我們常用的指令助記符有著嚴格的 一一對應關,不可以由 單片機的開發者更改。地址:是尋找單片機內部、外部的存儲 單元、輸入輸出口的依據,內 單元的地址值已由芯?設計者規定好,不可更改,外部的 單元可以由單片機開發者自行決,但有一些地址單元是一定要有的(詳見程序的執行過 程)。數據:這是由微處理機處理的 象,在各種 不同的應用電路中各不相同,一般而言,被處理的數據可能有這么幾種情況:
1地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。
2方式字或控制字(如MOV TMOD,#3),3即是控制字。
3常數(如MOV TH0,#10H)10H即定時常數。
4實際輸出值(如P1口接彩燈,要燈全亮,則執行指令:MOV P1,#0FFH,要燈全暗, 則執 兄 令:MOV P1,#00H)這里0FFH和00H都是實際輸出值。又如用於LED的字形碼,也是實 際?出的值。 理解了地址、指令的本質,就不難理解程序運行過程中為什麼會跑飛,會把數據當成指 令來 行了。
三、P0口、P2口和P3的第二功能用法 初學時往往對P0口、P2口和P3口的第二功能用法迷惑不解,認為第二功能和原功能之間 要有個切換的過程,或者說要有一條指令,事實?,各埠的第二功能完全是自動?,不需要?指令來轉換。如P3.6、P3.7分別是WR、RD信號,當微片理機外接RAM或有外部I/O口 時,它們揮作第二功能,不能作為通用I/O口使用,只要一微處理機一執行到MOVX指令,就會有相應的信號從 P3. 或P3.7送出,不需要事先用指令說明。事實上『不能作為通用I/O口使用』也並不是『不能?而是(使用者)『不會』將其作為通用I/O口使用。你完全可以在指令中按排一條S ETB P3.7的指令,並且當單片機執行到這條指令時,也會使P3.7變為高電平,但使用者不會 這么做,因為這通常這會導致系統當潰(即死機)。
四、程序的執行過程 單片機在通電復位後8051內的程序計數器(PC)中的值為『0000?,所以程序總是從『0000』單元開始執行,也就是說:在系統的ROM中一定要存在『0000』?個單元,並且在『0000』單元中存放的一定是一條指令。
五、堆棧 堆棧是一個區域,是用來存放數據的,這個區域本身沒有任何特殊之處,就是內部RAM的 一?份,特殊的是它存放和取用數據的方式,即所謂的『先進後出,後進先出』,並且 堆棧有特 的數據傳輸指令,即『PUSH』和甈OP』,有一個特殊的專為其服務的單元,即堆棧指 針SP 每當執一次 PUSH指令時,SP就(在原來值的基礎上)自動加1,每當執行一次POP指令,SP就(在原 來值基礎上)?動減1。由於SP中的值可以用指令加以改變,所以只要在程序開始階段更改了SP值,就可以把堆棧設置在規定的內存單元中,如在程序開始時?用一條MOV SP,#5FH指令,就時把堆棧設置在從內存單元60H開始的單元中。一般程序的開頭總有這 么?條設置堆棧指針的指令,因為開機時,SP的初始值為07H,這樣就使堆棧從08H單元 開始往後?8H到1FH這個區域正是8031的第二、三、四工作寄存器區,經常要被使用,這會造成 數?的渾亂。不? 作者編寫程序時,初始化堆棧指令也不完全相同,這是作者的習慣問 題。當設置好堆棧區?,並不意味著該區域成為一種專用內存,它還是可以象普通內存 區域一樣使用,只是一般情 下編程者不會把它當成?通內存用了。
六、單片機的開發過程 這里所說的開發過程並不是一般書中所說的從任務分析開始,我們假設已設計並製作好 硬體下面就是編寫軟體的工作。在編寫軟體之前,首先要確定一些常數、地址,事實?這些 常?、地址在設計階段已被直接或間接地確定下來了。如當某器件的連線設計好後,其 地址也就確定了,當 器件的功能被確定下來後,其控制字也就被確定了。然後用文本編緝器(如EDIT、CCED 等)寫軟體,編寫好後,用編譯器對源程序文件編譯,查錯,直到沒有語法錯誤,除了極簡 單?程序外,一般應用模擬機對軟體進行調試,直到程序運行正確為止。運行正確後, 就可以寫(將程序固 化在EPROM中)。在源程序被編譯後,生成了擴展名為HEX的目標文件,一般編程器能夠 識別種格式的文件,只要將此文件調入即可寫片。在此,為使大家對整個過程有個認識,舉 一?說明: ORG 0000H LJMP START ORG 040H START: MOV SP,#5FH ;設堆棧 LOOP: NOP LJMP LOOP ;循環 END
『貳』 單片機 P1口實驗的幾個問題
很簡單啊:
如果是51單片機是這樣寫:
loop:mov a,p1
swap a
mov p1,a
ret
『叄』 單片機最小系統焊接實訓心得體會的範文
系統以AT89S51 為核心部件,利用軟體編程,通過鍵盤控制和液晶顯示實現了密碼鎖的功能、報警功能,並能防止多次試探密碼,能實現本設計題目的基本要求和發揮部分。盡量做到硬體電路簡單穩定、減小電磁干擾和其他環境干擾,充分發揮軟體編程的優點,減小因元器件精度不夠引起的誤差。本設計方案的智能密碼鎖,具有造價低,工作可靠,功能多,智能化,實用性強等特點,在許多場合都能應用,並且控制智能化、靈活。
由於時間有限和本身知識水平的限制,本系統還存在一些不夠完善的地方,要作為實際應用還有一些具體細節問題需要解決。例如:擴展紅外探測技術,指紋識別技術,語音識別技術,圖像識別技術等等。這樣更能滿足社會的發展和人民的需求。
隨著計算機科學及感測技術的不斷發展,我們相信在不久的將來密碼鎖和相關技術將發展成熟,為提高人們的生活質量中發揮更大的作用。
踉踉蹌蹌地忙碌了兩個月,我的畢業設計課題也終將告一段落。設計實物也基本達到預期的效果,但由於能力和時間的關系,總是覺得有很多不盡人意的地方,譬如功能不全、外觀粗糙……數不勝數。但我可以自豪的說,這裡面的每一段代碼,都有我的勞動。當看著自己的程序,自己成天相伴的系統能夠健康的運行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最終都會化為甜美的甘泉。
畢業設計,也許是我大學生涯交上的最後一個作業了。想藉此機會感謝一直以來給我幫助的所有老師、同學,你們的友誼是我人生的財富,是我生命中不可或缺的一部分。我的畢業指導老師吳慧峰老師,她一直都以一位長輩的風范來容諒我的無知和沖動,給我不厭其煩的指導。在此,特向她道聲謝謝。
這次做論文的經歷也會使我終身受益,我感受到做論文是要真真正正用心去做的一件事情,是真正的自己學習的過程和研究的過程,沒有學習就不可能有研究的能力,沒有自己的研究,就不會有所突破,那也就不叫論文了。希望這次的經歷能讓我在以後學習中激勵我繼續進步。
『肆』 單片機P1口應用實驗:P1口的P1.0~P1.6接發光二極體L00~L06,P1.7接開關KK7,當KK7=1時發光二極體左循環點亮
這個應該用P1^7口接個三極體控制電路的通斷吧,然後其他7個串口做循環,我也沒有做過,不過應該是這樣吧
『伍』 跪求,單片機交通燈控制設計心得體會.
心得體會:
1、通過這次課程設計,加強了我們動手、思考和解決問題的能力。在整個設計過程中,我們通過這個方案包括設計了一套電路原理和PCB連接圖,和晶元上的選擇。這個方案總共使用了74LS248,CD4510各兩個,74LS04,74LS08,74LS20,74LS74,NE555定時器各一個。
2、在設計過程中,經常會遇到這樣那樣的情況,就是心裡想老著這樣的接法可以行得通,但實際接上電路,總是實現不了,因此耗費在這上面的時間用去很多。
3、我沉得做課程設計同時也是對課本知識的鞏固和加強,由於課本上的知識太多,平時課間的學習並不能很好的理解和運用各個元件的功能,而且考試內容有限,所以在這次課程設計過程中,我們了解了很多元件的功能,並且對於其在電路中的使用有了更多的認識。
平時看課本時,有時問題老是弄不懂,做完課程設計,那些問題就迎刃而解了。而且還可以記住很多東西。比如一些晶元的功能,平時看課本,這次看了,下次就忘了,通過動手實踐讓我們對各個元件映象深刻。認識來源於實踐,實踐是認識的動力和最終目的,實踐是檢驗真理的唯一標准。所以這個期末測試之後的課程設計對我們的作用是非常大的。
4、在製作PCB時,發現細心耐心,恆心一定要有才能做好事情,首先是線的布局上既要美觀又要實用和走線簡單,兼顧到方方面面去考慮是很需要的,否則只是一紙空話。
5、在畫好原理圖後的做PCB版時,由於項目組成員對單面板的不熟悉,導致布線後元件出現在另一邊,增加了布線難度,也產生很多不曾注意的問題,今後要牢記這個教訓,使以後布線更加順利。
6、經過兩個星期的實習,過程曲折可謂一語難盡。在此期間我們也失落過,也曾一度熱情高漲。從開始時滿富盛激情到最後汗水背後的復雜心情,點點滴滴無不令我回味無長。
生活就是這樣,汗水預示著結果也見證著收獲。勞動是人類生存生活永恆不變的話題。通過實習,我才真正領略到「艱苦奮斗」這一詞的真正含義,我才意識到老一輩電子設計為我們的社會付出。我想說,設計確實有些辛苦,但苦中也有樂,在如今單一的理論學習中,很少有機會能有實踐的機會,但我們可以,而且設計也是一個團隊的任務,一起的工作可以讓我們有說有笑,相互幫助,配合默契,多少人間歡樂在這里灑下,大學里一年的相處還趕不上這十來天的合作,我感覺我和同學們之間的距離更加近了;我想說,確實很累,但當我們看到自己所做的成果時,心中也不免產生興奮; 正所謂「三百六十行,行行出狀元」。我們同樣可以為社會作出我們應該做的一切,這有什麼不好?我們不斷的反問自己。也許有人不喜歡這類的工作,也許有人認為設計的工作有些枯燥,但我們認為無論干什麼,只要人生活的有意義就可。社會需要我們,我們也可以為社會而工作。既然如此,那還有什麼必要失落呢?於是我們決定沿著自己的路,執著的走下去。
同時我認為我們的工作是一個團隊的工作,團隊需要個人,個人也離不開團隊,必須發揚團結協作的精神。某個人的離群都可能導致導致整項工作的失敗。實習中只有一個人知道原理是遠遠不夠的,必須讓每個人都知道,否則一個人的錯誤,就有可能導致整個工作失敗。團結協作是我們實習成功的一項非常重要的保證。而這次實習也正好鍛煉我們這一點,這也是非常寶貴的。
對我們而言,知識上的收獲重要,精神上的豐收更加可喜。挫折是一份財富,經歷是一份擁有。這次實習必將成為我人生旅途上一個非常美好的回憶!
通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。
這次課程設計終於順利完成了,在設計中遇到了很多專業知識問題,最後在老師的辛勤指導下,終於游逆而解。同時,在老師的身上我們學也到很多實用的知識,在次我們表示感謝!同時,對給過我幫助的所有同學和各位指導老師再次表示忠心的感謝!
7、此次課程設計,學到了很多課內學不到的東西,比如獨立思考解決問題,出現差錯的隨機應變,和與人合作共同提高,都受益非淺,今後的製作應該更輕松,自己也都能扛的起並高質量的完成項目。
8、在此,感謝於老師的細心指導,也同樣謝謝其他各組同學的無私幫助!
PROTEL99SE 軟體工具應用技巧
Protel 99SE 提供了一系列的電路設計工具、優秀的文件管理系統,使用戶真正享受到方便快捷而又形象的設計自動化,使設計人員從煩瑣的電路設計中解脫出來,只需擁有一台電腦,即可完成從電路原理圖的設計到最終的印製電路板設計的全部過程。它包含有各功能模塊和標準的元件庫。
主要功能模塊:
Protel 99SE 具有出色的用戶管理技術,強大的自動化設計功能,靈活的編輯功能,簡單方便的操作環境和完善的元件庫管理能力。Protel 99SE
主要由兩大部分組成,每一部分有三個功能模塊
1.電路設計部分
a.
原理圖設計模塊,包括用於設計原理圖的原理圖編輯器,用於管理元器件的零件編輯器和各種相關報表生成器。
b. 印製電路板設計模塊,包括用於設計電路板的電路板編輯器,用於零件封裝管理的零件封裝編輯器,電路板組件管理器和各種相關報表生成器。
c.
無網格布線模塊。
2.電路模擬與PLD 設計部分
a.
可編程邏輯器件設計模塊,包括具有語法意識的文本編輯器,用於編譯和模擬結果的PLD
和用於觀 模擬結果的Wave.
b. 電路模擬模塊,包括一個功能強大的數字/模擬混合信號電路模擬器及用於模擬結果顯示、測量的波形顯示器。
c.
高級信號完整性分析模塊,主要包括一個高級信號完整性分析模擬器,能分析PCB 設計和檢查設計參數等。
『陸』 51單片機P1口實驗
ORG 0000HAJMP MAINORG 0030H MAIN:MOV A,#0FAH;MOV R0,#03HLOOP:MOV P1,AACALL DELAYMOV P1,#0FFHACALL DELAY DJNZ R0,LOOPMOV R0,#03HRL ACJNE A,#0DEH,LOOPAJMP MAIN DELAY:MOV R1,#4;可改變R1的值來改變延時時間LP1:MOV R2,#250;LP2:MOV R3,#250; DJNZ R3,$; DJNZ R2,LP2; DJNZ R1,LP1; RET END希望對你有用.如有疑問可聯系,QQ97055236
『柒』 51單片機關於P1口的實驗
如果實物按圖這樣接,51早就燒了。P1.5接電源,proteus里可能是算為高電平,即寫1了。你可以串一隻10K上拉電阻,這樣才真正相當於寫1
『捌』 實驗一 P1口霓虹燈實驗(單片機)
去看看「
郭天祥
十天學會C語言單片機」吧。保證你不要一天就可以把這個程序編出來。
『玖』 單片機實訓心得
兄弟。我也是實習這個,真有緣。 把我的借你抄吧。
單片機實訓心得
這個星期參加單片機實習,讓我受益匪淺,讓我對這個書本大小的電路板有了更深刻的認識。這次實習我們使用控制電路的單片機是AT89S52。開始點亮第一個發光二極體就出問題,這對准備大幹一場的我是個不小的打擊。老師過來檢查發現我用的是P0口,而其他同學用的是P1口,十分欣慰,指正P0口應從第二個埠接線。之後的實習也是波折起伏,發光二級管,數碼管,獨立按鍵,定時計速器,程序調試無數次,從中也總結出不少調試的技巧,寫好一個漂亮的程序,首先需要冷靜的思考,其次需要細心的排序,排除先後主次的關系。接著邏輯性要明顯,每一句要明確存在的意義。其中有很多程序是我自己寫的,因為一個跟著老師板書的學生是永遠沒有自己的作品的。雖然其中存在很多錯誤,但是我在調試中成長。一個星期的實習很快就過去了。在此我感謝老師的教導,感謝同學們的鼓勵,感謝自己的獨樹一幟,讓我對這個小小的電路板有了大大的認識。
(其實我覺得單片機實習真的沒什麼好寫的,隨便扯。要不就抄實習報告上面的任務指南。單片機說來說去就是一個板子,又不可能說成一朵花。哎。。。)
『拾』 51單片機,書上說P1口作為輸入,需要寫1。實驗發現不寫一也可以,求解釋。 代碼如下。
你能產生這樣的疑問是很好的,說明你動腦筋了.
為什麼不用寫1也行呢?為什麼書本上說要寫1呢?
有以下兩種情況:
1 你是用軟體模擬的,不管是Protues還是Keil軟體模擬的,都和硬體是不一樣的,所以,你完全不用寫
1,經常見學生畫的Proteus電路,只能模擬,不能做成實物,因為電路其實是不對的,但是能模擬,也就是
說模擬與實際是不一樣的.
2 你沒有模擬,確實的用單片機實驗了一把,那一般也不用寫1,因為現在的單片機,在內部的電路結構
上已經和你書本上學到的不一樣了,書本上的8051單片機是指很古老的,那個時候,P1口還是准雙向
口,為了保險起見,需要先寫成高電平,給P1一個穩定的狀態.
這也是我們大學的悲哀,我記得07年我大三的時候,講的單片機居然還有8031....
言歸正傳,現在的單片機,雖然也是准雙向口,但是在上電復位後,會自動給P1---P3口一個准確的電
位,即高電平,就是說,相當於自動寫1了,另外,現在的單片機,很多的51單片機,IO口是可選擇的了,可以
設定為上拉,推挽.浮空輸入,准雙向,而且一復位的時候是浮空准入狀態,這種情況的單片機,更不用寫1了.
總結:就是,你被過期的教材忽悠了一下,這是我們教育的悲哀.