ch02單片機(jī)并行IO端口應(yīng)用-機(jī)器人信息顯示_第1頁
ch02單片機(jī)并行IO端口應(yīng)用-機(jī)器人信息顯示_第2頁
ch02單片機(jī)并行IO端口應(yīng)用-機(jī)器人信息顯示_第3頁
ch02單片機(jī)并行IO端口應(yīng)用-機(jī)器人信息顯示_第4頁
ch02單片機(jī)并行IO端口應(yīng)用-機(jī)器人信息顯示_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

單片機(jī)并行I/O端口應(yīng)用——機(jī)器人信息顯示新工科建設(shè)之路·機(jī)器人技術(shù)與應(yīng)用系列應(yīng)用型人才創(chuàng)新能力培養(yǎng)機(jī)器人制作與開發(fā)(單片機(jī)技術(shù)及應(yīng)用)(第2版)第二章01控制8個LED閃爍本任務(wù)要求通過教學(xué)板上的AT89S52單片機(jī)來控制8個LED閃爍,進(jìn)而熟悉單片機(jī)并行I/O端口的使用及編程方法。本任務(wù)所需的元件包括:8個LED、8個1kΩ電阻和若干導(dǎo)線。在單片機(jī)的P2端口上分別接8個LED,編寫C語言源程序,并在編譯后下載到單片機(jī)中,即可實現(xiàn)控制8個LED閃爍的效果??刂?個LED閃爍控制8個LED閃爍AT89S52單片機(jī)控制8個LED閃爍的電路原理圖如圖2.1所示。8個LED的正極直接與+5V電源連接,負(fù)極則分別接8個1kΩ電阻,然后連接到單片機(jī)P2的8個端口上。電路中的電阻有兩個作用:一是限流,二是接到LED的負(fù)極以增加單片機(jī)端口的輸出電流,提高負(fù)載能力。當(dāng)P2端口被拉低為低電平,即輸出為O時,8個LED同時發(fā)光;反之,當(dāng)P2端口被拉高為高電平,即輸出為“1”時,8個LED同時不亮??刂?個LED閃爍舷意:本任務(wù)不用P1端口的原因是下載端口與Pl5、Pl6、PI7引腳相連,已在第1章搭建單片機(jī)最小系統(tǒng)時用過了。如果使用Pl端口控制LED,那么在搭建電路后將出現(xiàn)可執(zhí)行文件無法載入單片機(jī)的現(xiàn)象。為避免這種現(xiàn)象的發(fā)生,在下載可執(zhí)行文件時,P15、P16、P17引腳不能連接任何電路,這樣可執(zhí)行文件才能正常下載??刂?個LED閃爍控制8個LED閃爍搭建時,將8個LED并排插在面包板上,搭建后的實物圖如圖2.2所示。十六進(jìn)制數(shù)Ox00轉(zhuǎn)化成二進(jìn)制數(shù)為00000000,P2=0x00表示將00000000的值賦給P2端口的8個連接LED的引腳,P2端口的8個引腳被清零,即為低電平,就點(diǎn)亮了8個LED。十六進(jìn)制數(shù)Oxff轉(zhuǎn)化成二進(jìn)制數(shù)為11111111,P2=0xff表示將11111111的值賦給P2端口,P2端口的8個引腳被置1,即為高電平,就熄滅了8個LED??刂?個LED閃爍試一試修改程序?qū)崿F(xiàn)下面的燈光效果。①偶數(shù)燈先閃爍4次,奇數(shù)燈再閃爍4次,循環(huán)不止。②用8個LED構(gòu)建自己想要的模型,然后點(diǎn)亮??刂?個LED閃爍02流水燈控制主函數(shù)在開始時首先執(zhí)行P2=0xfe的賦初值操作,表示8個LED的初始狀態(tài)是連接P20引腳的LED亮,其他7個LED滅,再執(zhí)行delayms(150)函數(shù),延時150ms。然后進(jìn)入大循環(huán),在大循環(huán)內(nèi)執(zhí)行“P2=_crol_(P2,1)”語句,將P2中存儲的二進(jìn)制數(shù)循環(huán)左移1位,即由11111110變成11111101,結(jié)果就是被點(diǎn)亮的LED移動一位(向左還是向右要根據(jù)LED接線方式而定)。流水燈控制單片機(jī)的內(nèi)部結(jié)構(gòu)然后執(zhí)行delayms(150)函數(shù),延時150ms。P2循環(huán)向左移動實際上是并行端口P2對應(yīng)的寄存器向高位移動,最左的第8位補(bǔ)充到最右的第1位,這樣P2中的二進(jìn)制數(shù)就形成循環(huán)移動。在大循環(huán)內(nèi)不斷執(zhí)行“P2=_crol_(P2,1)”和“delayms(150)”語句,表示被點(diǎn)亮的LED不斷地被移位,因此就可以看到LED被流動點(diǎn)亮的現(xiàn)象。流水燈控制單片機(jī)的內(nèi)部結(jié)構(gòu)試一試花樣流水燈:8個LED按預(yù)設(shè)的多種花樣變換顯示。可以循環(huán)移動兩位間隔點(diǎn)亮LED,也可以讓8個LED先依次亮再依次滅。LED模擬交通燈:東西方向綠燈亮若干秒,黃燈閃爍5次后紅燈亮,紅燈亮后,南北方向由紅燈變?yōu)榫G燈,若干秒后南北方向黃燈閃爍5次后變?yōu)榧t燈,東西方向變綠燈,如此重復(fù)。完成LED模擬交通燈需要用到三種顏色的LED,這很容易從電子市場買到。另外,最好在面包板上將LED重新布局并搭建電路,讓交通燈看起來更貼近真實的效果。流水燈控制03數(shù)碼管顯示本任務(wù)介紹用AT89S52單片機(jī)并行1/O端口控制LED數(shù)碼管顯示數(shù)字和字母的方法,了解和掌握LED數(shù)碼管的編程控制技術(shù)。利用單片機(jī)的并行I/O端口控制1個1位八段共陰數(shù)碼管顯示數(shù)字和字符:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。顯示的方式是循環(huán)顯示0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,每次顯示間隔時間為0.5s。本任務(wù)所需元件的清單包括:1個1位八段共陰數(shù)碼管、8個1kΩ電阻和若干導(dǎo)線。數(shù)碼管顯示LED數(shù)碼管(LEDSegmentDisplays)是一種半導(dǎo)體發(fā)光器件,其基本單元是LED。LED數(shù)碼管通過點(diǎn)亮內(nèi)部的LED來顯示數(shù)字或字符,所以LED數(shù)碼管顯示的清晰度與LED的亮度有著密切聯(lián)系。LED數(shù)碼管按段數(shù)可分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多1個小數(shù)點(diǎn)LED單元。本任務(wù)使用的數(shù)碼管是八段數(shù)碼管。八段數(shù)碼管實際上就是把8個LED封裝在一起組成“8”字和1個小數(shù)點(diǎn)。數(shù)碼管顯示LED數(shù)碼管簡介數(shù)碼管顯示圖2.3所示為八段數(shù)碼管實物圖。數(shù)碼管顯示圖2.4所示為八段數(shù)碼管引腳模型。數(shù)碼管顯示共陽數(shù)碼管的內(nèi)部結(jié)構(gòu)如圖2.5所示。數(shù)碼管顯示共陰數(shù)碼管把所有LED的陰極連接起來形成陰極公共端com,共陰數(shù)碼管的內(nèi)部結(jié)構(gòu)如圖2.6所示。數(shù)碼管顯示共陰數(shù)碼管與AT89S52單片機(jī)的電路連接如圖2.7所示。電路設(shè)計和搭建數(shù)碼管的陰極公共端com與AT89S52教學(xué)板的GND端連接,數(shù)碼管的a、b、c、d、e、f、g、Dp引腳分別與AT89S52教學(xué)板的P20、P21、P22、P23、P24、P25、P26、P27引腳相連,同時再分別接一個lkΩ的上拉電阻。數(shù)碼管顯示數(shù)碼管顯示八段數(shù)碼管顯示電路連接效果圖如圖2.8所示。數(shù)碼管顯示表2.1給出了共陰數(shù)碼管的顯示編碼。數(shù)碼管顯示表2.2給出了共陽數(shù)碼管的顯示編碼。04字符型液晶顯示(LED)模塊和廣告機(jī)器人的制作本任務(wù)的目的是使讀者掌握LCD1602模塊的顯示原理及編程方法。將LCD1602模塊接至教學(xué)板,編寫程序使其顯示兩行字符。本任務(wù)所需元器件包括:1塊LCD1602,兩排10pin等長排針,銅柱、螺母、螺釘若干。字符型液晶顯示(LED)模塊和廣告機(jī)器人的制作在智能電子產(chǎn)品中,LED數(shù)碼管只能用來顯示數(shù)字或者少量的字母,當(dāng)需要顯示全部英文字母、圖像或漢字時,必須選擇使用LCD。字符型LCD模塊是用于顯示字母、數(shù)字、符號等的點(diǎn)陣型LCD模塊,目前常用的有16字×1行、16字×2行、20字×2行和40字×2行等字符模組。每個顯示的字符由5×7或5×11點(diǎn)陣組成,點(diǎn)陣字符位之間有一個空格,點(diǎn)陣的間隔起到字符間距和行距的作用。字符型點(diǎn)陣式LCD模塊(LiquidCrystalDisplayModule),簡稱LCM。字符型液晶顯示(LED)模塊和廣告機(jī)器人的制作字符型LCD1602模塊簡介LCM雖然顯示的字?jǐn)?shù)各不相同,但是都具有相同的輸入、輸出界面,其在現(xiàn)實生活中無處不在,已經(jīng)廣泛地應(yīng)用于各個領(lǐng)域。本任務(wù)以16字×2行(簡稱16×2)字符模組、每個字符由5×7點(diǎn)陣組成的LCD模塊為例,詳細(xì)介紹字符型LCD模塊的編程技術(shù)。通過介紹并實踐實際的LCD模塊控制程序,使讀者掌握字符型LCD模塊的程序設(shè)計方法,使LCD聽從指揮顯示出各種字符和信息,為產(chǎn)品設(shè)計增色添輝。字符型液晶顯示(LED)模塊和廣告機(jī)器人的制作字符型LCD1602模塊簡介①RS用于寄存器選擇,高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器。②R/W用于讀/寫選擇,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。③E為使能信號端,實現(xiàn)LCD模塊與AT89S52的數(shù)據(jù)交互。字符型液晶顯示(LED)模塊和廣告機(jī)器人的制作D0~D7為8位雙向數(shù)據(jù)線。LCD模塊的基本操作功能與控制引腳設(shè)置如下。①讀狀態(tài)。②寫指令。③讀數(shù)據(jù)。④寫數(shù)據(jù)。字符型液晶顯示(LED)模塊和廣告機(jī)器人的制作字符型液晶顯示(LED)模塊和廣告機(jī)器人的制作LCD1602模塊內(nèi)部顯示地址如圖2.9所示。在LCD1602模塊內(nèi)部RAM顯示緩沖區(qū)地址中,00~0F表示LCD1602模塊的上一行的每個字符,40~4F對應(yīng)LCD1602模塊的下一行的每個字符,需要在相應(yīng)的RAM地址中寫入要顯示字符的ASCII代碼才能顯示。字符型液晶顯示(LED)模塊和廣告機(jī)器人的制作電路設(shè)計和搭建將兩排10pin等長排針插到AT89S52教學(xué)板的JP2接口上,并在另一端安裝好銅柱、螺母和螺釘。此LCD1602模塊是大灣教育自制的產(chǎn)品,接口方式與安裝位置完全匹配鷗鵬機(jī)器人系列,在使用過程中僅需對位安裝即可。此任務(wù)中的LCD1602模塊用5V電壓驅(qū)動,屏幕可顯示兩行(每行16個字符),不能顯示漢字,帶背光,內(nèi)置含128個字符的ASCII字符集字庫和并行接口。字符型液晶顯示(LED)模塊和廣告機(jī)器人的制作字符型液晶顯示(LED)模塊和廣告機(jī)器人的制作LCD1602模塊與安裝示意圖如圖2.10所示。試一試結(jié)合前面所學(xué)的知識,控制機(jī)器人運(yùn)動,并在LCD1602模塊上用一行顯示機(jī)器人的運(yùn)動狀態(tài),另一行顯示廣告的內(nèi)容。修改程序讓LCD1602模塊上下兩行滾動顯示或者左右時隱時現(xiàn)地移動顯示。字符型液晶顯示(LED)模塊和廣告機(jī)器人的制作05擴(kuò)展閱讀1引腳:VSS為地電源。2引腳:VDD接5V正電源。3引腳:V0為液晶顯示器對比度調(diào)整端,當(dāng)接正電源時對比度最弱,當(dāng)接地電源時對比度最強(qiáng)。擴(kuò)展閱讀4引腳:RS為寄存器選擇,當(dāng)高電平時選擇數(shù)據(jù)寄存器,當(dāng)?shù)碗娖綍r選擇指令寄存器。5引腳:R/W為讀寫信號線,當(dāng)高電平時進(jìn)行讀操作,當(dāng)?shù)碗娖綍r進(jìn)行寫操作。6引腳:E端為使能信號端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。擴(kuò)展閱讀7~14引腳:D0~D7為8位雙向數(shù)據(jù)線。15~16引腳:空腳。擴(kuò)展閱讀本章用到的教學(xué)板就是單片機(jī)最小系統(tǒng)板。自行設(shè)計和制作教學(xué)板是電子工程師必須具備的基本技能。這里使用Protel99SE軟件簡要介紹其PCB的設(shè)計過程。首先建立一個DDB文件,然后在DDB文件中新建電路圖設(shè)計項目SCH文件,繪制電路原理圖。將所需的元件放進(jìn)SCH文件中,并設(shè)計元件的封裝、名稱、屬性等,再進(jìn)行有效連線。擴(kuò)展閱讀教學(xué)板的制作之后,在Documents目錄下,新建一個PCB文件,添加好封裝庫,將SCH文件導(dǎo)入PCB文件中,再合理調(diào)整元件位置,可以進(jìn)行自動布線,也可以手動布線。在完成后,將電路圖用熱轉(zhuǎn)印紙打印出來,也可在覆銅板上焊接獲得。由于軟件自帶的庫元件不完全,因此可以制作自己的SCH元件庫,自己制作Protel99SE封裝。在應(yīng)用此類軟件時會遇到很多問題,需要花一定的時間學(xué)習(xí),可以查閱相關(guān)的參考資料。擴(kuò)展閱讀Protel軟件主要在WindowsXP系統(tǒng)上使用,在Windows7、Windows8和Windows10上使用會出現(xiàn)一些問題,Protel軟件的原廠商Altium公司已經(jīng)推出了Protel系列的最新高端版本AltiumDesigner(簡稱AD),現(xiàn)在WindowsXP系統(tǒng)已停止更新,隨著Windows7、Windows8和Windows10的普及,電子產(chǎn)品開發(fā)系統(tǒng)將會越來越多地用到AD軟件。讀者可以嘗試去學(xué)習(xí)AltiumDesigner軟件的使用方法,然后將單片機(jī)最小系統(tǒng)制成板,控制機(jī)器人運(yùn)動,從中享受學(xué)習(xí)的樂趣。擴(kuò)展閱讀06工程素質(zhì)和技

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論