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