学会编单片机必须会c语言吗,十天学会单片机和C语言编程.docx
電平特性
數(shù)字電路中只有兩種電平:高和低
單片機(jī)為TTL電平:高+5V 低0V
RS232電平:計(jì)算機(jī)的串口,高-12V 低+12V
所以計(jì)算機(jī)與單片機(jī)之間通訊時(shí)需要加電平轉(zhuǎn)換芯片max232(實(shí)驗(yàn)板上左下角)。
異或運(yùn)算是實(shí)現(xiàn)“必須不同,否則就沒有”
80C51是MCS-51系列中的一個(gè)典型品種;其它廠商以8051為基核開發(fā)出的CMOS工藝單片機(jī)產(chǎn)品統(tǒng)稱為80c51系列。
C-51包含的頭文件
通常有: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ù)據(jù)類型的擴(kuò)充定義
Sfr:特殊功能寄存器聲明
Sfr16:sfr的16位數(shù)據(jù)聲明
Sbit:特殊功能位聲明
Bit:位變量聲明
C-51運(yùn)算符
1 + - * / 加減乘除
2 > >= < <= 大于 大于等于 小于 小于等于
3 == != 測(cè)試等于 測(cè)試不等于
3 && || ! 邏輯與 邏輯或 邏輯非
4 >> << 位右移 位左移
5 & | 按位與 按位或
6 ^ ~ 按位異或 按位取反
中斷服務(wù)程序
函數(shù)名()interrupti n using m
{
函數(shù)內(nèi)部實(shí)現(xiàn)……
}
I/O口定義
Sbit beep=P2^3;
單片機(jī)主要掌握以下幾點(diǎn)
最小系統(tǒng)能夠運(yùn)行起來的必要條件:1電源2晶振3復(fù)位電路
對(duì)單片機(jī)任意IO口的隨意操作:1輸出控制電平高低2輸出檢測(cè)電平高低
定時(shí)器:重點(diǎn)掌握最常用的方式2
中斷:外部中斷、定時(shí)器中斷、串口中斷
串口通信:單片機(jī)之間、單片機(jī)與計(jì)算機(jī)間
KEIL的使用
Main函數(shù)
格式:void main()
特點(diǎn):無返回值,無參。
任何一個(gè)C程序有且僅有一個(gè)main函數(shù),它是整個(gè)程序開始執(zhí)行的入口。
例如:void main()
{
總程序從這里開始執(zhí)行;
其他語句;
}
單片機(jī)I/O口的使用
對(duì)單片機(jī)的控制,其實(shí)就是對(duì)I/O口的控制,無論單片機(jī)對(duì)外界進(jìn)行何種控制,或接受外部的何種控制,都是通過I/O口進(jìn)行的。51單片機(jī)總共有P0、P1、P2、P3四個(gè)8位雙向輸入輸出端口,每個(gè)端口都有鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器。4個(gè)I/O端口都能作輸入輸出口用,其中P0和P2通常用于對(duì)外部存儲(chǔ)器的訪問。
在無片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,這4個(gè)端口的每一位都可以作為準(zhǔn)雙向通用I/O端口使用。在具有片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,P2口作為高8位地址線,P0口分時(shí)作為低8位地址線和雙向數(shù)據(jù)總線。
當(dāng)P0作為I/O口使用時(shí),特別是作為輸出時(shí),輸出級(jí)屬于開漏電路,必須外接上拉電阻才會(huì)有高電平輸出;如果作為輸入,必須先向相應(yīng)的鎖存器寫“1”,才不會(huì)影響輸入電平。
當(dāng)CPU內(nèi)部控制信號(hào)為“1”時(shí),P0口作為地址/數(shù)據(jù)總線使用,這時(shí),P0口就無法再作為I/O口使用了。
P1、P2和P3口為準(zhǔn)雙向口,在內(nèi)部差別不大,但使用功能有所不同。
P1口是用戶專用8位準(zhǔn)雙向I/O口,具有通用輸入/輸出功能,每一位都能獨(dú)立地設(shè)定為輸入或輸出。當(dāng)有輸出方式變?yōu)檩斎敕绞綍r(shí),該位的鎖存器必須寫入“1”,然后才能進(jìn)入輸入操作。
P2口是8位準(zhǔn)雙向I/O口。外接I/O設(shè)備時(shí),可作為擴(kuò)展系統(tǒng)的地址總線,輸出高8位地址,與P0口一起組成16位地址總線。
過P做BM的垂線,垂足為T,過Q做MC的垂線,垂足為S。
PM*PM=PB*PB-BT*BT+MT*MT
MQ*MQ=QC*QC-CS*CS+MS*MS
PQ*PQ=PM*PM+MQ*MQ= PB*PB-BT*BT+MT*MT+ QC*QC-CS*CS+MS*MS
三角形BPT與QSC相似,PT/SC=BT/QS,即PT*QS=BT*SC
三角形PMT與QSM相似,PT/MS=MT/QS,即PT*QS=MS*MT
即BT*SC=MS*MT,BT/MT=MS/SC.
由于M為BC中點(diǎn),所以BM=MC。
所以BT=MS,MT=CS
所以PQ*PQ= PB*PB-BT*BT+MT*MT+ QC*QC-CS*CS+MS*MS
= PB*PB + QC*QC-CS*CS+MS*MS-BT*BT+MT*MT
= PB*PB + QC*QC
展開閱讀全文
總結(jié)
以上是生活随笔為你收集整理的学会编单片机必须会c语言吗,十天学会单片机和C语言编程.docx的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汇编语言视频教程
- 下一篇: java基础视频教程 学习笔记