新聞詳情
單片機開發設置控制瀏覽數:2次
C語言是目前單片機開發的必備編程語言。單片機軟件在N年前是用匯編語言開發的,每種單片機的匯編語言都不一樣。由于采用匯編語言開發單片機軟件太過于復雜,效率及其底下,現在基本上都用C語言開發單片機軟件了,僅在一些很特殊的場合才需要用到匯編語言,例如要求精確控制CPU某段程序的執行時長。如果還沒有C語言基礎,建議先學C語言再學單片機。學 2.單片機系統開發基本條件 雖然世界上的單片機種類有上千種,但單片機技術基本上是相通的,只要掌握了一款單片機的開發,以后遇到其他品種的單片機就非常容易上手了。如果學習第一款單片機需要2個月時間,那么學習第二款單片機就只需要2天時間。 以上只是談到單片機系統開發的最基本的條件,但我們知道單片機最終還是應用于產品之內的,單片機系統開發最終還是為了產品開發。因此,僅僅學會單片機軟件編程還是遠遠不夠的。www.yjdzi.com一款單片機系統產品從項目立項到最終實現產品量產,其中涉及到的方方面面技術問題還有很多很多,例如如何選擇最合適的單片機、硬件的電磁兼容問題、軟件的bug調試和軟件可靠性、數字量和模擬量信號采集、一般高低電平輸出和PWM輸出、操作系統、產品成本…,太多太多了! 目前,很多人對匯編語言并不認可。可以說,掌握用C語言單片機編程很重要,可以大大提高開發的效率。不過初學者可以不了解單片機的匯編語言,但一定要了解單片機具體性能和特點,不然在單片機領域是比較致命的。如果不考慮單片機硬件資源,在KEIL中用C 還記得大學里上單片機課程時,選用的教材好像是《51單片機匯編》,老師講了一學期的匯編指令。直到期末考試,也沒有見過單片機長什么樣子,也不知道單片機到底用什么環境開發,單片機有什么用。本來是一門實用、偏動手的課程卻變成了理論冥想課。 (1)提供OC和OD門電路的驅動能力。 比如OC(集電極開路)電路: 例如,ULN2003.內部電路的達林頓管(實際上是復合三級管)是一個集電極開路電路。 在沒有拉電阻的情況下,其它設備無法進行高電平驅動。因為三極管到市內都沒有流通通 道,更談不上驅動。此原理與單片機P0端口拉阻原理相同。 (2)提高高位電位: 單芯片P1口4×4基陣列鍵盤。另外,ULN2003的P1.0~P1.3還可以控制步進電機的驅動。 測試中遇到的問題:接入ULN2003后,鍵盤無法正常工作,在ULN2003下,鍵盤無法正常工作。ULN2003工作正常。(注意兩部分不同時工作) 問:由于鍵盤的結構,不外乎兩個金屬片聯接或斷開。但是在接入ULN2003后無法正常工作,說明接入ULN2003影響P1端口電平的變化。由萬用表測得的電壓,單片機輸出高電常數,P1.0~P1.3電壓約1V,P1.4~P1.7電壓為4.3V,高低電平的電位約為1.3V。所以P1.0~P1.3總是低電平,鍵盤根本不能實現掃描功能。 對策,只要增加P1口高電平時的電位,就可以正常工作, 1.將電阻串接到ULN2003上,P1端口作為分壓,從而提高電平。 2.連接拉電阻至P1端口,并聯到P1口內部電阻,降低拉電阻,降低分配電壓,從而提高P0口的高電勢。 另一個方案是把水平提升到大約2.5V。鍵盤正常工作。 另外:我做LCD顯示實驗,數據線P0口使用,不能正常工作,不顯示字符。但是,隨機移動的數據線可以顯示出來,但是顯示不正常。角色不是一次寫,而是隨機移動幾次以完成所有的任務。通常,所有的東西都應該一次顯示出來。因為P0口有6個端口,并聯了三個LED,并聯在一起。因為資料表明,P0口每個端口最大吸收10MA電流,總電流不能超過26MA電流。這么算,我的總電流已經達到40MA了,哈哈。大笑。所以猜疑是主因。因此,去除了一些二極管。展示一切正常。看來問題已經解決了,但總覺得問題還沒有解決,于是又做了幾次試驗,發現只有在P0.7端口的并聯二極管被除去后,才能在其他端口上連接LED。這時也可以正常顯示。但是這種P0吸收電流為38MA,也大于26MA。所以,不是吸收電流太大。在端口并聯三個二極管外接時,仔細分析相當于增加了700歐電阻,因此將二極管移除,換成1k電阻,LCD就無法顯示。 經認真分析,認為P0.7是液晶忙信號回路。如果端口恢復到高功率,LCD處理數據,不能接收新數據。如果返回0,這意味著它是空的,可以接收新的數據。 所以,當上拉電阻超過小時,液晶回到低電平時,可能會超過1.3V(AT89s52高低電平的判斷電位),而在接收到單片機之后,不會被視為低電平,當然也不能顯示。(程序設計時檢測到繁忙信號,繼續檢測) 文摘:對上拉電阻的選擇也有要求,哈哈。不是越高越好,也不是越低越好。按要求選擇。 或許也叫做阻抗匹配。 搞得大家一頭霧水。 條件之三:在PC機上安裝好單片機開發平臺。單片機開發平臺也叫單片機開發環境,是單片機軟件代碼的編輯工具和代碼編譯工具的結合體。單片機品牌和系列不同,其開發平臺也不一樣,例如STM8可以用IAR進行軟件開發,也可以采用ST公司自己開發的STVD進行軟件開發。 單片機的晶振為單片機提供時鐘頻率,相當于單片機的心臟。目前多數單片機都有內部震蕩電路可以提供一定的時鐘頻率,但是在對時鐘頻率要求很高的情況下,還是要使用外部晶振甚至是有源晶振。 這里指的是上電復位,51單片機是高電平復位,向Cotex-M3內核的單片機多數是低電平復位。即當復位管腳出現一定脈寬的高/低電平之后即可實現單片機的復位,單片機的程序從頭開始執行。 單片機的CPU吞吐量關系到處理信息和執行控制的能力問題。如果選用處理能力過強的單片機CPU,則浪費了單片機資源,反之,單片機處理能力會不夠,無法正常工作
|