首頁>技術>

學了一段C語言基礎,買了ARM(4412)開發板準備學嵌入式,沒有任何基礎,看了幾天裸機教程,頭大啊真是從入門到放棄。欲速則不達,還是從基礎的學起吧,先搞51微控制器從基礎學起,然後在stm32,最後學ARM開發板。

花了幾百大洋買了嵌入式開發板,不想再買別的板子了,於是發現了新大陸---Proteus,不光能模擬51微控制器還能模擬stm32十分強大。

元件庫都是英文的,常用的幾種元件中英文對照如下。

RES:電阻;CAP:電容;BUTTON:按鍵開關;CRYSTAL:晶振;DIODE:二極體;LED:發光二極體。

51微控制器幾個重要元件

MCU表示微控制器微處理器,簡單來說就是集CPU(運算、控制)、RAM(資料儲存-記憶體)、ROM(程式儲存)、輸入輸出裝置(串列埠、並口等)和中斷系統處於同一晶片的器件

微控制器最小系統必須包含:

1.電源電路

2.晶體震盪電路

3.復位電路

51微控制器特有的程式設計語句

1.標頭檔案#include<reg51.h>:定義了一些51微控制器特殊暫存器等

2.sfr(special function register):特殊功能暫存器宣告。

sfr P0 = 0x80;

0x80為暫存器地址,透過地址來訪問暫存器(注意這個 P 必須大寫)

只有聲明瞭這條語句,編譯器才知道P0是什麼東西。

3.sbit:特殊功能位宣告

 sbit led = P0^0//P0口的第0位取了一個更形象的名字叫做led

IO口是特殊功能暫存器,初始化值為高電平。P0口有8位(bit),正好是一個位元組Byte

區分位元組地址和位地址

P0的位元組地址是80H。

SP的位元組地址是81H。

----

P0的位元組地址是80H,它有8個bit(P0^0 - P0^7), 對應的 位地址是80H~87H。

位地址81H,和SP的位元組地址81H,沒有衝突。

位 操作和匯流排操作 點亮led

keil編譯c檔案,然後生成hex檔案載入到proteus中

1.位操作

#include<reg51.h>  sbit led7 = P1^7;void main(){    led7=1;    while(1);}

這樣就完成了操作,不影響P1口上其它IO的值

2.匯流排操作

要求讓P1口的最高位置(P1^7)為“1”,其它為0

#include<reg51.h>void main(){    P1 = 0x80;//注意:1000 0000  P0口中儲存的資料    while(1);}

記憶體地址是記憶體當中儲存資料的一個標識,並不是資料本身,透過記憶體地址可以找到記憶體當中儲存的資料。

12
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • frp配置-內網穿透工具最佳實踐