学会编单片机必须会c语言吗,十天学会单片机和C语言编程.docx
電平特性
數字電路中只有兩種電平:高和低
單片機為TTL電平:高+5V 低0V
RS232電平:計算機的串口,高-12V 低+12V
所以計算機與單片機之間通訊時需要加電平轉換芯片max232(實驗板上左下角)。
異或運算是實現“必須不同,否則就沒有”
80C51是MCS-51系列中的一個典型品種;其它廠商以8051為基核開發出的CMOS工藝單片機產品統稱為80c51系列。
C-51包含的頭文件
通常有:reg51.h reg52.h math.h ctype.h stdio.h stdlib.h absacc.h
常用有:reg51.h reg52.h 定義特殊功能寄存器和位寄存器
Math.h 定義常用數學運算
數據類型的擴充定義
Sfr:特殊功能寄存器聲明
Sfr16:sfr的16位數據聲明
Sbit:特殊功能位聲明
Bit:位變量聲明
C-51運算符
1 + - * / 加減乘除
2 > >= < <= 大于 大于等于 小于 小于等于
3 == != 測試等于 測試不等于
3 && || ! 邏輯與 邏輯或 邏輯非
4 >> << 位右移 位左移
5 & | 按位與 按位或
6 ^ ~ 按位異或 按位取反
中斷服務程序
函數名()interrupti n using m
{
函數內部實現……
}
I/O口定義
Sbit beep=P2^3;
單片機主要掌握以下幾點
最小系統能夠運行起來的必要條件:1電源2晶振3復位電路
對單片機任意IO口的隨意操作:1輸出控制電平高低2輸出檢測電平高低
定時器:重點掌握最常用的方式2
中斷:外部中斷、定時器中斷、串口中斷
串口通信:單片機之間、單片機與計算機間
KEIL的使用
Main函數
格式:void main()
特點:無返回值,無參。
任何一個C程序有且僅有一個main函數,它是整個程序開始執行的入口。
例如:void main()
{
總程序從這里開始執行;
其他語句;
}
單片機I/O口的使用
對單片機的控制,其實就是對I/O口的控制,無論單片機對外界進行何種控制,或接受外部的何種控制,都是通過I/O口進行的。51單片機總共有P0、P1、P2、P3四個8位雙向輸入輸出端口,每個端口都有鎖存器、輸出驅動器和輸入緩沖器。4個I/O端口都能作輸入輸出口用,其中P0和P2通常用于對外部存儲器的訪問。
在無片外擴展存儲器的系統中,這4個端口的每一位都可以作為準雙向通用I/O端口使用。在具有片外擴展存儲器的系統中,P2口作為高8位地址線,P0口分時作為低8位地址線和雙向數據總線。
當P0作為I/O口使用時,特別是作為輸出時,輸出級屬于開漏電路,必須外接上拉電阻才會有高電平輸出;如果作為輸入,必須先向相應的鎖存器寫“1”,才不會影響輸入電平。
當CPU內部控制信號為“1”時,P0口作為地址/數據總線使用,這時,P0口就無法再作為I/O口使用了。
P1、P2和P3口為準雙向口,在內部差別不大,但使用功能有所不同。
P1口是用戶專用8位準雙向I/O口,具有通用輸入/輸出功能,每一位都能獨立地設定為輸入或輸出。當有輸出方式變為輸入方式時,該位的鎖存器必須寫入“1”,然后才能進入輸入操作。
P2口是8位準雙向I/O口。外接I/O設備時,可作為擴展系統的地址總線,輸出高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中點,所以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
展開閱讀全文
總結
以上是生活随笔為你收集整理的学会编单片机必须会c语言吗,十天学会单片机和C语言编程.docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汇编语言视频教程
- 下一篇: python黑客攻防入门mobi_《Fl