單片機(jī)應(yīng)用技術(shù)(經(jīng)典項(xiàng)目化案例式新形態(tài)活頁教材)第5版 課件全套 王靜霞 2.1 8051的信號引腳 -7.3.4 PCF8591的AD轉(zhuǎn)換及程序設(shè)計(jì)_第1頁
單片機(jī)應(yīng)用技術(shù)(經(jīng)典項(xiàng)目化案例式新形態(tài)活頁教材)第5版 課件全套 王靜霞 2.1 8051的信號引腳 -7.3.4 PCF8591的AD轉(zhuǎn)換及程序設(shè)計(jì)_第2頁
單片機(jī)應(yīng)用技術(shù)(經(jīng)典項(xiàng)目化案例式新形態(tài)活頁教材)第5版 課件全套 王靜霞 2.1 8051的信號引腳 -7.3.4 PCF8591的AD轉(zhuǎn)換及程序設(shè)計(jì)_第3頁
單片機(jī)應(yīng)用技術(shù)(經(jīng)典項(xiàng)目化案例式新形態(tài)活頁教材)第5版 課件全套 王靜霞 2.1 8051的信號引腳 -7.3.4 PCF8591的AD轉(zhuǎn)換及程序設(shè)計(jì)_第4頁
單片機(jī)應(yīng)用技術(shù)(經(jīng)典項(xiàng)目化案例式新形態(tài)活頁教材)第5版 課件全套 王靜霞 2.1 8051的信號引腳 -7.3.4 PCF8591的AD轉(zhuǎn)換及程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩422頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2.18051的信號引腳《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院12345678910111213141516171819204039383736353433323130292827262524232221VCCGND電源引腳接入單片機(jī)的工作電源VCC(40):接+5V電源GND(20):接地12345678910111213141516171819204039383736353433323130292827262524232221VCCGNDP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0口(39~32):P0.0~P0.7引腳P1口(1~8):P1.0~P1.7引腳P2口(21~28):P2.0~P2.7引腳P3口(10~17):P3.0~P3.7引腳12345678910111213141516171819204039383736353433323130292827262524232221VCCGNDP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0XTAL2XTAL1RSTRST(9):Reset,復(fù)位信號XTAL1(19):片內(nèi)振蕩器的反相放大器和外部時(shí)鐘發(fā)生器的輸入端XTAL2(18):片內(nèi)振蕩器的反相放大器和外部時(shí)鐘發(fā)生器的輸出端12345678910111213141516171819204039383736353433323130292827262524232221VCCGNDP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0XTAL2XTAL1RSTEAALEPSENPSEN(29):外部程序存儲器讀選通信號,低電平有效。ALE(30):地址鎖存控制信號EA(31):訪問程序存儲控制信號,通常接高電平。引腳名稱引腳功能P0.0~P0.7P0口8位雙向端口線P1.0~P1.7P1口8位雙向端口線P2.0~P2.7P2口8位雙向端口線P3.0~P3.7P3口8位雙向端口線ALE地址鎖存控制信號外部程序存儲器讀選通信號訪問程序存儲控制信號RST復(fù)位信號XTAL1和XTAL2外接晶體引線端VCC+5V電源VSS地線12345678910111213141516171819204039383736353433323130292827262524232221VCCGNDP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0XTAL2XTAL1RSTEAALEPSENRXD/TXD/INT0/INT1/T0/T1/WR/RD/第一功能第二功能第二功能信號名稱P3.0RXD串行數(shù)據(jù)接收P3.1TXD串行數(shù)據(jù)發(fā)送P3.2外部中斷0申請P3.3外部中斷1申請P3.4T0定時(shí)/計(jì)數(shù)器0的外部輸入P3.5T1定時(shí)/計(jì)數(shù)器1的外部輸入P3.6外部RAM或外部I/O寫選通P3.7外部RAM或外部I/O讀選通P3口各引腳的第二功能12345678910111213141516171819204039383736353433323130292827262524232221VCCGNDP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0XTAL2XTAL1RSTEAALEPSENRXD/TXD/INT0/INT1/T0/T1/WR/RD//D0/A0/D1/A1/D2/A2/D3/A3/D4/A4/D5/A5/D6/A6/D7/A7/A15/A14/A13/A12/A11/A10/A9/A82.2.1單片機(jī)時(shí)鐘電路《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院電源太陽空氣水下載程序?人的脈搏波振蕩信號心臟時(shí)鐘電路振蕩信號fosc:6MHz,12MHz,11.0592MHz起振電容C1和C2:30pf左右輸入端輸出端時(shí)鐘電路是單片機(jī)應(yīng)用系統(tǒng)中必需的電路。電源單片機(jī)下載程序時(shí)鐘電路復(fù)位電路單片機(jī)最小系統(tǒng)單片機(jī)中的各種操作在時(shí)間上要有一個嚴(yán)格的先后次序,這種次序就是單片機(jī)時(shí)序。單片機(jī)時(shí)序foscTosc=1/foscTosc把振蕩脈沖的周期定義為節(jié)拍,用P表示

振蕩信號:時(shí)鐘電路產(chǎn)生的信號狀態(tài):單片機(jī)時(shí)鐘信號的周期fosc時(shí)鐘信號P1P2S把時(shí)鐘信號的周期定義為狀態(tài),用S表示

一個機(jī)器周期機(jī)器周期:是單片機(jī)中最基本的時(shí)間單位fosc時(shí)鐘信號P1P2規(guī)定一個機(jī)器周期的寬度為6個狀態(tài),表示為S1~S6。

P1P2P1P2P1P2P1P2P1P2S1S2S3S4S5S6S1P1S1P2S2P1S2P2S3P1S3P2S4P1S4P2S5P1S5P2S6P1S6P2T機(jī)器=12*Tosc=12

/foscfosc=6MHzT機(jī)器=12

