久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4817|回復: 0
打印 上一主題 下一主題
收起左側

單片機講義14:復習綜合實驗一&&IO擴展

[復制鏈接]
跳轉到指定樓層
樓主
ID:250285 發表于 2017-11-19 03:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
第14講 復習綜合實驗一&&IO擴展
知識點:
1、 綜合實驗一的一種編程思路
2、 IO擴展之輸入擴展
3、 基于74HC165按鍵擴展實驗
4、 學會根據器件真值表和時序圖編寫器件驅動程序

一、綜合實驗一的一種編程思路
1、 首先這個實驗的目的主要是訓練大家,對矩陣式按鍵與數碼管動態顯示的掌 握程度,要求必須用矩陣式按鍵和 8 位數碼管,我們現在開始分析程序設計思路。
2、 首先要明確實驗的要求:實驗要求我們從矩陣式按鍵中任選兩支鍵作為加 1 和減 1 輸入按鍵,最大加到 100。所以,我們要在內存中開辟一個 char型變 量,定義為 char num,此變量就是我們通過按鍵可以修改的。
3、 我前幾次課講過按鍵的有效方式,這里,我們選一個最簡單的有效方式――抬起有效。言外之意,就是當我們按下按鍵并松開的時候,num 值才會改變。通過矩陣式按鍵的掃描,我們獲得了 0—15 個鍵值。這些鍵值是我們按下按 鍵的時候獲得的,不是松開的時候獲得的,而我們想松開的時候讓按鍵有效, 所以我們應該在程序中加一個等待按鍵釋放的程序 while(!GPIO_KEY !=0xf0);一定要注意這條語句的位置。
4、 一旦全局變量 KeyValue 獲得了鍵值,它是不會自行清除的,這就造成了觸 發一次動作很多次,為了解決這個問題,我們把按鍵不動作或消抖不通過的鍵值設置為 0-15之外的數,這里設置為 0XFF,也就是當無按鍵動作時
KeyValue = OXFF。
5、 關于 num 值如何在數碼管上顯示,這里運用了除和取余法,目的是獲得百位、 十位、個位的十進制數。
百位:bai = num /100; 十位:shi = num%100/10; 個位:ge =  num%100%10;
然后把要顯示的百位、十位、個位送到相應的數碼管上,程序如下:
if(i == 0)
{
P0 = smgduan[bai];
}
else if(i == 1)
{
P0 = smgduan[shi];
}
else if(i == 2)
{
P0 = smgduan[ge];
}

通過以上的計算,我們就可以在數碼管編碼數組中找到對應的顯示編碼。 至此,程序設計完成!

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

三、74HC165 用法:


引腳介紹

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

真值表:

時序圖:

這個時序圖包含兩大部分內容:裝載數據(LOAD)和串行移位(SERIALSHIFT),其中 LOAD 時,必須 inhibit(時鐘禁止),CLOCK _INHIBIT =1;
首先分析如何 LOAD,所謂 LOAD 就是把通過此器件獲得的 8 位數據,加載到此器件的內部移 位寄存器里。比如外接的是 8 個按鍵,平時沒按下按鍵時是高電平,這時,加載到器件內部 移位寄存器里的是 0XFF,當其中某一個鍵被按下時,對應的 8 位編碼數據就被加載內部移位 寄存器里。通過時序圖和真值表,我們不難發現,LOAD 時,SHIFT//LOAD 必須保持低電平。 所以加載數據時,我們可以這樣編碼:
SHIFT//LOAD= 0;
_NOP_();   //保持一段時間的低電平


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

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

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

五、時序與真值表時序,就是按照一定的時間順序給出信號。按照這個時間順序,你就能得到你想要的數據或者把你要寫的數據寫進芯片。
真值表:輸入與輸出物理電平關系
六、學會根據器件真值表和時序圖編寫器件驅動程序




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



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: pacopacomama在线| 看片天堂 | 在线婷婷| 国产成人精品免高潮在线观看 | 成人av一区| 久久亚洲欧美日韩精品专区 | 久久99久久99精品免视看婷婷 | 国产一区二区久久久 | 久久久综合久久 | 天天爽天天干 | 欧美在线天堂 | 日韩一级一区 | 91久久久www播放日本观看 | www天天操 | 北条麻妃99精品青青久久主播 | 国产精品久久毛片av大全日韩 | 欧美一级片免费看 | 夜久久| 欧美精品v国产精品v日韩精品 | 在线观看视频福利 | 亚洲午夜av久久乱码 | 日本小视频网站 | 亚洲精品乱码久久久久久按摩观 | 成人在线免费观看 | 秋霞电影院午夜伦 | 国产特黄一级 | 男女网站视频 | 18gay男同69亚洲网站 | 国产在线h| 亚洲国产成人av好男人在线观看 | 精品成人在线视频 | 亚洲一区二区三区视频 | 中文字字幕一区二区三区四区五区 | 黄色av网站在线观看 | 日韩在线观看一区 | 在线日韩av电影 | 日本超碰| 天堂中文av | 日韩电影免费在线观看中文字幕 | 欧美日韩精品在线一区 | 岛国一区|