郭天祥 十天搞定单片机 (1)基础知识和点亮发光二极管
把手伸向了經典之作郭天祥。這個教程2018年就買了,一直沒有學完。寫學習筆記就要督促自己好好學習!
- 什么是單片機
?????? 在一片集成電路芯片上集成微處理器、存儲器、I/O接口電路,從而構成了單芯片微型計算機,即單片機。
- 51 單片機
Intel, MCS-51系列,集成8位CPU,4K ROM,128K RAM,4個8位并口,1個全雙工串行口,2個16位定時/計數器。尋址范圍64K,并又控制功能較強的布爾處理器。
- 電平特性
單片機用的是TTL電平,高 +5V,低 0V ; 計算機的串口, RS232電平,高 -12V,低 +12V。所以在計算機和單片機通訊時(燒錄軟件)要添加轉換芯片max 232
- 二進制的邏輯運算
- 與,符號·,&
- 或,符號+,|
- 非,符號:上面一橫
- 異或:符號⊕,相同為0,不同為1
- 80C51系列介紹
80C51是MCS-51系列中的經典品種,其他廠商以8051為基核開發的都叫80C51系列。試驗板是
STC89C52RC40C-PDIP0721CV4336
STC: 廠商
89:89系列
C:CMOS工藝
52:51,54,55,58,516,5后面代表程序存儲空間大小,2*4K=8K
40: 所能支持的晶振的最高頻率是40M Hz
C: commercial, 商業級,還有I,industrial,工業級
DIP:封裝格式
P-DIP:雙列直插式
0721:07年第21周生產
- 總線型和非總線型:總線型可以看到P0,P1,P2。。。每組都有8位
- 看P3口的接口定義
- 8051的內部結構
- 總線:分為內部總線和外部總線,外部總線三種:數據總線DB,地址總線AB,控制總線CB
- CPU:由運算和控制邏輯組成,還包括中斷系統和部分外部特殊功能寄存器
- RAM:存放可以讀寫的數據
- ROM:存放程序和原始數據
- C51語言中的基本數據類型
- 有無符號:有符號的數,最高位是符號位,1為負數,0為正數
- 浮點型:float,
SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM
S 代表符號位,標E的位,表示E后面的數字,M表示前面的數字
- Double:
SEEEEEEE EEEEMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM MMMMMMMM
- C51的數據類型擴充定義
- Sfr: 特殊功能寄存器聲明
- Sfr16: sfr的16位數據聲明
- Sbit: 特殊功能位聲明
- Bit:位變量聲明
- 例如:sfr SCON=0X98;
- Sbit OV=PSW^2; //把PSW寄存器的第二位定義為OV,以后想操作這個位時使用OV就可以了
- C51包含的頭文件
- 通常有reg51.h, reg52.h, math.h, ctype.h, stdio.h, stdlib.h, absacc.h
- 常用的有reg51.h, reg52.h 定義特殊功能寄存器和位寄存器; math.h, 定義了常用的數學運算
- 使用時寫#include<reg51.h> (例子)就可以了
- C51的運算符
- 基本的加減乘除、大于小于
- &&邏輯與
- ||邏輯或
- !邏輯非
- >> , << 位右移,位左移 (用0來補空位,還有一個循環右移、循環左移)
- & 按位與
- | 按位或
- ^ 按位異或
- ~按位取反
- C51的基本語句
- If
- While
- for
- Switch/ case
- 中斷服務程序
- I/O口定義
- 單片機最小系統能運行起來的條件:電源;晶振;復位電路(程序從頭運行)
- 每個C語言文件至少有一個main函數, void main() {}
- 學習目標
- 對單片機的I/O口進行操作
- 定時器的用法
- 中斷:外部中斷,定時器中斷;串口中斷
- 串口通信:單片機之間,單片機和計算機之間
- 電路圖繪制軟件:altium Designer
- 參考書:C語言,單片機C語言。。。
- Keil軟件的使用
- 先新建一個project
- 選擇使用的芯片, Atmel 89C52
- 新建一個file
- 保存,注意保存為.c的后綴
- 選擇target1 下,點擊source group, 右鍵,選擇 add file to source group
- 編寫程序
- 位操作方法
- 總線操作方法
想要第二個燈亮,就是第二個為0,從7位到0位依次是1111 1101, 寫成16進制就是fd
- 編譯
- 選擇生成hex文件,再編譯就會生成hex文件,這個就是燒錄的軟件
- 這個單片機支持串口下載程序,要用STC_ISP來燒軟件
- 打開軟件后,修改使用的芯片,串口號,波特率,打開hex文件
- 下載程序要“冷啟動”,即先下載軟件,再上電
- 看電路原理圖
- 限流電阻的計算
- 鎖存器的使用:
- DIOLA可以看到是從89C52連出來的
- 查看芯片手冊有真值表
- L表示低電平,H表示高電平,X表示任意,Z是高阻態,介于高低電平之間,Q0是上一次的值
- 之所以用一個鎖存器,是為了防止發光二極管閃爍
總結
以上是生活随笔為你收集整理的郭天祥 十天搞定单片机 (1)基础知识和点亮发光二极管的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《《《翻译》》》avod 三维生成与目标
- 下一篇: 《九阴真经:iOS黑客攻防秘籍》新书发布