/(6*106)=2us機(jī)器周期:單片機(jī)中最基本的時(shí)間單位指令周期:一條指令執(zhí)行的時(shí)間單周期指令:執(zhí)行時(shí)間1個機(jī)器周期雙周期指令:執(zhí)行時(shí)間2個機(jī)器周期四周期指令:執(zhí)行時(shí)間4個機(jī)器周期延時(shí)時(shí)間:把執(zhí)行指令的時(shí)間累加起來晶振頻率振蕩信號頻率振蕩信號周期(節(jié)拍)狀態(tài)時(shí)鐘機(jī)器周期2分頻6分頻單周期指令雙周期指令四周期指令感謝您的觀看Thanks

for

your

attention.

2.2.2單片機(jī)復(fù)位電路《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院復(fù)位讓電腦從瘋狂混亂的狀態(tài),恢復(fù)到一個最初的正常狀態(tài)。從最初的狀態(tài)開始繼續(xù)工作,從頭再來。死機(jī)電腦運(yùn)行進(jìn)入了瘋狂混亂的狀態(tài),就像人昏死過去了,對外界沒有了任何反映。程序計(jì)數(shù)器PC不可控制、不聽指揮了。2個機(jī)器周期以上fosc=12MHzT機(jī)器=1us2us8051。。+5VGND10k?10μF。。+5VGND上電復(fù)位電路10k?10μF按鍵復(fù)位電路.RESET高電平10k?10μF單片機(jī)復(fù)位電路時(shí)鐘電路單片機(jī)最小系統(tǒng)電路讓單片機(jī)恢復(fù)到確定的初始狀態(tài)讓單片機(jī)從初始狀態(tài)開始工作感謝您的觀看Thanks

for

your

attention.

2.3.1片內(nèi)數(shù)據(jù)存儲器《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院8051的內(nèi)部RAM共有256個單元,通常把這256個單元按其功能劃分為兩部分:低128單元(單元地址0x00~0x7F)和高128單元(單元地址0x80~0xFF)。片內(nèi)數(shù)據(jù)存儲器RAM:

RandomAccessMemory,隨機(jī)存取存儲器特點(diǎn):可以隨機(jī)讀寫數(shù)據(jù),掉電內(nèi)容丟失容量:低128×8用途:存放中間結(jié)果或臨時(shí)數(shù)據(jù)——數(shù)據(jù)存儲器序

號區(qū)

域地

址功

能1工作寄存器區(qū)0x00~0x07第0組工作寄存器(R0~R7)0x08~0x0F第1組工作寄存器(R0~R7)0x10~0x17第2組工作寄存器(R0~R7)0x18~0x1F第3組工作寄存器(R0~R7)2位尋址區(qū)0x20~0x2F位尋址區(qū),位地址為:0x00~0x7F3用戶RAM區(qū)0x30~0x7F用戶數(shù)據(jù)緩沖區(qū)片內(nèi)數(shù)據(jù)存儲器低128單元這128字節(jié)的數(shù)據(jù)存儲器怎樣使用呢?其實(shí),我們采用C語言編程的話,只要按照要求定義各類變量就可以了,不需要我們來具體考慮怎樣存放這些中間變量,這也是我們采用C語言編程的好處,我們不需要了解太多單片機(jī)內(nèi)部的結(jié)構(gòu)。專用寄存器SFR控制程序硬件系統(tǒng)專用寄存器專用寄存器

單片機(jī)專用寄存器,也稱為特殊功能寄存器(SpecialFunctionRegister,SFR)位于內(nèi)部RAM地址空間的高128字節(jié)位置(80H~FFH)專用寄存器21個SFR地址不連續(xù)空閑單元用戶不可使用程序計(jì)數(shù)器PC,物理獨(dú)立,不占RAM單元程序計(jì)數(shù)器PCProgramCounter——PC16位的寄存器,尋址范圍64KB程序計(jì)數(shù)器PC內(nèi)容為下一條將要執(zhí)行指令的地址有自動加1功能,從而控制程序的執(zhí)行順序程序計(jì)數(shù)器PC用戶無法對它進(jìn)行讀寫。但可以通過轉(zhuǎn)移、調(diào)用等指令改變其內(nèi)容,以實(shí)現(xiàn)程序的轉(zhuǎn)移單片機(jī)復(fù)位時(shí),PC=0000H累加器ACC寄存器B程序狀態(tài)字PSW數(shù)據(jù)指針DPTR堆棧指針SP常用寄存器sfrP1=0x90;//專用寄存器P1的地址是0x90P1=0x00;sbitP1_0=P1^0;//定義SFR中的可尋址位

P1_0=1;sfr和sbit

在通常情況下,這些專用寄存器已經(jīng)在頭文件regx51.h中定義了,只要在程序中包含了該頭文件,就可以直接使用已定義的專用寄存器。#include<regx51.h>sfr和sbit感謝您的觀看Thanks

for

your

attention.

2.3.2片外數(shù)據(jù)存儲器《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院感謝您的觀看Thanks

for

your

attention.

2.3.3程序存儲器《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院單片機(jī)應(yīng)用系統(tǒng)程序存儲器程序存儲器直接使用單片機(jī)內(nèi)部程序存儲器程序存儲器直接使用單片機(jī)外部程序存儲器程序存儲器使用單片機(jī)內(nèi)部程序存儲器和外部存儲器程序存儲器直接使用單片機(jī)內(nèi)部程序存儲器中斷向量區(qū)ORG0000HC語言程序在單片機(jī)C語言程序設(shè)計(jì)中,用戶無須考慮程序的存放地址,編譯程序會在編譯過程中按照上述規(guī)定,自動安排程序的存放地址。C語言程序C語言是從main()函數(shù)開始執(zhí)行的,編譯程序會在程序存儲器的0000H處自動存放一條轉(zhuǎn)移指令,跳轉(zhuǎn)到main()函數(shù)存放的地址;中斷函數(shù)也會按照中斷類型號,自動由編譯程序安排存放在程序存儲器相應(yīng)的地址中。存儲器類型描

述data直接訪問內(nèi)部數(shù)據(jù)存儲器,允許最快訪問(128B)bdata可位尋址內(nèi)部數(shù)據(jù)存儲器,允許位與字節(jié)混合訪問(16B)idata間接訪問內(nèi)部數(shù)據(jù)存儲器,允許訪問整個內(nèi)部地址空間(256B)pdata“分頁”外部數(shù)據(jù)存儲器(256B)xdata外部數(shù)據(jù)存儲器(64KB)code程序存儲器(64KB)

