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

正文內(nèi)容

基于單片機(jī)的出租車(chē)計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-01-04 11:04 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 A44E 引腳圖 9 圖 A44E 測(cè)速原理及 A44E 與單片機(jī)的硬件電路圖 顯 示 的 電路設(shè)計(jì) LCD1602 液晶顯示屏簡(jiǎn)介 液晶顯示模塊,是一種專(zhuān)門(mén)用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式 LCD,目前有 16*16* 20*2 和 40*2 行等的模塊。既考慮到信息的充分顯示又考慮到系統(tǒng)合理的成本本系統(tǒng)選擇的是 16*2 行的 1602LCD 模塊 [4]。 1602LCD 采用標(biāo)準(zhǔn)的 14腳(無(wú)背光)或 16 腳(帶背光)接口,各引腳功能如下。 VSS 為地電源。 VDD 接 5V 正電源。 VL 為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影” ,使用 時(shí)可以通過(guò)一個(gè) 10K 的電位器調(diào)整對(duì)比度。 RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 R/W 為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng) RS和 R/W 共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng) RS為低電平 R/W 為高電平時(shí)可以讀忙信號(hào),當(dāng) RS 為高電平 R/W 為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。 E 端為使能端,當(dāng) E 端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。 D0~ D7為 8 位雙向數(shù)據(jù)線。 BLA 背光源正極。 BLK 背光源負(fù)極。 LCD1602 液晶顯示的原 理 本設(shè)計(jì)選用的 LCD1602液晶顯示屏芯片型號(hào)為 HD44780,它內(nèi)置了 DDRAM、 CGROM和 CGRAM。 DDRAM 就是顯示數(shù)據(jù) RAM,用來(lái)寄存待顯示的字符代碼。共 80個(gè)字節(jié),其地址單片機(jī) 10 和屏幕的對(duì)應(yīng)關(guān)系如下。 也就是說(shuō)想要在 LCD1602 屏幕的第一行顯示一個(gè)“ A”字,就要向 DDRAM 的 00 和地址寫(xiě)入“ A”字符即可。但具體的寫(xiě)入還要按 LCD 模塊的指令格式來(lái)就行,這個(gè)將在軟件設(shè)計(jì)部分作詳細(xì)介紹。液晶顯示電路的電路圖如圖 。 圖 液晶顯示電路 時(shí)鐘電路的設(shè)計(jì) 本次設(shè)計(jì)所選用的時(shí)鐘芯片為 DS1302,該芯片 是 DALLAS 公司推出的涓流充電時(shí)鐘芯片 ,內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘 /日歷和 31 字節(jié)靜態(tài) RAM,通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信實(shí)時(shí)時(shí)鐘 /日歷電路。提供秒分時(shí)日期月年的信息 ,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整時(shí)鐘操作可通過(guò) AM/PM 指示決定采用 24 或 12 小時(shí)格式 .DS1302 與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn)行通信 ,僅需用到三個(gè)口線 :1 RES 復(fù)位 ,2 I/O 數(shù)據(jù)線 ,3 SCLK 串行時(shí)鐘 .時(shí)鐘 /RAM 的讀 /寫(xiě)數(shù)據(jù)以一個(gè)字節(jié)或多達(dá) 31 個(gè)字節(jié)的字符組方式通信 .DS1302 工作時(shí)功耗很低 ,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于 1mW。 DS1302 是由 DS1202 改進(jìn)而來(lái) ,增加了以下的特性 .雙電源管腳用于主電源和備份電源供應(yīng) Vcc1,為可編程涓流充電電源附加七個(gè)字節(jié)存儲(chǔ)器 .它廣泛應(yīng)用于電話傳真便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。 11 DS1302 的引腳圖如圖 所示。引腳功能下 [5]: X1 X2 晶振管腳 GND 地 RST 復(fù)位腳 I/O 數(shù)據(jù)輸入 /輸出引腳 SCLK 串行時(shí)鐘 VCC1,VCC2 電源供電管腳 時(shí)鐘電路的電路圖如圖 。 圖 時(shí)鐘電路圖 掉電存儲(chǔ)電路的設(shè)計(jì) 掉電存儲(chǔ)系統(tǒng)電路如圖 。掉電存儲(chǔ)電路的作用是在電源斷開(kāi)的時(shí)候,存儲(chǔ)設(shè)定的價(jià)單信息。本設(shè)計(jì)采用的是 ATMEL 公司的 2KB 字節(jié)的 AT24C02 電可擦處存儲(chǔ)芯片,采用兩線串行的總線和單片機(jī)通訊,電壓最低可以到 ,額定電流為 1mA,靜態(tài)電流 10Ua(),芯片內(nèi)的資料可以在斷電的情況下保存 40 年以上, 其芯片引腳功能如下: A2— A0地址引腳 SDA、 SCL I2C 總線接口 WP寫(xiě)保護(hù)引腳, WP 接 VSS 時(shí),禁止寫(xiě)入高位地址, WP接 VDD 時(shí),允許寫(xiě)入任何地址 GND 接地端 VCC 電源端 圖 DS1302 引腳圖 12 圖 掉電存儲(chǔ)系統(tǒng)電路圖 圖中 R R6 是上拉電阻,其作用是減少 AT24C02 的靜態(tài)功耗,由于 AT24C02 的數(shù)據(jù)線和地址線是復(fù)用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線 SCL(移位脈沖)和 SDA(數(shù)據(jù) /地址)與單片機(jī)傳送數(shù)據(jù)。每當(dāng)設(shè)定一次單價(jià),系統(tǒng)就自動(dòng)調(diào)用存儲(chǔ)程序,將單價(jià)信息保存在芯片內(nèi);當(dāng)系統(tǒng)重新上電的時(shí)候,自動(dòng)調(diào)用讀存儲(chǔ)器程序,將存儲(chǔ)器內(nèi)的單價(jià)等信息,讀到 緩存單元中,供主程序使用 ,這樣就確保了信息的掉電不丟失。 鍵盤(pán) 電路的設(shè)計(jì) 本設(shè)計(jì)當(dāng)中涉及的按鍵數(shù)目較少,因此選用的是獨(dú)立按鍵,對(duì)應(yīng)的電路圖如圖 所示。 圖 獨(dú)立鍵盤(pán)電路圖 圖中 K1 為設(shè)置鍵, K2, K3 為調(diào)整鍵。 第四章 軟件 系統(tǒng) 設(shè)計(jì) AT24C02 子程序設(shè)計(jì) AT24C02 芯片地址的固定部分為 1010, A A A0、引腳接高、低電平后得到確定的 3 位編碼。形成的七位編碼即為該器件的地址碼,本設(shè)計(jì)的 A A A0 引腳全部接地,因此對(duì)應(yīng)的芯片地址為 1010000。 AT24C02 的寫(xiě)入過(guò)程 單片機(jī)寫(xiě) 進(jìn)行寫(xiě)操作時(shí),首先發(fā)送該器件的 7位地址碼和寫(xiě)方向位“ 0”(共 8位,13 即一個(gè)字節(jié)),發(fā)送完后釋放 SDA 線并在 SCL 線上產(chǎn)生第 9 個(gè)時(shí)鐘信號(hào)。被選中的存儲(chǔ)器件在確認(rèn)是自己的地址后,在 SDA 線上產(chǎn)生一個(gè)應(yīng)答信號(hào)作為響應(yīng),單片機(jī)收到應(yīng)答后就可以傳送數(shù)據(jù)了。對(duì)應(yīng)的寫(xiě)入程序如下。 void x24c02_write(char address, int info) { x24c02_start()。 x24c02_writex(0xa0)。 x24c02_clock()。 x24c02_writex(address)。 x24c02_clock()。 x24c02_writex(info)。 x24c02_clock()。 x24c02_stop()。 x24c02_delay(50)。 } 的 讀出過(guò)程 單片機(jī)先發(fā)送該器件的 7 位地址碼和寫(xiě)方向位“ 0”,發(fā)送完后釋放 SDA 線并在 SCL線上產(chǎn)生第 9 個(gè)時(shí)鐘信號(hào)。被選中的存儲(chǔ)器器件在確認(rèn)是自己的地址后,在 SDA 線上產(chǎn)生一個(gè)應(yīng)答信號(hào)作為回應(yīng)。 然后再發(fā)送一個(gè)字節(jié)的 要讀出器件的存儲(chǔ)區(qū)的首地址,收到應(yīng)答后,單片機(jī)要重復(fù)一次起始信號(hào)并發(fā)出器件地址和讀方向位(“ 1”),收到器件應(yīng)答后就可以讀出數(shù)據(jù)字節(jié),每讀出一個(gè)字節(jié),單片機(jī)都要回復(fù)應(yīng)答信號(hào)。當(dāng)最后一個(gè)字節(jié)數(shù)據(jù)讀完后,單片機(jī)應(yīng)返回以“非應(yīng)答”,并發(fā)出終止信號(hào)以結(jié)束讀出操作 [6]。對(duì)應(yīng)的讀程序如下。 int x24c02_read(char address) { int i。 x24c02_start()。 x24c02_writex(0xa0)。 x24c02_clock()。 x24c02_writex(address)。 x24c02_clock()。 x24c02_start()。 x24c02_writex(0xa1)。 x24c02_clock()。 i=x24c02_readx()。 14 x24c02_stop()。 x24c02_delay(10)。 return(i)。 } LCD1602 顯示子程序的設(shè)計(jì) LCD1602 的寫(xiě)操作 LCD1602 寫(xiě)操作時(shí)序圖如圖 所示。 當(dāng) RS=0 為向 LCD1602 控制器中寫(xiě)指令操作,當(dāng) RS=1 時(shí)為向 LCD1602 控制器中寫(xiě)數(shù) 據(jù)操作 [7]。對(duì)應(yīng)的寫(xiě)指令和寫(xiě)數(shù)據(jù)操作程序如下。 圖 LCD1602 寫(xiě)操作時(shí)序圖 void lcd_wcmd(unsigned char cmd) //寫(xiě)指令 { delay()。 RS = 0。 RW = 0。 EN = 0。 _nop_()。 _nop_()。 P0 = cmd。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 EN = 1。 15 _nop_()。 _nop_()。 _nop_()。 _nop_()。 EN = 0。 } void lcd_wdat(unsigned char dat) // 寫(xiě)程序 { delay()。 RS = 1。 RW = 0。 EN = 0。 P0 = dat。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 EN = 1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 EN = 0。 } LCD1602 的初始化 1602 液晶模塊內(nèi)部的控制器共有 11 條控制指令 ,如表 41 所示。 16 表 41 1602 液晶模塊內(nèi)部的控制器控制指令 指令 1:清顯示,指令碼 01H,光標(biāo)復(fù)位到地址 00H 位置。 指令 2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00H。 指令 3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。 指令 4:顯示開(kāi)關(guān)控制。 D:控制整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電 平不閃爍。 指令 5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。 指令 6:功能設(shè)置命令 DL:高電平時(shí)為 4位總線,低電平時(shí)為 8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示 5x7 的點(diǎn)陣字符,高電平時(shí)顯示 5x10 的點(diǎn)陣字符。 指令 7:字符發(fā)生器 RAM地址設(shè)置。 指令 8: DDRAM 地址設(shè)置。 17 指令 9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令 10:寫(xiě)數(shù)據(jù)。 指令 11:讀數(shù)據(jù)。 有了控制指令表我們需要液 晶屏完成怎樣的工作只需向液晶屏控制器寫(xiě)入相應(yīng)的指令即可。一般液晶屏的初始工程如下。 void lcd_init() { lcd_wcmd(0x38)。 delay_ms(1)。 lcd_wcmd(0x0c)。 delay_ms(1)。 lcd_wcmd(0x06)。 delay_ms(1)。 lcd_wcmd(0x01)。 delay_ms(1)。 } 時(shí)鐘子程序的設(shè)計(jì) DS1302 的控制字節(jié) DS1302 的控制字如表 42 所示。控制字節(jié)的高有效 位(位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫(xiě)入 DS1302 中,位 6 如果 0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1 表示存取 RAM 數(shù)據(jù);位 5至位 1 指示操作單元的地址;最低有效位(位 0)如為 0 表示要進(jìn)行寫(xiě)操作,為 1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸出 [8]。 表 42 DS1302 的控制字 18 DS1302 的 數(shù)據(jù)輸入輸出 在控制指令字輸入后的下一個(gè) SCLK 時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入 DS1302,數(shù)據(jù)輸入從低位即位 0 開(kāi)始。同樣,在緊跟 8位的控制指令字后的下一個(gè) SCLK 脈沖的下降沿讀出 DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位 0位到高位 7。 讀寫(xiě)時(shí)序圖如圖 所示。 圖 DS1302 讀寫(xiě)時(shí)序圖 1) DS1302 讀程序 unsigned char DS1302OutputByte(void)//實(shí)時(shí)時(shí)鐘讀取一字節(jié) { unsigned char i。 for(i=8。 i0。 i) { ACC = ACC
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1