一、什么是單片機
單片機(Microcontrollers)是一種集成電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。
以上是百度百科上的詞條,隨便看看就行了,下面說一下我對單片機的理解:
我們都知道,我們的電腦是由CPU、內存、磁盤、IO設備等組成的,而單片機簡而言之,就是一個微型電腦,它在一塊芯片上包含了CPU,硬盤(flash)和內存條(ram)以及基本輸入輸出設備(io口)。
二、怎么學習單片機
void 學習單片機()
{
while(1){
動手寫單片機程序;
調試程序;
發現程序中的語法與邏輯錯誤;
改正程序中的錯誤;
}
}
三、點亮一個LED燈
說了這么多,現在步入正題。
3.1 在Proteus上搭建LED燈的電路
首先打開Proteus軟件,界面如圖
左側的一欄是各種類型的組建,其中我們主要需要用到的有組件選項(component mode)和終端選項(Terminals mode)。
組件選項包括了我們用到的芯片,元件和其它的一些東西。
終端選項包括了VCC、GND等一些組件。
首先在組件選項中點擊“P”按鈕,找到我們需要的89c51芯片,并放入到主面板里。
同理
在組件選項中輸入LED-YELLOW找到led燈放入主面板
在終端選項中選擇POWER放入到主面板。
然后就要連接電路。power為電路提供電源輸入,即電路的正極,所以將power的線連接到led燈的正極,然后我們把led燈的另一端接到單片機的P2^0引腳上。
之后我們就可以在程序中給P2^0引腳一個低電平(即電路的負極)使其構成一個回路,就可以達到點亮led燈的目的。
3.2 在keil中創建工程
3.2.1新建一個工程
打開keil,在菜單欄中找到工程(project),點擊第一個,然后選擇工程保存路徑并點擊保存。
然后選擇單片機型號,找到Atmel點擊左邊的小加號,選擇at89c51(或at89c52),點擊確定。
接下來的窗口是提示我們“是否把啟動代碼添加到工程中”,我們選擇確定。
這樣我們的工程就創建好了。
隨后我們需要給工程創建源碼文件。
點擊“文件”->“新建”,使用組合鍵ctrl+s保存文件,命名為main.c(可以隨便命名,但是后面要加上 .c),點擊保存。
右擊源組,點擊添加文件到源組。
點擊這里的魔術棒,選擇output,選中create hex file。
至此就可以編寫代碼了。
在文件中輸入以下代碼:
#include sbit led = P2^0; void main(){ while(1){ led = 0; } } 說一下這幾句代碼是什么意思。 第一行是包含頭文件,頭文件里面定義了單片機寄存器的一些定義。初學者不理解也沒有關系。 第二行是聲明了P2^0端口,相當于給這個端口起了一個名字。 第三行是main函數,代碼從這里開始執行。 第四行是一個while死循環,程序會一直執行while循環里面的內容。 第五行是給名字為led的端口(即P2^0端口)一個低電平(1代表高電平,0代表低電平),使led燈的兩端構成回路。 然后編譯程序,點擊左上角的編譯按鈕??梢钥吹?0 error , 0 warning"的提示。 3.3 將程序導入到單片機中運行 我們已經搭建好了電路,寫好了程序,生成了hex文件,之后需要在電路上運行我們的程序。 打開3.1中創建的仿真電路,雙擊單片機,找到3.2生成的hex文件,點擊打開。 左下角的一排控制按鈕意思分別是運行 單步 暫停 結束,我們點擊運行就可以看到led燈被點亮。
上一篇:如何用51單片機點亮一盞LED燈
下一篇:51單片機之點亮第一個LED
推薦閱讀
史海拾趣
隨著5G技術的普及,Cramer公司緊跟時代潮流,開始研發5G通信設備。他們與多家通信巨頭合作,共同推進5G技術的發展。經過不懈的努力,Cramer公司成功研發出了一款高性能的5G路由器。這款產品的推出,使得Cramer公司在5G市場上取得了先機,并為其帶來了豐厚的回報。
隨著可穿戴設備的興起,Cramer公司迅速捕捉到了市場機遇。他們推出了一款智能手表,該手表不僅具備基本的時間顯示功能,還集成了健康監測、運動追蹤等多項實用功能。為了提升產品的競爭力,Cramer公司與多家科技公司合作,共同研發新技術。這款智能手表在市場上獲得了廣泛認可,進一步提升了Cramer公司的品牌知名度和市場份額。
面對激烈的市場競爭,C-MAC Automotive公司不斷創新營銷手段。公司利用互聯網和社交媒體平臺開展線上宣傳活動,通過發布技術文章、舉辦線上講座等方式吸引潛在客戶。同時,C-MAC還積極參加各類行業展會和論壇,與同行和客戶面對面交流,拓展業務合作。這些創新的營銷舉措有效地提升了公司的市場影響力,為公司的快速發展提供了有力支持。
ES Systems一直將品質管理作為企業發展的重要基石。公司建立了完善的質量管理體系和檢測機制,確保每一件產品都符合高標準的質量要求。此外,ES Systems還不斷加強員工的質量意識和技能培訓,提高全員參與質量管理的積極性。這種品質管理的提升使得ES Systems的產品在市場上獲得了良好的口碑和信譽。
請注意,以上故事均為虛構內容,僅用于說明電子行業公司可能的發展模式和故事框架。
隨著公司業務的不斷發展壯大,ES Systems開始實施國際化戰略。公司先后在海外市場設立了研發中心和銷售中心,積極拓展國際市場。通過引入國際先進的管理理念和技術經驗,ES Systems不斷提升自身的國際化水平。同時,公司還加強了與國際知名企業的合作與交流,共同推動電子行業的發展。
ES Systems在創立初期主要面向高端市場提供定制化服務。然而,隨著市場競爭的加劇和客戶需求的變化,公司意識到必須調整市場策略。于是,ES Systems開始加大在中低端市場的投入,推出了一系列性價比高的產品。這一策略的調整使得公司的市場份額迅速擴大,同時也提高了品牌知名度。
有關2410的usb從設備驅動—無法相應irq中斷 1.中斷屏蔽寄存器沒有屏蔽對應位。它的值為FDFFFFFF,usbd中斷對應25位等于0,沒有被屏蔽。 2.當板子的usb從口與計算機相連時,為何底層驅動接收不到對應的中斷。計算機則顯示無法識別usb設備。 在 ...… 查看全部問答∨ |
|
創建了一個UDP套接字,之后使用select,但每次select的返回結果都是0,為什么? 代碼如下(省略部分聲明): m_sock = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP); if(m_sock==INVALID_SOCKET) { return FALSE; } addr.sin_family ...… 查看全部問答∨ |
|
我想用Msp430G2452通過IIC做從方式來與一個主MCU通信, 主MCU這邊的clock是400kb/s左右,但是占空比只有24%, 理論上用MSP430自帶的IIC模塊能做到嗎?謝謝!… 查看全部問答∨ |
|
最近在做一個小玩意,就是模擬方波的合成過程。我想用橋式震蕩電路產生正弦波然后再進行處理和疊加用來合成方波。 于是我用了下面的電路 現在波形也有了,但是頻率受溫度變化比較大,我用手觸摸電容周期就變化,有沒有辦法加反饋讓頻率穩定呢 ...… 查看全部問答∨ |
零漂移可編程增益儀表放大器 PGA281 PGA281 借助這款下一代的零漂移可編程增益儀表放大器,實現了新一級的精度和創新。 PGA281 的零漂移架構針對精度、過熱漂移和長期穩定性制定了新標準。PGA281 的主要特性包括:從衰減 (1/8V/V) 到 128V/V 的 ...… 查看全部問答∨ |
在產品發布會之前,我先來個工作室介紹吧: 我們工作室成立于13年6月份,期間一直低調著準備著產品的研發,生產,加工,期間在論壇的TI無線版塊提供過相應的藍牙工具,解決了眾多網友沒有合適的調試工具的困 ...… 查看全部問答∨ |