C51編譯器支持的存儲器類型感謝您的觀看Thanks

for

your

attention.

2.4.1并行I/O端口電路結(jié)構(gòu)《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院51單片機(jī)典型芯片8051共有4個8位并行I/O端口,分別用P0、P1、P2、P3表示。每個I/O端口既可以按位操作使用單個引腳,也可以按字節(jié)操作使用8個引腳。P0口位電路結(jié)構(gòu)P1口位電路結(jié)構(gòu)P2口位電路結(jié)構(gòu)P3口位電路結(jié)構(gòu)感謝您的觀看Thanks

for

your

attention.

2.4.2作為輸入端口使用《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院P1P0P2P3單片機(jī)輸入輸出讀引腳P0=0xFF;和讀引腳相對應(yīng)的,51單片機(jī)還有一個讀端口的操作,這是指執(zhí)行一類特殊指令的時(shí)候需要的操作,我們只要了解就可以了。絕大多數(shù)時(shí)候我們還是讀引腳操作。輸入操作四個并行I/O接口的輸入操作完全相同區(qū)分讀引腳和讀端口讀引腳的時(shí)候,需要向端口中寫入1感謝您的觀看Thanks

for

your

attention.

2.4.3作為輸出端口使用《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院P1P0P2P3單片機(jī)輸入輸出P1P0P2P3單片機(jī)+5V。4.7K×8P0口作為輸出接口的時(shí)候,需要給它在外部電路中連接上拉電阻。輸出操作P0口需外接上拉電阻才能有高電平輸出P1、P2和P3口作為輸出端口使用時(shí),外接可以不接上拉電阻。感謝您的觀看Thanks

for

your

attention.

2.4.4I/O端口的第二功能《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院P1P0P2P3單片機(jī)8位雙向8位雙向8位雙向8位雙向一專多能P0口簡單專職P1口專兼皆備P2口第二功能身兼兩職P3口感謝您的觀看Thanks

for

your

attention.

4.2.1一維數(shù)組《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院數(shù)組就是一組有序的、相同類型的數(shù)據(jù)集合。先定義,后使用類型名字元素個數(shù)(數(shù)組長度)數(shù)組類型數(shù)組名[常量表達(dá)式];unsignedcharled[8];intMCU_scores[15];必須用常量表達(dá)式來指定數(shù)組長度,不可以出現(xiàn)變量。#defineSTUDENT15unsignedintk;unsignedcharled[k];intMCU_scores[STUDENT];×√unsignedcharled[8];存儲器存儲器ledled[0]led+1led+2led+3led+4led+5led+6led+7led[1]led[2]led[3]led[4]led[5]led[6]led[7]led[8]×使用循環(huán)程序處理數(shù)組數(shù)組定義時(shí)初始化賦值語句初始化unsignedcharled[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};intMCU_scores[15]={85,87,87,90,92};前面5個數(shù)組元素賦初值unsignedcharled[];led[0]=0xfe;led[1]=0xfd;led[2]=0xfb;led[3]=0xf7;led[4]=0xef;led[5]=0xdf;led[6]=0xbf;led[7]=0x7f;數(shù)組就是一組有序的數(shù)據(jù)集合一個數(shù)組包含多個數(shù)組元素每個數(shù)組元素就相當(dāng)于一個變量定義了一個數(shù)組,就相當(dāng)于批量定義了很多個變量變量的名字都是以數(shù)組名加上下標(biāo)來組成的intMCU_scores[15];MCU_scores[0]MCU_scores[1]MCU_scores[2]……MCU_scores[14]在程序中怎樣使用一個定義好的數(shù)組呢?在程序中,不能直接引用整個數(shù)組中的全部元素,只能逐個使用數(shù)組元素。采用循環(huán)結(jié)構(gòu)程序,來高效處理數(shù)組。intMCU_scores[15]={85,85,95,87,87,87,92,95,85,87,87,92,92,81,87,50};求平均成績程序段求平均成績程序段循環(huán)第1次:i=0;sum=sum+MCU_scores[0];循環(huán)第2次:i=1;sum=sum+MCU_scores[1];循環(huán)第3次:i=2;sum=sum+MCU_scores[2];……循環(huán)第15次:i=14;sum=sum+MCU_scores[14];采用數(shù)組實(shí)現(xiàn)流水燈控制程序感謝您的觀看Thanks

for

your

attention.

4.2.2二維數(shù)組《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院第2行第2列13級2班成績單二維數(shù)組intscore[15][7];行數(shù)列數(shù)數(shù)組名[行][列]行和列都是從0開始數(shù)起;score[0][0],score[0][1],score[0][2],score[0][3],score[0][4],score[0][5],score[0][6],score[1][0],score[1][1],score[1][2],score[1][3],score[1][4],score[1][5],score[1][6],score[2][0],score[2][1],score[2][2],score[2][3],score[2][4],score[2][5],score[2][6],......……score[14][0],score[14][1],score[14][2],score[14][3],score[14][4],score[14][5],score[14][6],105個數(shù)組元素求學(xué)生平均成績程序段求學(xué)生平均成績程序段二維數(shù)組就是一個數(shù)據(jù)方陣隊(duì)列二維數(shù)組的定義和初始化方法code關(guān)鍵字把批量不變的數(shù)據(jù)燒錄到程序存儲器中二維數(shù)組的引用方法是數(shù)組名加上兩個下標(biāo)用雙重循環(huán)結(jié)構(gòu)對二維數(shù)組的的數(shù)組元素進(jìn)行存取和使用感謝您的觀看Thanks

for

your

attention.

