❶ 一個老工程師給單片機初學者的幾點建議
這個搜一下啊就能找到。
在錯誤的道路上日夜兼程,最終也無法成功。所有,方法和思路絕對是第一重要的。一些學技術的同學,往往看到這類章節會直接跳過去,因為大多數類似章節都是廢話連篇。但是,今天在這里我可以很負責任的告訴你,本章節講到的學習單片機的方法,都是我們學習單片機的無數經驗和教訓總結出來的瑰寶。因為我們披荊斬棘,開辟了道路,所以可以告訴你路在何方;也因為我們摸過燒紅的鐵塊,燙了手,所以可以把教訓告訴你。希望各位都能站在我們的肩膀上,成為巨人。
注意事項
在錯誤的道路上日夜兼程,最終也無法成功。因此,方法和思路絕對是第一重要的。
❷ MULTISIM怎麼模擬51單片機
1、⑴組建模擬電路
"" componet」對話框的「family」欄中先選取「805x」,="" 然後在「componet」欄下選取「8051」,最後單擊對話框右上角的「ok」按鈕。滑鼠箭頭將帶出一個「8052」模塊,在電子模擬平台上單擊滑鼠,將先彈出MCU向導對話框之一,第一欄是工作區路徑,第二欄是工作區取名,這里輸入「my mcu design1」,最後單擊下方的「Next」按鈕;
⑵再次彈出MCU向導對話框之二,共有4欄選項,第一欄為項目類型,一般選擇「Standard (標准) 」;第二欄選擇編程語言種類,單擊右側下拉箭頭,可以在「Assembly C匯編」和「C」語言之間選擇,這里選取「C」語言;則第三欄自動顯示「Hi-tech C51-Lite compiler」字樣; 第四欄可以輸入項目名稱,本文取名為「project1」,最後單擊下方的「Next」按鈕;
⑶再次彈出MCU向導對話框之三,有2個單選項:「Create emptyproject (創建空項目) 」和「Addsource file (添加源文件) 」, 這里選取「Add sourcefile」;下面欄中可以輸入後綴為「。 C」的源文件名,這里就用「LED001. c」最後單擊下方「Finish」按鈕完成。
⑷完成MCU向導對話框之後,這時能在電子模擬平台上顯示出原來調出單片機模塊U18051,右擊滑鼠退出元件操作。
⑸保存文件,在文件名欄輸入「led11」文件名,默認文件後綴「.ms10」。
⑹在電子模擬軟體Multisim10基本界面平台上,單擊主菜單「View /Design Toolbox」,在基本界面左側將打開「設計工具盒」窗口,單擊「led11」前的「 + 」號可以看到剛才命名的工作區「my mcudesign1」,在工作區下面是項目名「project1 」, 在項目名下面是源文件名「Led001. c」。
⑺編寫MCU源C語言程序(過程略);
⑻調出其他模擬元件,搭建單片機模擬電路,進行模擬;
2、51單片機用protues這個軟體模擬更好!裡面已經有現成的51模塊了。調用就可以用,電源、地、復位電路和時鍾等等都不用畫。只要把編好的程序下載到protues中的51單片機裡面就可以運行。外圍提供的器件可以自己搭建。非常好用。
3、可以參考《基於Multisim 10的51單片機模擬實戰教程:使用匯編和C語言》。
❸ 我想搭建一個MSP430最小系統需要哪些准備
1:電源電路
2:復位電路
3:晶振電路(這個不是必須的,因為430晶元內部一般都有RC振盪電路來為系統提供時鍾源,默認也是使用內部時鍾源)
4:程序的燒入引腳:
單片機最小系統
最小系統有兩種形式:
硬體最小系統:由電源、主板和CPU組成。在這個系統中,沒有任何信號線的連接,只有電源到主板的電源連接。在判斷過程中是通過聲音來判斷這一核心組成部分是否可正常工作;
軟體最小系統:由電源、主板CPU、內存、顯示卡/顯示器、鍵盤和硬碟組成。這個最小系統主要用來判斷系統是否可完成正常的啟動與運行。對於軟體最小環境,就「軟體」有以下幾點要說明:
1、硬碟中的軟體環境,保留著原先的軟體環境,只是在分析判斷時,根據需要進行隔離如卸載、屏蔽等)。保留原有的軟體環境,主要是用來分析判斷應用軟體方面的問題。
2、硬碟中的軟體環境,只有一個基本的xx作系統環境(可能是卸載掉所有應用,或是重新安裝一個干凈的xx作系統),然後根據分析判斷的需要,載入需要的應用。需要使用一個干凈的xx作系統環境,是要判斷系統問題、軟體沖突或軟、硬體間的沖突問題。
3、在軟體最小系統下,可根據需要添加或更改適當的硬體。如:在判斷啟動故障時,由於硬碟不能啟動,想檢查一下能否從其它驅動器啟動。這時,可在軟體最小系統下加入一個軟碟機或乾脆用軟碟機替換硬碟,來檢查。又如:在判斷音視頻方面的故障時,應需要在軟體最小系統中加入音效卡;在判斷網路問題時,就應在軟體最小系統中加入網卡等。
最小系統法,主要是要先判斷在最基本的軟、硬體環境中,系統是否可正常工作。如果不能正常工作,即可判定最基本的軟、硬體部件有故障,從而起到故障隔離的作用。最小系統法與逐步添加法結合,能較快速地定位發生在其它板軟體的故障,提高維修效率。
❹ 如何讓自己成為嵌入式單片機高手
成為嵌入式高手的技能清單和升級線路圖
第一部分:linux平台搭建與環境熟悉
了解linux系統;區分各種版本的Linux系統,以便於拓展 Linux視野。
1、Linux 簡介;
2、Linux 系統的主要特點;
3、Linux 的組成;
4、主要的 Linux 版本;
5、嵌入式 Linux簡介與發展
第二部分虛擬機安裝和LINUX系統安裝
1、虛擬機安裝;
2、Linux系統的安裝;
3、Linux系統的常用軟體的安裝;
4、Linux快速入門
5、 熟悉運用 Linux環境下,常用命令的操作與系統設置,如常用的 Shell;掌握基本的 Shell 應用
第三部分:嵌入式LINUX環境搭建
1、 建立嵌入式 Linux開發環境
2、 熟悉嵌入式開發平台
3、 嵌入式 Linux開發工具
4、 Linux下的調試技巧
5、 MAKE工程管理器
6、 硬體環境的搭建;arm-linux-gcc與 gcc安裝配置
第四部分:U-Boot
了解 U-Boot 的作用及工作流程;了解Bootloader 的代碼結構、編譯過程;移植U-Boot;掌握常用的U-Boot命令。
1、 Bootloader介紹
2、 u-boot工程介紹
3、 u-boot的編譯使用
4、 u-boot源碼分析
5、 u-boot資源分配
6、 配置編譯u-boot
7、 u-boot移植過程
8、 u-boot常用命令操作
9、 添加u-boot新命令
10、設置u-boot環境變數
11、 u-boot驅動添加如網卡:DM9000
第五部分:LINUX內核移植
熟悉內核的原碼結構和kbuild Makefile語法;掌握和內核、驅動模塊編譯相關的原理及方法。
1、Linux內核介紹
2、Linux內核特點
3、Linux內核源代碼結構
4、Linux內核選項解析
5、Linux內核編譯鏈接
6、內核模塊編譯、使用方法
第六部分:LINUX根文件系統
1、busybox 包移植、編譯
2、Linux跟文件系統製作過程
3、根文件系統介紹
4. nfs文件伺服器系統搭建
第七部分:LINUX驅動開發
驅動開發是嵌入式Linux開發難度最高的內容,也是目前嵌入式行業最緊缺的人才之一。本課程介紹嵌入式Linux驅動開發相關概念及開發流程,了解驅動開發的關鍵技術點,重點講解嵌入式Linux下常用介面驅動的編寫方法,包括:
1、字元型LED驅動開發(GPIO口驅動)
2、按鍵驅動開發(中斷驅動,在驅動中中斷程序的編寫,消息隊列的應用
3、ADC驅動開發
4、網卡驅動開發
5、串口驅動開發
6、液晶屏(TFT彩屏驅動開發
7、觸摸屏驅動+tslib(中間插件移植與設置),
8、USB驅動開發+USB無線網卡移植
9、IIS驅動開發+maplay移植與應用(mp3播放)+mplayer移植與應用(視頻播放Mp4/廣告機等播放)
10、SD驅動開發
11、RTC驅動開發
12、電源管理方法
第八部分:LINUX應用學習
嵌入式Linux應用開發和系統開發是嵌入式Linux中最重要的一部分,也是企業人才需求最廣的一部分。主要目標是精通嵌入式Linux下的程序設計,熟練掌握嵌入式Linux的開發環境、系統編程以及網路編程,熟悉C++、QT編程並且深刻體會整個嵌入式Linux項目開發流程,強化學員對Linux應用開發的能力。
1、Linux系統中的進程的概念,在應用程序中線程與父子進程的創建與應用
2、線程之間、進程之間的通信
3、進程間通信基本概念
4、管道(PIPE)
5、信號(SIGNAL)
6、內存映射(MAPPED MEMORY)
7、消息隊列(MESSAGE QUEUE)
8、信號量(SEMAPHORE)
9、共享內存(SHARE MEMORY)@
10、tcPip協議在應用程序中的編程開發(SOCKET套接字編程開發)
10.1. ISO/OSI七層協議模型與IP網路四層模式
10.2.TCP/IP協議簇
10.3. 基於嵌入式Linux的TCP/IP網路結構
10.4. 基於嵌入式Linux的SOCKET編程
10..5.UDP與TCP的區別
10.6. UDP SERVER-CLIENT關系程
11、文件讀寫與存儲
第九部分:QT移植與開發
了解嵌入式Linux下的幾種常見GUI及其特點,重點能掌握QT的有關內容,具備QT程序設計能力。了解嵌入式資料庫的配置與開發:
1 、嵌入式Linux GUI介紹
2、嵌入式QT開發包移植
3、QT介紹及其信號插槽機制
4、 QT圖形界面編程技術
5、QT應用程序與Linux驅動的銜接
6、 QT在實際項目中具體應用
第十部分:無線通訊應用
1、無線wifi模塊應用
2、3G模塊應用
第十一分布:嵌入式系統應用程序,驅動程序調試
1、Linux基本工具調試使用。GDB,insight調試等
2、Linux應用程序的編程
3、嵌入式產品程序打包與發布
第十二部分:嵌入式項目綜合調試,產品發布
了解真實項目的開發流程,掌握如何將所學知識應用到項目開發中。將模擬真實項目的管理過程,培養學員項目團隊協同開發能力,項目文檔編寫能力和新知識的學習能力,為下一步就業做好知識上和心理上的充分准備。
嵌入式LININX開發第一學習階段,主要打好基礎,學好C編程,Linux系統編程。
1、C語言編程基礎
2、嵌入式開發基礎:Linux概述安裝,shell命令,vim編輯器,GCC,GDB,Makefile,交叉開發環境構建
3、嵌入式Linux系統編程:shell編程,文件編程,串口編程,進程編程,線程編程,網路編程
4、嵌入式項目開發:數據採集控制系統,串口伺服器
嵌入式LININX開發第二學習階段,掌握ARM匯編程序設計,驅動程序設計。
1、ARM體系結構:ARM體系,ARM指令,Thumb指令,匯編程序設計,邏輯程序開發
2、Linux內核移植:bootloader,內核配置,文件系統
3、驅動程序開發:驅動架構模型,字元設備驅動,塊設備驅動,網路驅動
4、嵌入式項目開發:智能家居系統,視頻監控系統
嵌入式LININX開發第三學習階段,掌握C++面向對象程序設計,Qt編程。
1、C++語言編程基礎
2、QT編程開發:QT開發基礎,QT布局與控制項,QT繪圖,QT事件,QT網路通信,QT資料庫,QT移植
3、嵌入式項目開發:車載監控管理系統,工業能源管理系統
❺ 基於keil MDK給stm32編程的問題。。。嵌入式系統開發環境的搭建
您好,一、【安裝STM32庫】 將下載後的stm32f10x_stdperiph_lib.zip解壓後得到三個文件夾分別是:"Libraries"、"Project"、"Utilities"將這3個目錄復制到"Keil uVision4"的安裝目錄,和目錄中的文件覆蓋合並。二、【新建工程】 1、打開"Keil uVision4",在Project菜單中選擇新建工程,選擇工程要保存的位置,在彈出的「Select Device for target」的對話框中選擇使用的STM32單片機的型號如「STM32F103C8」,點確定,然後在彈出的「Copy startup code」的對話框中點選"NO".
2、在Project「Target 1」上點選右鍵菜單「Option for target target1中設置相關參數」在[Output]選項卡中點選「Create HEX file」,點"Select folder for objects"設置臨時生成的obj文件的存放目錄,當然也可以不選擇;
3、在[C/C++]選項卡的"Preprocessor Sysmbols"的Define框中做如下定義:USE_STDPERIPH_DRIVER,STM32F10X_MD
其中USE_STDPERIPH_DRIVER表明要使用ST提供的庫,在"system_stm32f10x.c"文件中包含的"stm32f10x.h"文件中有如下定義:
#ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h"#endif在[C/C++]選項中添加的USE_STDPERIPH_DRIVER宏就是這個作用,用來包含"stm32f10x_conf.h"這個文件被稱為"Library Configuration file"用來配置你需要使用到庫的那些文件的,例如需要使用到GPIO就應在在這個文件中加上#include "stm32f10x_gpio.h"這個文件可以在STM32庫的給出的常式中找得到(C:\Keil\ARM\Project\STM32F10x_StdPeriph_Examples)另外還需要在常式中復制"stm32f10x_it.c"和"stm32f10x_it.h"這2個文件,這2個文件時用來完成STM32中重中斷服務程序的將一下三個文件復制到自己工程的user目錄下供以後使用:"stm32f10x_conf.h"、"stm32f10x_it.c"、"stm32f10x_it.h"STM32F10X_MD 表明使用的是STM32F10X系列的CPU而該CPU的Flash代碼密度是中等(Medium-density devices)這個和使用的CPU相關的查閱CPU的手冊就可以得到。
然後在該選項卡的下方的"Include Paths"中設置include使用的路徑等,如下圖所示:其中.\user路徑是用來保存自己定義的頭文件的路徑4、[Debug]選項卡選擇使用"Cortex-M/R J-Link/J-Trace",然後點"Settings"按鈕在新打開的對話框中選擇[Flash Download]選項卡點"Add"按鈕添加編程使用的Flash,在本例中選用的CPU是STM32F103C8,其Flah為Medium-density使用片上的Flash型號為"STM32F10X Med-density Flash On-chip-Flash 128K",最終點OK保存設置。5、[Utilities]選項卡中的"Use Target Device for Flash Programing"要選擇和[Debug]選項卡中一樣的調試器"Cortex-M/R J-Link/J-Trace";6、然後再次在左側的"Target 1"上點選右鍵,在菜單中選擇"Manger Components"然後在"Project components"選項卡的"Group"中新建3個組名稱分別為"user"、"libs"、"cmsis"1、 分別用來保存用戶自己的C文件、stm32f10x_stdperiph_lib的庫、和cortex-m3的啟動文件等。
users:
Keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\ system_stm32f10x.c (stm32f10x_it.c該文件定義各種中斷的中斷服務函數)
libs:
Keil\ARM\ Libraries\ STM32F10x_StdPeriph_Driver\src\*.*
cmsis:
Keil\ARM\ Libraries\ CMSIS\ CM3\ CoreSupport\core_cm3.c
Keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
keil\ARM\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s
(該文件和CPU的Flash的代碼密度相關,本例中的STM32F103C8是Medium-density故選用xxx_md.s)
❻ 怎樣在ubuntu環境下搭建51單片機的開發環境
ubuntu下開發單片機的方式、方法和軟體很多呀
如果是51單片機,用SDCC就很好了。
燒寫晶元的軟體與使用的具體晶元有關,也有很多,網上能找到。例如就連國內大學生用得最多的STC89C51/52也可以使用一個叫做gSTCISP的軟體在ubuntu下燒寫。
❼ 51單片機最小系統原理圖
我是一名單片機工程師,下面的講解你參考一下.
.
51單片機共有40隻引腳.下面這個就是最小系統原理圖,就是靠這四個部分,這個單片機就可以運行起來了.(看下面的數字標記,1234)
.
這個腳是存儲器使用選擇腳,當這個腳接」地」時,那麼就是告訴單片機,選擇使用外部存儲器,當這個腳接」5V」時,說明單片機使用內部存儲器.
如果選擇外部的存儲器,太浪費單片機僅有的資源,所以這一腳永遠接電源5V(如上圖所示),使用單片機的內部存儲器.
5 如果內部存儲器不夠容量,最多選擇更高級的容量,就可以解決容量不夠的問題了,就是這么簡單
.
一天入門51單片機:點我學習
.
我是歲月哥,願你學習愉快!
❽ 自焊51單片機燒錄程序
1)硬體部分,要焊好晶振及復位元件,與電源地線.(RS232與單片機的電源同一條線一起開斷電)--下載時,
2)RS232硬體串口引腳不要與單片機串口引腳接反了.
3)先點擊電腦上下載,再給單片機上電.也可看下載軟體的提示檢查.
4)可下新版的串口下載軟體,