找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機開關檢測、鍵盤及顯示接口實驗程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:869967 發(fā)表于 2020-12-29 09:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
三、 實驗內(nèi)容與實驗過程及分析 (寫出詳細的實驗步驟,并分析實驗結果)
流水燈實驗步驟:
1、I/O 端口的編程 (1)頭文件 對 I/O 端口編程控制時,要對 I/O 端口特殊功能寄存器聲明,在 C51 的編 譯器中,這項聲明包含在頭文件 reg51.h 中,編程時,可通過預處理命令 #include。 《單片機原理及應用》教案 使用移位運算符“>>”、“<<”或移位函數(shù)_crol_,把送 P1 口顯示控制數(shù) 據(jù)進行移位,從而實現(xiàn)發(fā)光二極管依次點亮。編程中一定要把含有移位函數(shù)的 頭文件 intrins.h 包含在內(nèi),編程時,可通過預處理命令#include 。 (2)驅(qū)動電路 8 個發(fā)光二極管 D0~D7 經(jīng)限流電阻分別接至 P1 口的 P1.0~P1.7 引腳上, 陽極共同接高電平。
2、軟件延時程序編寫一個延時 1ms 程序。
void delayms( unsigned char int j)
{
unsigned char i;
while(j- -)
{
for(i=0;i<125;i++)
{;}
}
} 用 for 的內(nèi)部循環(huán)大約延時 8μs,但不是特別精確。不同編譯器會產(chǎn)生不 同延時,因此 i 的上限值 125 應根據(jù)實際情況進行補償調(diào)整。
  • 單片機最小系統(tǒng) 以 AT89S51 為例,AT89S51 內(nèi)部有 4KB 閃存,本身就是一個數(shù)字量輸入/輸 出的最小應用系統(tǒng)。在構建 AT89S51 單片機最小應用系統(tǒng)時,AT89S51 單片機 需要外接時鐘電路和復位電路即可,如圖 1 所示。 注意,本最小應用系統(tǒng)只能作為小型的數(shù)字量的測控單元。
圖1 AT89S51單片機構成的最小應用系統(tǒng)
#include
#include
void delay() {
unsigned char i,j;
for(i=0;i<255;i++)
for(j=0;j<255;j++);
}
void main()
{
P1=0xfe;
while(1)
{
P1=_crol_(P1,1);
delay();
}
}

電路圖為

圖2 硬件電路原理圖

實驗成果截圖:

圖3實驗結果展示

矩陣鍵盤實驗步驟:

  • 判別是否有鍵按下,識別哪一個鍵被按下,并求出相應的鍵值。根據(jù)鍵值,找到相應鍵值處理程序入口。
  • 按鍵閉合與否,反應在行線輸出電壓上就是高電平或低電平,對行線電平高低狀態(tài)檢測,便可確認按鍵是否按下與松開。為了確保單片機對一次按鍵動作只確認一次按鍵有效,必須消除抖動期t1和t3的影響。
  • 在檢測到有鍵按下時,該鍵所對應的行線為低電平,執(zhí)行一段延時10ms的子程序后,確認該行線電平是否仍為低電平,如果仍為低電平,則確認該行確實有鍵按下。當按鍵松開時,行線的低電平變?yōu)楦唠娖剑瑘?zhí)行一段延時10ms的子程序后,檢測該行線為高電平,說明按鍵確實已經(jīng)松開。如圖3和圖4所示
  • 數(shù)碼管顯示由P0口控制,當4×4矩陣鍵盤中的某一按鍵按下時,數(shù)碼管上顯示對應鍵號。例如,1號鍵按下時,數(shù)碼管顯示“1”;12鍵按下時,數(shù)碼管顯示“12”等
  • 如果串行通信選用很低波特率(如波特率選為55),可將定時器T1設置
實驗代碼截圖:
圖4矩陣代碼截圖

實驗結果圖:

圖5 矩陣鍵盤按鍵結果

電路圖:

圖6 硬件電路圖

四、實驗總結(每項不少于20字)
存在問題:1.一開始對于_crol_不是很理解,對于單片機的一些電路圖不知道如何去畫。
  •    數(shù)碼管的位選和段選操作不夠熟練,對矩陣鍵盤的行列掃描不夠熟練,通過數(shù)碼管的顯示來體現(xiàn)矩陣鍵盤的掃描。
  •    開發(fā)板的原理圖明曉,導致代碼出現(xiàn)錯誤,
解決方法:查看課本溫習移位的理解,進一步敲好代碼,對于電路圖我選擇反復看視頻去了解每一個實驗的器件。
收獲:懂得如何運用_crol_和_cror_左移和右移,以及本次實驗應該挑選的實驗器材,以及延時函數(shù)、主函數(shù)這些的相關重點。對矩陣鍵盤的原理理解加深,學會了通過按鍵控制數(shù)碼管的值變化。

以上的Word格式文檔51黑下載地址:
文檔.doc (882.8 KB, 下載次數(shù): 4)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:869967 發(fā)表于 2020-12-29 09:07 | 只看該作者
各位這是我剛自學的   請指教
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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