4.2.3字符數(shù)組《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院字符型數(shù)據(jù)——char字符:character無符號字符型:unsignedchar,0~255有符號字符型:signedchar,-128~+127字符字符常量是指用單引號括起來的一個字符‘A’‘0’‘%’‘a(chǎn)’‘=‘在C語言中出現(xiàn)的任何符號都是西文符號‘A’בA’‘0’‘%’‘a(chǎn)’‘=‘存儲器字節(jié)數(shù)據(jù)65483797616548379761charch[11]={‘I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’,’!’};ch[0]=‘I’;ch[1]=‘‘;空格ch[2]=‘a(chǎn)’;Ch[3]=‘m’;Ch[4=‘‘;Ch[5]=‘h’;…….ch[11]=‘!’字符數(shù)組charch[11]={‘I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’,’!’};“Iamhappy!”用雙引號括起來的一串字符,叫做字符串。字符數(shù)組charch[11]={‘I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’,’!’};“Iamhappy!”‘\0’字符串長度:12用雙引號括起來的一串字符,叫做字符串。字符數(shù)組編譯器自動給字符串添加結(jié)束符:’\0’charch[12]={‘I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’,’!’,’\0’};charch[]={‘I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’,’!’,’\0’};charch[]={“Iamhappy!”};charch[]=“Iamhappy!”;“Iamhappy!”感謝您的觀看Thanks

for

your

attention.

4.3LED數(shù)碼管動態(tài)顯示《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院COMCOM51單片機(jī)P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7NO!!!COMCOM什么叫動態(tài)顯示動態(tài)顯示:動態(tài)顯示就是一種按位輪流點(diǎn)亮各位數(shù)碼管的顯示方式。即在某一時(shí)段,只讓其中一位數(shù)碼管“位選端”有效,并送出相應(yīng)的字型顯示編碼。此時(shí),其它位的數(shù)碼管因“位選端”無效而都處于熄滅狀態(tài);下一時(shí)段按順序選通另外一位數(shù)碼管,并送出相應(yīng)的字型顯示編碼,依此規(guī)律循環(huán)下去,即可使各位數(shù)碼管分別間斷地顯示出相應(yīng)的字符,動態(tài)顯示也稱作掃描顯示方式。特點(diǎn):占用端口資源少,適用于連接多個數(shù)碼管動態(tài)顯示的電路連接特點(diǎn)所有數(shù)碼管相應(yīng)的段選控制端并聯(lián)在一起,由一個I/O端口控制

每個數(shù)碼管的公共端com單獨(dú)連接,由另一個I/O端口控制用同相或者反相的緩沖器來實(shí)現(xiàn)驅(qū)動

8同相三態(tài)緩沖器6反相驅(qū)動器8位數(shù)碼管動態(tài)顯示的電路連接動態(tài)顯示的編程思路核心:逐位掃描顯示具體操作:首先,從段選口送出某位LED的字型碼;其次,從位選口送出數(shù)據(jù),選通該位LED;保持一段延時(shí)時(shí)間。時(shí)間選擇確保滿足人眼的視覺暫留作用。然后,選通下一位,重復(fù)上述三個步驟,直到所有位掃描完。位選:選中第一個數(shù)碼管段選:輸出相應(yīng)字型碼

延時(shí)位選:選中第二個數(shù)碼管段選:輸出相應(yīng)字型碼

延時(shí)位選:選中最后一個數(shù)碼管段選:輸出相應(yīng)字型碼

延時(shí)1.首先,位選口選中第一個數(shù)碼管,段選口送這個數(shù)碼管想要顯示的字型碼,然后延時(shí)一段時(shí)間;2.其次,位選口選中第二個數(shù)碼管,段選口送出相應(yīng)的字型碼,延時(shí),。。。。。3.依次類推,直到位選口選中最后一個數(shù)碼管,段選口送出最后一個數(shù)碼管的字型碼,延時(shí)這樣,一次循環(huán)結(jié)束,每個數(shù)碼管都“坐莊”被點(diǎn)亮一次。“輪流坐莊”的基本思路位選:選中第一個數(shù)碼管段選:輸出相應(yīng)字型碼

延時(shí)位選:選中第二個數(shù)碼管段選:輸出相應(yīng)字型碼

延時(shí)位選:選中最后一個數(shù)碼管段選:輸出相應(yīng)字型碼

延時(shí)第一個數(shù)碼管

“坐莊”點(diǎn)亮第二個數(shù)碼管

“坐莊”點(diǎn)亮最后一個數(shù)碼管

“坐莊”點(diǎn)亮延時(shí)時(shí)間足夠短,利用人眼的視覺暫留效應(yīng)1.循環(huán)“輪流坐莊”2.保證合適的延時(shí)時(shí)間P1段選口P2:位選口字型20160726P201111111B10111111B11011111B11101111B11110111B11111011B11111101B11111110BP10x5b0x3f0x060x7d0x3f0x070x2b0x7d8位數(shù)碼管動態(tài)顯示實(shí)例while(1){P2=0X7F;//選中C7P1=0X5B;//字型碼“2”time1ms();//延時(shí)1msP2=0XBF;//選中C6P1=0X3F;//字型碼“0”time1ms();//延時(shí)1ms

P2=0XDF;//選中C5P1=0X06;//字型碼“1”time1ms();//延時(shí)1ms……………………P2=0XFE;//選中C0P1=0X7D;//字型碼“6”time1ms();//延時(shí)1ms}位選:選中第一個數(shù)碼管段選:輸出相應(yīng)字型碼

延時(shí)位選:選中第二個數(shù)碼管段選:輸出相應(yīng)字型碼

延時(shí)位選:選中最后一個數(shù)碼管段選:輸出相應(yīng)字型碼

延時(shí)八位數(shù)碼管動態(tài)顯示參考程序感謝您的觀看Thanks

for

your

attention.

4.4.1LED大屏幕顯示器的結(jié)構(gòu)及原理《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院LED點(diǎn)陣顯示器8列8行一個點(diǎn)是一個像素8*8LED點(diǎn)陣的內(nèi)部結(jié)構(gòu)+-行線列線8行8列共64個LED8*8LED點(diǎn)陣的引腳排列與命名C1C2C3C4C5C6C7C8(A)(B)(C)(D)(E)(F)(G)(H)R1(7)R2(6)R3(5)R4(4)R5(3)R6(2)R7(1)R8(0)8*8LED點(diǎn)陣的實(shí)際引腳圖8*8LED點(diǎn)陣的點(diǎn)亮原理C1C2C3C4C5C6C7C8(A)(B)(C)(D)(E)(F)(G)(H)R1(7)R2(6)R3(5)R4(4)R5(3)R6(2)R7(1)R8(0)10+-點(diǎn)亮原理行:輸出高電平列:輸出低電平單片機(jī)如何控制LED點(diǎn)陣顯示圖形?8*8LED點(diǎn)陣的引腳排列與命名C1C2C3C4C5C6C7C8(A)(B)(C)(D)(E)(F)(G)(H)R1(7)R2(6)R3(5)R4(4)R5(3)R6(2)R7(1)R8(0)單片機(jī)控制一個8*8LED點(diǎn)陣C1C2C3C4C5C6C7C8(A)(B)(C)(D)(E)(F)(G)(H)R1(7)R2(6)R3(5)R4(4)R5(3)R6(2)R7(1)R8(0)51單片機(jī)P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.71K一個實(shí)用的8*8LED點(diǎn)陣控制電路及點(diǎn)亮一個點(diǎn)P1.3=1;P0.2=0;漂亮的圖形視覺效果:多個點(diǎn)同時(shí)點(diǎn)亮點(diǎn)陣LED多個點(diǎn)同時(shí)點(diǎn)亮的顯示原理—動態(tài)掃描逐列掃描法逐行掃描法8*8LED點(diǎn)陣的逐行掃描法逐行掃描法中行數(shù)據(jù)與列數(shù)據(jù)的設(shè)計(jì)行列數(shù)據(jù)00000001B,即0x0100000010B,即0x0200000100B,即0x0400001000B,即0x0800010000B,即0x1000100000B,即0x2001000000B,即0x4010000000B,即0x8011100111B,即0xE711011011B,即0xDB10111101B,即0xBD01111110B,即0x7E01111110B,即0x7E10111101B,即0xBD11011011B,即0xDB11100111B,即0xE7低位數(shù)據(jù)高位列行數(shù)據(jù)低位高位一幀數(shù)據(jù)一幀數(shù)據(jù)對應(yīng)一個特定的圖形;或者說,每一個圖形,都有一幀自己的數(shù)據(jù)。逐行掃描語句類似逐行掃描法的簡單程序設(shè)計(jì)實(shí)例感謝您的觀看Thanks

for

your

attention.

4.4.2LED大屏幕顯示器接口《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院74LS595(經(jīng)常用于并行口擴(kuò)展,數(shù)碼管或點(diǎn)陣)常用驅(qū)動控制芯片串入并出移位寄存器——74LS595常用驅(qū)動控制芯片串入并出移位寄存器——74LS595注意事項(xiàng):一定要將JOE短接片短接到GND端,如果不需要595后面的小燈點(diǎn)亮可以拔掉JP595短接片。sbitSRCLK=P3^6;sbitRCLK=P3^5;sbitSER=P3^4;常用驅(qū)動控制芯片串入并出移位寄存器——74LS595注意事項(xiàng):一定要將JOE短接片短接到GND端,如果不需要595后面的小燈點(diǎn)亮可以拔掉JP595短接片。sbitSRCLK=P3^6;sbitRCLK=P3^5;sbitSER=P3^4;常用驅(qū)動控制芯片串入并出移位寄存器——74LS595sbitSRCLK=P3^6;sbitRCLK=P3^5;sbitSER=P3^4;注意事項(xiàng):一定要將JOE短接片短接到GND端,如果不需要595后面的小燈點(diǎn)亮可以拔掉JP595短接片。常用驅(qū)動控制芯片串入并出移位寄存器——74LS595sbitSRCLK=P3^6;sbitRCLK=P3^5;sbitSER=P3^4;注意事項(xiàng):一定要將JOE短接片短接到GND端,如果不需要595后面的小燈點(diǎn)亮可以拔掉JP595短接片。常用驅(qū)動控制芯片串入并出移位寄存器——74LS595sbitSRCLK=P3^6;sbitRCLK=P3^5;sbitSER=P3^4;注意事項(xiàng):一定要將JOE短接片短接到GND端,如果不需要595后面的小燈點(diǎn)亮可以拔掉JP595短接片。實(shí)訓(xùn)任務(wù)595實(shí)現(xiàn)控制當(dāng)dat>>7為0x01(非0)時(shí),SER=1;當(dāng)dat>>7為0x00時(shí),SER=0;當(dāng)引腳SRCLK(11腳)處于上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位,QA→QB→QC→..→QH;處于下降沿時(shí)移位寄存器數(shù)據(jù)不變。當(dāng)引腳RCLK(12腳)處于上升沿時(shí)移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲寄存器,處于下降沿時(shí)存儲寄存器數(shù)據(jù)不變。sbitSRCLK=P3^6;sbitRCLK=P3^5;sbitSER=P3^4;實(shí)訓(xùn)任務(wù)595實(shí)現(xiàn)控制D0-D7:陽極(行)P0口:陰極(列)感謝您的觀看Thanks

for

your

attention.

4.5.1LCD液晶顯示器的功能與特點(diǎn)《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院在日常生活中,小到各種手機(jī)大到電腦顯示器、電視機(jī)等等,這些電子產(chǎn)品的顯示器件都是一種液晶顯示器。一種專門用來顯示字母、數(shù)字、符號的點(diǎn)陣型液晶模塊1602LCD字符液晶顯示器每行可以顯示16個字符,顯示兩行,也就是兩行十六列0123456789ABCDEFHELLOWORLD!1602LCD字符液晶顯示器A列:123456789…………….16第1行第2行1602LCD字符液晶顯示器16個引腳1602LCD字符液晶模塊

12345678910111213141516LCD模塊VSSVDDVODB0DB1DB3DB2DB5DB4DB7DB6AKRSR/WE

12345678910111213141516VSSVDDVOLCD模塊VSS:電源地引腳(GND)VDD:+5V電源引腳(VCC)VO:

液晶顯示對比度調(diào)整引腳(0V~5V)

12345678910111213141516VSSVDDVOLCD模塊DB0DB1DB3DB2DB5DB4DB7DB6DB0~DB7:數(shù)據(jù)線,可以用8位連接,也可以只用高4位連接,節(jié)約單片機(jī)資源。

12345678910111213141516VSSVDDVOLCD模塊DB0DB1DB3DB2DB5DB4DB7DB6AKA:背光控制正電源K:背光控制地

12345678910111213141516VSSVDDVOLCD模塊DB0DB1DB3DB2DB5DB4DB7DB6AKRSR/WERS:數(shù)據(jù)/命令選擇控制端,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。R/W:讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。E:使能端,當(dāng)E端由高電平跳變成低電平的時(shí)候,液晶模塊執(zhí)行命令。

12345678910111213141516VSSVDDVOLCD模塊DB0DB1DB3DB2DB5DB4DB7DB6AKRSR/WERSR/W操作00寫命令操作(初始化、光標(biāo)定位等)01讀狀態(tài)操作(讀忙標(biāo)志)10寫數(shù)據(jù)操作(要顯示的內(nèi)容)11讀數(shù)據(jù)操作(可以把顯示存儲區(qū)中的數(shù)據(jù)反讀出來)

12345678910111213141516VSSVDDVOLCD模塊DB0DB1DB3DB2DB5DB4DB7DB6AKRSR/WE電源相關(guān)引腳編程控制引腳雙向數(shù)據(jù)線背光源控制引腳感謝您的觀看Thanks

for

your

attention.

4.5.2

字符型LCD液晶顯示器與單片機(jī)的接口《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院單片機(jī)LCD1602液晶模塊電路設(shè)計(jì)電路設(shè)計(jì)電源連接電路設(shè)計(jì)8位數(shù)據(jù)線連接電路設(shè)計(jì)3位控制線連接電路設(shè)計(jì)背光可以不接電路設(shè)計(jì)數(shù)據(jù)線4位連接方式感謝您的觀看Thanks

for

your

attention.

4.5.3字符型LCD液晶顯示器的應(yīng)用《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院

12345678910111213141516VSSVDDVOLCD模塊DB0DB1DB3DB2DB5DB4DB7DB6AKRSR/WERSR/W操作00寫命令操作(初始化、光標(biāo)定位等)01讀狀態(tài)操作(讀忙標(biāo)志)10寫數(shù)據(jù)操作(要顯示的內(nèi)容)11讀數(shù)據(jù)操作(可以把顯示存儲區(qū)中的數(shù)據(jù)反讀出來)使能端E引腳下降沿時(shí)執(zhí)行操作四種操作三種常用寫命令操作是指給液晶模塊寫入命令字,也就是指令字。讀狀態(tài)操作用來讀入液晶模塊的忙標(biāo)志。寫數(shù)據(jù)操作用來給液晶模塊寫入顯示的數(shù)據(jù)。RSR/W操作00寫命令操作(初始化、光標(biāo)定位等)01讀狀態(tài)操作(讀忙標(biāo)志)10寫數(shù)據(jù)操作(要顯示的內(nèi)容)11讀數(shù)據(jù)操作(可以把顯示存儲區(qū)中的數(shù)據(jù)反讀出來)RS=0;R/W=1;E下降沿unsignedcharlcd_r_start()//8位數(shù)據(jù)線連接方式{unsignedchars;RW=1; //RW=1,RS=0,讀LCD狀態(tài)

delayus();RS=0;delayus();E=1; //E端時(shí)序

delayus();

s=LCD_DB; //從LCD的數(shù)據(jù)口讀狀態(tài)

delayus();E=0;delayus();RW=0;delayus();

return(s); //返回讀取的LCD狀態(tài)字}讀狀態(tài)函數(shù)i=lcd_r_start();//調(diào)用讀狀態(tài)函數(shù),讀取LCD狀態(tài)字D7D6D5D4D3D2D1D0BFBF=1:表示LCD正在忙

BF=0:表示LCD不忙do{

i=lcd_r_start();

//調(diào)用讀狀態(tài)函數(shù),讀取LCD狀態(tài)字

i&=0x80;//采用與操作屏蔽掉低7位

delayms(1);

//延時(shí)

}while(i!=0);

//LCD忙,繼續(xù)查詢,否則退出循環(huán)查詢忙狀態(tài)程序段voidlcd_w_cmd(unsignedcharcom)//8位數(shù)據(jù)線連接方式{unsignedchari;

do{//查LCD忙操作

i=lcd_r_start(); //調(diào)用讀狀態(tài)字函數(shù)

i=i&0x80;//與操作屏蔽掉低7位

delayms(1);}while(i!=0); //LCD忙,繼續(xù)查詢,否則退出循環(huán)

RW=0;delayus();RS=0;

//RW=0,RS=0,寫LCD命令字

delayus();E=1;

//E端時(shí)序

delayus();LCD_DB=com; //將com中的命令字寫入LCD數(shù)據(jù)口

delayus();E=0;delayus();RW=1;delayms(50);}寫命令函數(shù)寫數(shù)據(jù)操作:RS=1;R/W=0;E下降沿voidlcd_w_dat(unsignedchardat)//8位數(shù)據(jù)線連接方式{unsignedchari;

do{//查LCD忙操作

i=lcd_r_start(); //調(diào)用讀狀態(tài)字函數(shù)

i=i&0x80;//與操作屏蔽掉低7位

delayms(1);}while(i!=0); //LCD忙,繼續(xù)查詢,否則退出循環(huán)

RW=0;delayus();RS=0; //RW=0,RS=0,寫LCD命令字

delayus();E=1; //E端時(shí)序

delayus();LCD_DB=dat; //將com中的命令字寫入LCD數(shù)據(jù)口

delayus();E=0;delayus();RW=1;delayms(50);}寫數(shù)據(jù)函數(shù)寫命令操作是指給LCD寫入命令字。寫數(shù)據(jù)是指寫入要顯示的字符voidlcd_w_cmd(unsignedcharcmd);//cmd為要寫入的命令字編號指令名稱控制信號命令字RSR/D7D6D5D4D3D2D1D01清屏00000000012歸home位000000001×3輸入方式設(shè)置00000001I/DS4顯示狀態(tài)設(shè)置0000001DCB5光標(biāo)畫面滾動000001S/CR/L××6工作方式設(shè)置00001DLNF××7CGRAM地址設(shè)置0001A5A4A3A2A1A08DDRAM地址設(shè)置001A6A5A4A3A2A1A09讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC01602LCD模塊常用指令表lcd_w_cmd(0x01);//LCD清屏,同時(shí)光標(biāo)定位在第1行,第1列LCD清屏命令字在LCD模塊上指定光標(biāo)位置,也就是下一個要顯示字符的位置在哪里。編號指令名稱控制信號命令字RSR/D7D6D5D4D3D2D1D01清屏00000000012歸home位000000001×3輸入方式設(shè)置00000001I/DS4顯示狀態(tài)設(shè)置0000001DCB5光標(biāo)畫面滾動000001S/CR/L××6工作方式設(shè)置00001DLNF××7CGRAM地址設(shè)置0001A5A4A3A2A1A08DDRAM地址設(shè)置001A6A5A4A3A2A1A09讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC01602LCD模塊常用指令表

