【文章內(nèi)容簡介】
7 VCC:供電電壓。 GND:接地。 P0 口: P0 口的輸出驅(qū)動電路由上拉場效應(yīng)管和驅(qū)動場效應(yīng)管組成,控制電路包括一個與非門,一個非門和多路開關(guān) MUX。 P0 口既可以作為通用的 I/O 口 進行數(shù)據(jù)的輸入輸出,也可以作為單片機系統(tǒng)的地址 /數(shù)據(jù)線使用,為此在 P0 口的電路中有一個多路轉(zhuǎn)換器 MUX。在控制信號的作用下,多路轉(zhuǎn)換器可以分別接通鎖存器輸出或地址 /數(shù)據(jù)線輸出。 P1 口: P1 口是一個內(nèi)部提供上拉電阻的 8位雙向 I/O 口, P1 口能驅(qū)動 4個 LSTTL 負載。 P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入, P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。 P1 口作為一般的 I/O 口使用時記做 ~。 P2 口: P2 口既可以作為通用的 I/O 口使用,也可以作為地址總線使用,所以他的位 結(jié)構(gòu)比 P1口多了一個多路控制開關(guān) MUX。當(dāng) P2 口作為通用 I/O 口使用時,多路開關(guān) MUX 倒向鎖存器的輸出端 Q,構(gòu)成一個準(zhǔn)雙向口,其功能與 P1 口相同,有輸出,讀引腳和讀鎖存器 3種工作方式。 P3 口: P3 口為多功能口。當(dāng)?shù)诙δ茌敵龆吮3?1 的時候,與非門 3對鎖存器 Q端是暢通的,這時 P3 口完全實現(xiàn)第一功能,即作為通用的 I/O 口使用,而且是一個準(zhǔn)雙向 I/O 口,其功能與 P1口是完全相同的。 RST:這時復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,需要保持 RST 腳兩個機器周期的高電平的時間。 ALE/PROG:當(dāng)訪問外部存儲器時,地址 鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時, ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出脈沖或用于定時的目的。 然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE 脈沖。如想禁止ALE 的輸出可在 SFR8EH 地址上置 0。此時, ALE 只有在執(zhí)行 MOVX, MOVC 指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲 器取指期間,每個機器周期兩次 /PSEN 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的 /PSEN 信號將不出現(xiàn)。 /EA/VPP:當(dāng) /EA 保持低電平時,則在此期間外部程序存儲器( 0000HFFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式 1時, /EA 將內(nèi)部鎖定為 RESET;當(dāng) /EA 端保持高電平時,此間內(nèi)部程序存儲器。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源( VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 硬件驅(qū)動電路設(shè)計 常州信息職業(yè)技術(shù)學(xué)院電子與電氣工程學(xué)院 畢業(yè)設(shè)計論文 8 硬 件驅(qū)動電路設(shè)計主要是有兩個芯片組成: 74HC595 列驅(qū)動, 74L138 行驅(qū)動。下面我們就對列驅(qū)動器 74HC595 及行驅(qū)動器 74HC138 的功能及使用方法做簡單的介紹。 列驅(qū)動器 74HC595 列驅(qū)動器電路由集成電路 74HC595 構(gòu)成,它具有一個 8位傳入并出的移位寄存器和一個 8位鎖存器結(jié)構(gòu),而且移位寄存器和輸出鎖存器的控制是各自獨立的,可以實現(xiàn)在顯示本行列數(shù)據(jù)的同時傳送下一行的列數(shù)據(jù),即可以達到重疊處理的目的。 74HC595 的外形及內(nèi)部結(jié)構(gòu)如圖 所示。 圖 74HC595 結(jié)構(gòu)圖 作為 硅結(jié)構(gòu)的 CMOS 器件, 74HC595 兼容低電壓 TTL 電路。 74HC595 是具有 8 位移位寄存器和 1 個存儲器,三態(tài)輸出功能的器件。移位寄存器和存儲器是分別的時鐘。數(shù)據(jù)在 SHCP 的上升沿輸入到移位寄存器中,在 STCP 的上升沿輸入到存儲寄存器中去。將兩個時鐘連在一起,則存儲寄存器總是比移位寄存器晚一個脈沖。移位寄存器有一個串行移位輸入( DS)和一個串行輸出( Q7’)以及一個異步的低電平復(fù)位。存儲寄存器有一個并行 8 位的,具備三態(tài)的線輸出,當(dāng)使能為 OE 時(即為低電平),存儲寄存器的數(shù)據(jù)傳輸?shù)娇偩€ 。 輸入 輸出 功能 SHCP STCP OE MR DS Q7’ QN X X L ↓ X L NC MR 為低電平時僅僅影響移位寄存器 X ↑ L L X L L 空移位寄存器到輸出寄存器 X X H L X L Z 清空移位寄存器,并行輸出為高阻態(tài) ↑ X L H H Q6 NC 邏輯高電平移入移位寄存器狀態(tài) 0,包含所有的移位寄存器狀態(tài)移入 X ↑ L H X NC QN’ 移位寄存器的內(nèi)容到達保持寄存器并從并口輸出 ↑ ↑ L H X Q6’ QN’ 移位寄存器內(nèi)容移入,先前的移位寄存器的內(nèi)容到達 保持寄存器輸出 表 74HC595 功能表 常州信息職業(yè)技術(shù)學(xué)院電子與電氣工程學(xué)院 畢業(yè)設(shè)計論文 9 74HC595 進行 8片級連,可共用一個移位時鐘 SHCP 及數(shù)據(jù)鎖存信號 STCP。這樣,當(dāng)?shù)谝恍行枰@示的數(shù)據(jù)經(jīng)過 8x8=64 個 SHCP 時鐘后便可將其全部移入74HC595 中,同時還將產(chǎn)生一個數(shù)據(jù)鎖存信號 STCP,將數(shù)據(jù)鎖存在 74HC595 中,并且在使能信號的作用下,使串入數(shù)據(jù)并行傳輸輸出,從而使與各輸出位對應(yīng)的場驅(qū)動管處于放大狀態(tài)或截止?fàn)顟B(tài);同時由行掃描控制電路產(chǎn)生信號使第一行掃描管導(dǎo)通,相當(dāng)于第一行 LED 的正端都接高,顯然,第一行 LED 是否點亮 就取決于 74HC595 的鎖存信號。表 74HC595 引腳說明 表 符號 引腳 描述 Q0~Q7 1~7, 15 并行數(shù)據(jù)輸出 GND 8 地 Q7’ 9 串行數(shù)據(jù)輸出 MR 10 主復(fù)位(低電平) SHCP 11 移位寄存時鐘輸入 STCP 12 存儲寄存時鐘輸入 OE 13 輸出有效(低電平) DS 14 串行數(shù)據(jù)輸入 VCC 16 電源 74HC595 引腳說明 此外,在第一行 LED 管點亮的同時,再在 74HC595 中移入第二行需要顯示的數(shù)據(jù),隨后將其鎖存,同時由行掃 描控制電路將第一行掃描管關(guān)閉而接通第二行,使第二行 LED 管點亮,以此類推,當(dāng)?shù)谑袙呙柽^后再回到第一行,這樣只要達到一定的掃描速度就可形成一幅完整的文字或圖像。 行驅(qū)動器 74HC138 本電路中我們加入了兩個 38 線譯碼器 74HC138,其輸入是一個 16 進制碼。 74HC138 結(jié)構(gòu)如圖 所示,引腳說明表如表 。 常州信息職業(yè)技術(shù)學(xué)院電子與電氣工程學(xué)院 畢業(yè)設(shè)計論文 10 圖 74HC138 結(jié)構(gòu)圖 符號 引腳 描述 0Y ~ 6Y 9~15 輸出端 GND 8 GND 電源地 1G ~ 2G 5 使能輸出端 A、 B、 C 1~3 地址輸出端 Vcc 16 VCC 電源正 表 74HC138 引腳說明表 輸入 輸出 E3 /E2 /E1 A2 A1 A0 /Y0 /Y1 /Y2 /Y3 /Y4 /Y5 /Y6 /Y7 X X X X X X H H H H H H H H X X H X X X H H H H H H H H L X X X X X H H H H H H H H H L L L L L L H H H H H H H H L L L H H H L H H H H H H H L L L L L H H L H H H H H H L L L H H H H H L H H H H H L L H L L H H H H L H H H H L L H L H H H H H H L H H H L L H H L H H H H H H L H H L L H H H H H H H H H H L 表 74HC138 功能說明表 DS18B20 知識簡介 DS18B20 一般都是充當(dāng)從機的角色,而單片機就是主機。單片機通過一線總常州信息職業(yè)技術(shù)學(xué)院電子與電氣工程學(xué)院 畢業(yè)設(shè)計論文 11 線訪問 DS18B20 的話,需要經(jīng)過以下幾個步驟: 復(fù)位。 ROM 指令。 DS18B20 功能指令( RAM 指令)。 一般上我們都是使用單點,也就是說單線總線上僅有一個 DS18B20 存在而已。所以我們無需刻意讀取 ROM 里邊的序列號來,然后匹配那個 DS18B20?而是更直接的,跳過 ROM 指令,然后直接執(zhí)行 DS18B20 功能指令。 DS18B20 復(fù)位,在某種意義上就是一次訪問 DS18B20 的開始,或者可說成是開始信號。 ROM 指令,也就是訪問,搜索,匹配, DS18B20 個別的 64 位序列號的動作。在單點情況下,可以直接跳過 ROM 指令。而跳過 ROM 指令的字節(jié)是 0xCC。 DS18B20 功能指令有很多種,數(shù)據(jù)手冊里有更詳細的介紹。這里僅列出比較常用的幾個 DS18B20 功能指令。 0x44:開始轉(zhuǎn)換溫度。轉(zhuǎn)換好的溫度會儲存到暫存器字節(jié) 0 和 1。 0xEE:讀暫存指令。讀暫存指令,會從暫存器 0 到 9,一個一個字節(jié)讀取 ,如果要停止的話,必須寫下 DS18B20 復(fù)位。 DSl8B20 內(nèi)部結(jié)構(gòu)及工作原理 表 DS18b20 內(nèi)部結(jié)構(gòu)表 單片機的復(fù)位時序如下: 480us~950us, 然后釋放總線(拉高電平)。 DS18B20 會拉低信號,大約 60~240us 表示應(yīng)答。 拉低電平的 60~240us 之間,單片機讀取總線的電平。 ROM 指令表 指令 約定代碼 功能 讀 ROM 33H 讀 DS18B20 溫度 傳感器 ROM 中的編碼(即 64 位地址) 符合 ROM 55H 發(fā)出此命令后,接著發(fā)出 64 位 ROM 編碼,訪問單總線上與改編碼相對應(yīng)的 DS18b20 使之作出響應(yīng)為下步對該 DS18B2Ⅴ DS18B20 DQ GND Ⅴ 寄 生電源電路 內(nèi)部電源Ⅴ 溫度傳感器 高速暫存存儲器 64 位 ROM和單線接口 電源傳感模塊 報警上限寄存器TH 報警下限寄存器 配置寄存器 8 位 CRC 發(fā)生器 控制邏輯 常州信息職業(yè)技術(shù)學(xué)院電子與電氣工程學(xué)院 畢業(yè)設(shè)計論文 12 0 的讀寫做準(zhǔn)備 搜索 ROM 0F0H 用于確定掛接在同一總線上 DS18B20 的個數(shù)和識別 64位 ROM 地址。為操作器件做好準(zhǔn)備。 跳過 ROM 0CCH 忽略 64位 ROM 地址,直接向 DS18B20 發(fā)溫度轉(zhuǎn)換命令,使用于單片工作 告警搜索命令 0ECH 執(zhí)行后只有溫度超過設(shè)定值上限或下限的片子作出響應(yīng) ROM 指令表 RAM 指令表 指令 約定代碼 功能 溫度變換 44H 啟動 DS18B20 進行溫度轉(zhuǎn)換, 12 位轉(zhuǎn)換時最長為 750ms(9 位為 ).結(jié)果存入內(nèi)部 9字節(jié)中的第 0、 1 字節(jié) RAM 中 讀暫存器 0BEH 讀內(nèi)部 RAM 中 9 個字節(jié)的內(nèi)容 寫暫存器 4EH 發(fā)出向內(nèi)部 RAM 的 3( TH)、 4( TL)字節(jié)寫上下限溫度數(shù)據(jù)命令,緊跟該命令后,是傳送兩字節(jié)的數(shù)據(jù)。 復(fù)制暫存器 48H 將 RAM 中第 4 字節(jié)的內(nèi)容復(fù)制到 EEPROM 中 重調(diào) EEPROM 0B8H 將 EEPROM 中內(nèi)容恢復(fù)到 RAM 中第 4 字 節(jié) 讀供電方式 0B4H 讀 DS18B20 的供電方式,寄生供電時 DS18B20 發(fā)送? 0?,外接電源供電 DS18B20 發(fā)送‘ 1’。 RAM 指令表 點陣顯示屏的硬件原理圖 系統(tǒng)的整體設(shè)計系統(tǒng)由單片機最小系統(tǒng), 74HC59 74HC13 DS18B20 芯片組成,其中 74HC595 芯片采用 8 級片連的方式實現(xiàn)了數(shù)據(jù)的重疊處理, 74HC138作為行選芯片實現(xiàn)了整個顯示屏系統(tǒng)的功能實現(xiàn),如下圖 就是 LED 點陣顯示屏的硬件結(jié)構(gòu)原理圖。 常州信息職業(yè)技術(shù)學(xué)院電子與電氣工程學(xué)院 畢業(yè)設(shè)計論文 13 圖 點陣顯示屏硬件仿真圖 軟件的設(shè)計思路 點 陣的顯示屏軟件的主要功能是在向屏體提供顯示數(shù)據(jù)的同時產(chǎn)生一系列控制信號,使屏幕按我們的要求顯示。 我們根據(jù)軟件分層次設(shè)計的原理可以把顯示屏的軟件系統(tǒng)分為兩部分:第一