官术网_书友最值得收藏!

第1章 8051單片機(jī)C語言程序設(shè)計概述

開發(fā)8051 單片機(jī)系統(tǒng)時,使用C 語言會使開發(fā)周期大為縮短,開發(fā)效率大幅提高,程序可讀性好且易于移植,所以使用C 語言開發(fā)單片機(jī)系統(tǒng)已經(jīng)成為必然趨勢。本書給出了100 余個在Keil μVision3 下編寫的單片機(jī)C 語言程序案例,這些案例同時給出了Proteus 下的仿真電路。讀者閱讀本書需要已經(jīng)學(xué)習(xí)了8051 單片機(jī)C 語言程序設(shè)計技術(shù),本章僅介紹使用C 語言設(shè)計單片機(jī)系統(tǒng)必須參考和重點掌握的內(nèi)容,這些內(nèi)容會給讀者閱讀、調(diào)試、研究本書案例及進(jìn)行設(shè)計實訓(xùn)提供幫助。

1.1 8051單片機(jī)引腳

圖1-1給出了8051單片機(jī)的幾種不同封裝形式及引腳分布,本節(jié)將對單片機(jī)4個雙向I/O端口引腳、控制引腳、晶振及電源引腳進(jìn)行簡要介紹。

圖1-1 8051單片機(jī)不同封裝形式及引腳圖

8051的4個雙向I/O端口功能如下所述。

(1)P0端口具有雙重功能,它可用做I/O端口,連接輸入/輸出設(shè)備,但需要外接上拉電阻,P0端口還能用做數(shù)據(jù)總線(D0~D7)和低8位地址總線(A0~A7)復(fù)用端口,低8位地址與數(shù)據(jù)分時使用P0端口,低8位地址由ALE(Address Latch Enable,地址鎖存允許)信號的下降沿鎖存到外部地址鎖存器中,然后傳送8位數(shù)據(jù)。本書有關(guān)2764、6264和8255的案例中使用了P0端口的第二重功能。

(2)P1端口是通用I/O端口,每一位都能作為I/O接口線使用,本書有關(guān)獨立按鍵或鍵盤矩陣按鍵的案例中,按鍵多數(shù)連接在P1端口。

(3)P2端口具有雙重功能,它可以作為I/O端口,連接輸入/輸出設(shè)備,在擴(kuò)展外部存儲器或擴(kuò)展I/O接口時,P2端口作為系統(tǒng)擴(kuò)展時16位地址總線的高8位(A8~A15)使用,低8位地址由P0端口提供。本書有關(guān)存儲器擴(kuò)展和接口擴(kuò)展的案例使用了P2端口的第二重功能。

(4)P3端口具有雙重功能,功能一與P1端口相同,作為功能二使用時,P3.0~P3.7分別對應(yīng)于RXD、TXD、INT0、INT1、T0、T1、WR及RD,第3章基礎(chǔ)程序設(shè)計中有關(guān)串口、外部中斷及定時/計數(shù)器的案例分別涉及前6位,第4章硬件應(yīng)用中關(guān)于存儲器擴(kuò)展和接口擴(kuò)展的案例連接了最后2位WR和RD,這2位實際上用于控制總線。

8051的控制引腳有RST,ALE/PROG,PSEN,EA/VPP,本書多數(shù)案例中的RST(Reset)引腳連接了系統(tǒng)復(fù)位外圍電路,只有部分案例未在RST引腳連接復(fù)位電路,但這并不影響Proteus的仿真,ALE引腳在存儲器擴(kuò)展和I/O接口擴(kuò)展案例中用到,另外,由于本書所有案例程序都綁定在8051內(nèi)部程序ROM中,案例中EA全部連接高電平。

XTAL1,XTAL2引腳在本書多數(shù)案例中連接12MHz晶振,在串口通信案例中本書選擇的是11.0592MHz晶振。Proteus缺省晶振連接時不影響仿真運行,頻率可在芯片屬性中直接設(shè)置。主電源引腳VSS,VCC分別接GND和+5V,Proteus仿真時電源已默認(rèn)連接,仿真電路原理圖中它們?nèi)咳笔 .?dāng)然,在實際硬件環(huán)境中,電源與晶振部分不能缺省。

主站蜘蛛池模板: 云阳县| 贵定县| 东宁县| 赤水市| 淮安市| 颍上县| 漯河市| 涪陵区| 东丰县| 新余市| 桑植县| 姜堰市| 吴忠市| 达拉特旗| 东光县| 琼结县| 财经| 白沙| 麦盖提县| 黄梅县| 麻江县| 通州市| 海伦市| 巩留县| 肇东市| 新安县| 太原市| 饶平县| 永寿县| 廉江市| 金塔县| 霞浦县| 镇沅| 大新县| 平果县| 九龙城区| 金川县| 谢通门县| 靖江市| 富宁县| 台北县|