freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的電話撥號(hào)系統(tǒng)的設(shè)計(jì)-在線瀏覽

2025-07-18 12:00本頁(yè)面
  

【正文】 輸入也是單片機(jī)應(yīng)用系統(tǒng)中使用最廣泛的一種輸入方式。這些按健或者開(kāi)關(guān)可以獨(dú)立使用,也可以組合成鍵陣使用。每類按譯碼方式的不同又分為編碼式和非編碼式兩種。行列式鍵盤的編碼方式有靜態(tài)和動(dòng)態(tài)兩種。這兩種鍵盤由硬件完成鍵的編碼任務(wù)。方案一:采用獨(dú)立式按鍵電路獨(dú)立式按鍵電路每個(gè)按鍵單獨(dú)占有一根I/O接口線, 每個(gè)I/O口的工作狀態(tài)互不影響,此類鍵盤采用端口直接掃描方式。 方案二:采用行列式鍵盤電路行列式鍵盤為4*3矩陣式行列掃描,雖然軟件較為復(fù)雜,但是當(dāng)按鍵較多時(shí)可降低占用單片機(jī)的I/O口數(shù)目。 系統(tǒng)設(shè)計(jì)最終方案本系統(tǒng)包括主芯片模塊、顯示電路模塊、鍵盤輸入模塊、晶振和復(fù)位電路模塊。整個(gè)硬件電路由單片機(jī)及單片機(jī)的復(fù)位和晶振電路、音頻電路、1602LCD液晶顯示器和4*3矩陣式鍵盤組成。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS51指令集和輸出管腳相兼容。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。GND:接地。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。這是由于內(nèi)部上拉的緣故。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 RXD(串行輸入口) TXD(串行輸出口) /INT0(外部中斷0) /INT1(外部中斷1) T0(記時(shí)器0外部輸入) T1(記時(shí)器1外部輸入) /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。在FLASH編程期間,此引腳用于輸入編程脈沖。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。如想禁止ALE的輸出可在SFR8EH地址上置0。另外,該引腳被略微拉高。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 晶振和復(fù)位電路模塊晶振和復(fù)位電路模塊是系統(tǒng)中很重要的一部分,其中電路上部分為晶振電路,提供時(shí)鐘信號(hào),下部分為復(fù)位電路,使單片機(jī)處于一個(gè)基準(zhǔn)點(diǎn)。復(fù)位工作是一個(gè)純硬件的工作,一般是在上電開(kāi)始幾毫秒內(nèi)執(zhí)行完畢。經(jīng)過(guò)若干毫秒以后,電解電容器被充滿電,這時(shí)電阻就沒(méi)有電流流過(guò),電阻兩端也就沒(méi)有電壓,單片機(jī)的復(fù)位腳電壓恢復(fù)為0,復(fù)位工作結(jié)束,單片機(jī)開(kāi)始工作。,單片機(jī)工作的時(shí)間基準(zhǔn)是由時(shí)鐘電路提供的。電路中的器件可以通過(guò)計(jì)算和實(shí)驗(yàn)確定,也可以參考一些典型電路參數(shù)。其結(jié)果只是機(jī)器周期時(shí)間不同,影響計(jì)算器的計(jì)數(shù)初值。液晶顯示模塊是一種將液晶顯示器件、連接件、集成電路、PCB線路板、背光源、結(jié)構(gòu)件裝配在一起的組件,英文名叫“LCD Module”, 簡(jiǎn)稱“LCM”,中文一般為“液晶顯示模塊”。 1602LCD簡(jiǎn)介工業(yè)字符型液晶能夠同時(shí)顯示16*2即32個(gè)字符(16列2行)。 。 引腳接口說(shuō)明表編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VEE液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號(hào)14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極第1腳:VSS為地電源。第3腳:VEE為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。第5腳:R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第15腳:背光源正極。 控制命令表 序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開(kāi)/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容1602LCD液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。高電平表示有效,低電平則無(wú)效。指令5:光標(biāo)或顯示移位S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令7:字符發(fā)生器RAM地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令11:讀數(shù)據(jù)。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。在對(duì)液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無(wú)需人工干預(yù)。1602LCD液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”。 字符代碼與字符圖形對(duì)應(yīng)關(guān)系 1602LCD的一般初始化(復(fù)位)過(guò)程寫指令38H(不檢測(cè)忙信號(hào))寫指令38H(不檢測(cè)忙信號(hào))寫指令38H(不檢測(cè)忙信號(hào))寫指令38H:顯示模式設(shè)置寫指令01H:顯示清屏寫指令0CH:顯示開(kāi)及光標(biāo)設(shè)置 矩陣鍵盤的按鍵識(shí)別方法常用的鍵盤識(shí)別方法有:行掃描法,線翻轉(zhuǎn)法和利用8279鍵盤接口的中斷法。后一種方法在有鍵按下時(shí)向CPU申請(qǐng)中斷,平時(shí)并不需要占用CPU時(shí)間。首先,對(duì)于本系統(tǒng)而言,要實(shí)現(xiàn)便攜式的設(shè)計(jì),硬件電路使用的器件越少越好。最后,只有當(dāng)傳感器輸出信號(hào)頻率為空載頻率,系統(tǒng)處于空閑待測(cè)的狀態(tài)下,才允許鍵盤輸入,因此鍵盤識(shí)別占用的CPU時(shí)間不會(huì)對(duì)系統(tǒng)正常工作造成影響。行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識(shí)別方法,具體過(guò)程如下: (1)判斷鍵盤上是否有鍵閉合在初始化階段,將全部行線設(shè)置為低電平,在沒(méi)有任何鍵按下時(shí),所有的列線將讀到高電平,然后檢測(cè)列線的狀態(tài)。相反,如果輸入輸出端口全是高電平,則鍵盤中無(wú)鍵按下。其方法是得知鍵盤上有鍵閉合后延遲一段時(shí)間,再判別鍵盤的狀態(tài),若仍有鍵閉合,則認(rèn)為鍵盤上有一個(gè)鍵處于穩(wěn)定的閉合期,否則認(rèn)為是鍵的抖動(dòng)或者是干擾。其方法是:依次將行線設(shè)置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。(5)確保CPU對(duì)鍵的一次閉合僅做一次處理為實(shí)現(xiàn)這一功能,可以采用等待閉合鍵釋放以后再處理的方法。 鍵盤排列圖 鍵盤原理圖 系統(tǒng)硬件原理圖綜合以上各單元電路的設(shè)計(jì)方案。在這一系統(tǒng)中單片機(jī)為核心部件,通過(guò)對(duì)單片機(jī)編寫程序,采用行掃描法對(duì)鍵盤進(jìn)行識(shí)別。1602LCD液晶顯示的原理是利用液晶的物理特性,通過(guò)電壓對(duì)其顯示區(qū)域進(jìn)行控制,有電就有顯示,LCD內(nèi)帶字符發(fā)生器的控制器,可以讓控制器工作在文本方式,根據(jù)在LCD上開(kāi)始顯示的行列號(hào)及每行的列數(shù)找出顯示RAM對(duì)應(yīng)的地址,設(shè)置光標(biāo),在此送上該字符對(duì)應(yīng)的ASCII碼即可顯示。匯編語(yǔ)言與機(jī)器指令一一對(duì)應(yīng),所以用匯編語(yǔ)言編寫的程序在單片機(jī)里運(yùn)行起來(lái)效率較高,但可移植性差。 軟件設(shè)計(jì)整體思路依據(jù)系統(tǒng)的軟件結(jié)構(gòu),將系統(tǒng)的軟件劃分為鍵盤掃描、液晶顯示、聲音控制等功能模塊。開(kāi)始是否是清屏退格超過(guò)11位?結(jié)束顯示數(shù)字鍵按下?*鍵按下?T0中斷控制按鍵聲音是否有鍵按下?鍵盤掃描初始化模塊LCD初始化設(shè)置LCD第一行顯示否是否是否 系統(tǒng)總體控制流程圖 主要功能模塊設(shè)計(jì) 鍵盤掃描模塊設(shè)計(jì)鍵盤上有很多鍵,每一個(gè)鍵對(duì)應(yīng)一個(gè)鍵碼,以便根據(jù)鍵碼轉(zhuǎn)到相應(yīng)的按鍵處理
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1