列行123456789101112131415161808182838485868788898A8B8C8D8E8F2C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF光標(biāo)位置與相應(yīng)命令字(1)表中命令字以十六進(jìn)制形式給出,該命令字就是與LCD顯示位置相對應(yīng)的DDRAM地址。(2)第一行和第二行的命令字是不連續(xù)的。lcd_w_cmd(0x84);//光標(biāo)定位在第1行第5列光標(biāo)畫面滾動命令字可以設(shè)置LCD上畫面滾動效果編號指令名稱控制信號命令字RSR/D7D6D5D4D3D2D1D01清屏00000000012歸home位000000001×3輸入方式設(shè)置00000001I/DS4顯示狀態(tài)設(shè)置0000001DCB5光標(biāo)畫面滾動000001S/CR/L××6工作方式設(shè)置00001DLNF××7CGRAM地址設(shè)置0001A5A4A3A2A1A08DDRAM地址設(shè)置001A6A5A4A3A2A1A09讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC01602LCD模塊常用指令表CGRAM地址設(shè)置可以讓我們自己編寫要顯示的字形編號指令名稱控制信號命令字RSR/D7D6D5D4D3D2D1D01清屏00000000012歸home位000000001×3輸入方式設(shè)置00000001I/DS4顯示狀態(tài)設(shè)置0000001DCB5光標(biāo)畫面滾動000001S/CR/L××6工作方式設(shè)置00001DLNF××7CGRAM地址設(shè)置0001A5A4A3A2A1A08DDRAM地址設(shè)置001A6A5A4A3A2A1A09讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC01602LCD模塊常用指令表歸位命令可以使得光標(biāo)返回到第一行第一列編號指令名稱控制信號命令字RSR/D7D6D5D4D3D2D1D01清屏00000000012歸home位000000001×3輸入方式設(shè)置00000001I/DS4顯示狀態(tài)設(shè)置0000001DCB5光標(biāo)畫面滾動000001S/CR/L××6工作方式設(shè)置00001DLNF××7CGRAM地址設(shè)置0001A5A4A3A2A1A08DDRAM地址設(shè)置001A6A5A4A3A2A1A09讀BF和AC01BFAC6AC5AC4AC3AC2AC1AC01602LCD模塊常用指令表LCD初始工作方式設(shè)置顯示狀態(tài)設(shè)置清屏返回輸入方式設(shè)置001DLNF00DL:設(shè)置LCD的連接方式;DL=1:8位、DL=0:4位;N:設(shè)置LCD顯示的行數(shù);N=1:2行、N=0:1行F:用來設(shè)置LCD字符顯示的點(diǎn)陣;F=1:5×10、F=0:5×7例:設(shè)置數(shù)據(jù)位數(shù)8位,2行顯示,5×7點(diǎn)陣字符00111000lcd_w_cmd(0x38);//數(shù)據(jù)位數(shù)8位

