找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11879|回復: 2
收起左側

單片機講義13:IO擴展(74HC165輸入擴展)與按鍵觸發(fā)實驗

[復制鏈接]
ID:250285 發(fā)表于 2017-11-19 02:59 | 顯示全部樓層 |閱讀模式
13IO 擴展輸入擴按鍵觸發(fā)實驗

知識點:

1、 IO 擴展之輸入擴展
2、 74HC165用法
3、 基于 74HC165 按鍵擴展實驗
4、 矩陣式按鍵擴充實驗
5、 時序與真值表
6、 學會根據(jù)器件真值表和時序圖編寫器件驅動程序
7、 單片機外圍器件驅動程序設計的兩種方式(器件時序圖與標準通信接口)

一、IO擴展之輸入擴展:
這里所討論的 IO輸入擴展,意思是如何通過單片機一位 IO端口去讀取外部輸入的一個字節(jié)的數(shù)據(jù)(8 位)。下面我們介紹一下器件74HC165。


二、74HC165用法:
0.png
引腳介紹

SH//LD:移位控制/置入控制(低電平有效),移位:使能移位輸出;置入:把數(shù)據(jù)放入移位寄存器中
CLK,CLK_INH:時鐘輸入端
SER:串行數(shù)據(jù)輸入端
QH:輸出端
/QH:互補輸出端
A- H:并行數(shù)據(jù)輸入端 其實看一個芯片如何使用的,不只是看引腳功能,更重要的是要看時序圖和真值表。

真值表:
0.png


時序圖:
0.png

這個時序圖包含兩大部分內容:裝載數(shù)據(jù)(LOAD)和串行移位(SERIAL SHIFT),其中 LOAD 時, 必須 inhibit(時鐘禁止),CLOCK _INHIBIT = 1;
首先分析如何 LOAD,所謂 LOAD 就是把通過此器件獲得的 8 位數(shù)據(jù),加載到此器件的內部移 位寄存器里。比如外接的是 8 個按鍵,平時沒按下按鍵時是高電平,這時,加載到器件內部 移位寄存器里的是 0XFF,當其中某一個鍵被按下時,對應的 8 位編碼數(shù)據(jù)就被加載內部移位

寄存器里。通過時序圖和真值表,我們不難發(fā)現(xiàn),LOAD 時,SHIFT//LOAD 必須保持低電平。 所以加載數(shù)據(jù)時,我們可以這樣編碼:
SHIFT//LOAD = 0;
_NOP_();        //保持一段時間的低電平

隨后,在 CLOCK_HAIBIT 保持低電平,SHIFT//LOAD 保高電平,開如一段 8 位串行數(shù)據(jù)的移 位輸出,時鐘上升沿狀態(tài)下開始移位輸出。以下是上升沿的寫法,一定要記!

CLOCK = 0;
_NOP_();
indata |= indata; CLOCK = 1;

三、基于 74HC165 按鍵擴展實驗: 實驗現(xiàn)象:下載程序后,按下獨立按鍵可以點亮對應 LED 燈。注意事項:必須將 74HC165 模塊的 JP165 短接片短接,否則不會出現(xiàn)象。

四、時序與真值表 時序,就是按照一定的時間順序給出信號。按照這個時間順序,你就能得到你想要的數(shù)據(jù)或 者把你要寫的數(shù)據(jù)寫進芯片。
真值表:輸入與輸出物理電平關系

五、矩陣式按鍵擴充實驗 不同的按鍵觸發(fā)不同的功能(按鍵事件解析)

六、學會根據(jù)器件真值表和時序圖編寫器件驅動程序





這是以前給小學生培訓單片機做的一套講義,盡可能的做到了通俗易懂,現(xiàn)分享給大家,絕對的純原創(chuàng)資料.
全部資料下載地址(共15章,pdf格式):http://www.torrancerestoration.com/bbs/dpj-98524-1.html



回復

使用道具 舉報

ID:18591 發(fā)表于 2019-11-10 21:02 | 顯示全部樓層
棒~~~~~~~~~~~
回復

使用道具 舉報

ID:18591 發(fā)表于 2019-12-8 23:29 | 顯示全部樓層

~~~~棒~~~~~~~~~~~
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表