//2行顯示,5×7點(diǎn)陣字符化工作方式設(shè)置LCD初始工作方式設(shè)置顯示狀態(tài)設(shè)置清屏返回輸入方式設(shè)置00001DCBD:整體顯示開關(guān),D=1,表示開顯示,D=0,表示關(guān)顯示C:光標(biāo)開關(guān),C=1,表示有光標(biāo)顯示,C=0,表示沒有光標(biāo)顯示B:控制光標(biāo)是否閃爍,B=1,光標(biāo)閃爍,B=0,光標(biāo)不閃爍例如:設(shè)置開顯示,沒有光標(biāo),光標(biāo)位字符不閃爍

00001100lcd_w_cmd(0x38);//開顯示,沒有光標(biāo),光標(biāo)位字符不閃爍化顯示狀態(tài)設(shè)置試一試:寫出設(shè)置開顯示,有光標(biāo),光標(biāo)位字符閃爍的命令字是什么呢?LCD初始工作方式設(shè)置顯示狀態(tài)設(shè)置清屏返回輸入方式設(shè)置lcd_w_cmd(0x01);//LCD清屏,同時(shí)光標(biāo)定位在第1行,第1列化清屏命令LCD初始化工作方式設(shè)置顯示狀態(tài)設(shè)置清屏返回輸入方式設(shè)置000001I/DSI/D:光標(biāo)移動方向設(shè)置,I/D=1:增量方式右移、I/D=0:減量方式左移S:控制屏幕上所有文字是否移動,S=1:移位、S=0:不移位例如:設(shè)置光標(biāo)增量方式右移,顯示字符不移動

00000110lcd_w_cmd(0x06);//光標(biāo)增量方式右移,顯示字符不移動輸入方式設(shè)置LCD初始工作方式設(shè)置顯示狀態(tài)設(shè)置清屏返回輸入方式設(shè)置化//函數(shù)名:lcd_init//函數(shù)功能:lcd初始化

//形式參數(shù):無//返回值:無voidlcd_init(){lcd_w_cmd(0x3c);//設(shè)置工作方式lcd_w_cmd(0x0e);//設(shè)置光標(biāo)lcd_w_cmd(0x01);//清屏lcd_w_cmd(0x06);//設(shè)置輸入方式}初始化函數(shù)一般一個獨(dú)立的模塊包括兩個文件1)頭文件,它里面定義所有液晶顯示需要的預(yù)定義和函數(shù)聲明;2)c程序源文件,液晶顯示所需要的函數(shù)。模塊化程序設(shè)計(jì)工程主函數(shù)模塊main.c液晶顯示模塊lcd.hlcd.c/*************lcd.h**********/sbitRS=P2^6;//P2.6sbitRW=P2^5;//P2.5sbitE=P2^7; //P2.7#defineLCD_DBP0控制接口定義/***********************lcd.h**************************/sbitRS=P2^6;//P2.6sbitRW=P2^5;//P2.5sbitE=P2^7; //P2.7#defineLCD_DBP0externunsignedcharlcd_r_start();//讀狀態(tài)函數(shù)externvoidlcd_w_cmd(unsignedcharcom);//寫命令字函數(shù)externvoidlcd_w_dat(unsignedchardat);//寫數(shù)據(jù)函數(shù)externvoidlcd_init(); //LCD初始化函數(shù)externvoiddelayms(unsignedinti);//可控延時(shí)函數(shù)externvoiddelayus(); //延時(shí)函數(shù),5個機(jī)器周期Lcd.h在C語言中,修飾符extern用在變量或者函數(shù)的聲明前,用來說明這個變量/函數(shù)是在別處定義的,要在此處引用或調(diào)用。/******************************lcd.c**************************/#include<regx51.h>#include<lcd.h>#include<INTRINS.H>//庫函數(shù)頭文件,代碼中引用了_nop_()函數(shù)

Lcd.cunsignedcharlcd_r_start()//8位數(shù)據(jù)線連接方式{unsignedchars;RW=1; //RW=1,RS=0,讀LCD狀態(tài)

delayus();RS=0;delayus();E=1; //E端時(shí)序

delayus();

s=LCD_DB; //從LCD的數(shù)據(jù)口讀狀態(tài)

delayus();E=0;delayus();RW=0;delayus();

return(s); //返回讀取的LCD狀態(tài)字}讀狀態(tài)函數(shù)voidlcd_w_cmd(unsignedcharcom)//8位數(shù)據(jù)線連接方式{unsignedchari;

do{//查LCD忙操作

i=lcd_r_start(); //調(diào)用讀狀態(tài)字函數(shù)

i=i&0x80;//與操作屏蔽掉低7位

delayms(1);}while(i!=0); //LCD忙,繼續(xù)查詢,否則退出循環(huán)

RW=0;delayus();RS=0;

//RW=0,RS=0,寫LCD命令字

delayus();E=1;

//E端時(shí)序

delayus();LCD_DB=com; //將com中的命令字寫入LCD數(shù)據(jù)口

delayus();E=0;delayus();RW=1;delayms(50);}寫命令函數(shù)voidlcd_w_cmd(unsignedcharcom)//8位數(shù)據(jù)線連接方式{unsignedchari;

do{//查LCD忙操作

i=lcd_r_start(); //調(diào)用讀狀態(tài)字函數(shù)

i=i&0x80;//與操作屏蔽掉低7位

delayms(1);}while(i!=0); //LCD忙,繼續(xù)查詢,否則退出循環(huán)

RW=0;delayus();RS=0;

//RW=0,RS=0,寫LCD命令字

delayus();E=1;

//E端時(shí)序

delayus();LCD_DB=com; //將com中的命令字寫入LCD數(shù)據(jù)口

delayus();E=0;delayus();RW=1;delayms(50);}寫命令函數(shù)//函數(shù)名:lcd_init//函數(shù)功能:lcd初始化

//形式參數(shù):無//返回值:無voidlcd_init(){lcd_w_cmd(0x3c);//設(shè)置工作方式lcd_w_cmd(0x0e);//設(shè)置光標(biāo)lcd_w_cmd(0x01);//清屏lcd_w_cmd(0x06);//設(shè)置輸入方式}Lcd初始化函數(shù)voiddelayms(unsignedinti){unsignedchark;while(i--)for(k=0;k<120;k++);}voiddelayus(){_nop_();_nop_();_nop_();}延時(shí)函數(shù)主函數(shù)main()設(shè)計(jì)mainLCD初始化光標(biāo)定位顯示字符結(jié)束主函數(shù)main()設(shè)計(jì)lcd_w_dat(‘A’);lcd_w_dat(0x41);lcd_w_dat(65);lcd_w_dat(‘5’);lcd_w_dat(0x35);lcd_w_dat(53);顯示字符原地踏步停機(jī)語句——因?yàn)橐壕K是靜態(tài)顯示,只要顯示了,就會一直在,如果顯示內(nèi)容沒有變化的話,不需要動態(tài)掃描,所以顯示完字符,我們就可以停機(jī)了。mainLCD初始化光標(biāo)定位顯示字符結(jié)束項(xiàng)目工程設(shè)計(jì)感謝您的觀看Thanks

for

your

attention.

4.6.1矩陣式鍵盤結(jié)構(gòu)《單片機(jī)應(yīng)用技術(shù)(C語言版)》深圳職業(yè)技術(shù)學(xué)院獨(dú)立按鍵按鍵常用按鍵符號矩陣按鍵4*40123行線4條行線01230123行線列線4條行線和4條列線01230123列線行線每一個按鍵跨接在行線、列線之間8條連線單片機(jī)AT89C514×4矩陣鍵盤01230123行線列線4×4矩陣鍵盤01230123行線列線單片機(jī)行線連接4×4矩陣鍵盤01230123行線列線單片機(jī)列線連接4×4矩陣鍵盤01230123行線列線單片機(jī)+VCC感謝您的觀看Thanks

for

your

attention.

4.6.2矩陣式鍵盤按鍵的識別

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論