標(biāo)題: 單片機(jī)開關(guān)檢測(cè)、鍵盤及顯示接口實(shí)驗(yàn)程序 [打印本頁(yè)]

作者: wangjianhang123    時(shí)間: 2020-12-29 09:06
標(biāo)題: 單片機(jī)開關(guān)檢測(cè)、鍵盤及顯示接口實(shí)驗(yàn)程序
三、 實(shí)驗(yàn)內(nèi)容與實(shí)驗(yàn)過程及分析 (寫出詳細(xì)的實(shí)驗(yàn)步驟,并分析實(shí)驗(yàn)結(jié)果)
流水燈實(shí)驗(yàn)步驟:
1、I/O 端口的編程 (1)頭文件 對(duì) I/O 端口編程控制時(shí),要對(duì) I/O 端口特殊功能寄存器聲明,在 C51 的編 譯器中,這項(xiàng)聲明包含在頭文件 reg51.h 中,編程時(shí),可通過預(yù)處理命令 #include。 《單片機(jī)原理及應(yīng)用》教案 使用移位運(yùn)算符“>>”、“<<”或移位函數(shù)_crol_,把送 P1 口顯示控制數(shù) 據(jù)進(jìn)行移位,從而實(shí)現(xiàn)發(fā)光二極管依次點(diǎn)亮。編程中一定要把含有移位函數(shù)的 頭文件 intrins.h 包含在內(nèi),編程時(shí),可通過預(yù)處理命令#include 。 (2)驅(qū)動(dòng)電路 8 個(gè)發(fā)光二極管 D0~D7 經(jīng)限流電阻分別接至 P1 口的 P1.0~P1.7 引腳上, 陽(yáng)極共同接高電平。
2、軟件延時(shí)程序編寫一個(gè)延時(shí) 1ms 程序。
void delayms( unsigned char int j)
{
unsigned char i;
while(j- -)
{
for(i=0;i<125;i++)
{;}
}
} 用 for 的內(nèi)部循環(huán)大約延時(shí) 8μs,但不是特別精確。不同編譯器會(huì)產(chǎn)生不 同延時(shí),因此 i 的上限值 125 應(yīng)根據(jù)實(shí)際情況進(jìn)行補(bǔ)償調(diào)整。
圖1 AT89S51單片機(jī)構(gòu)成的最小應(yīng)用系統(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 硬件電路原理圖

實(shí)驗(yàn)成果截圖:

圖3實(shí)驗(yàn)結(jié)果展示

矩陣鍵盤實(shí)驗(yàn)步驟:

實(shí)驗(yàn)代碼截圖:
圖4矩陣代碼截圖

實(shí)驗(yàn)結(jié)果圖:

圖5 矩陣鍵盤按鍵結(jié)果

電路圖:

圖6 硬件電路圖

四、實(shí)驗(yàn)總結(jié)(每項(xiàng)不少于20字)
存在問題:1.一開始對(duì)于_crol_不是很理解,對(duì)于單片機(jī)的一些電路圖不知道如何去畫。
解決方法:查看課本溫習(xí)移位的理解,進(jìn)一步敲好代碼,對(duì)于電路圖我選擇反復(fù)看視頻去了解每一個(gè)實(shí)驗(yàn)的器件。
收獲:懂得如何運(yùn)用_crol_和_cror_左移和右移,以及本次實(shí)驗(yàn)應(yīng)該挑選的實(shí)驗(yàn)器材,以及延時(shí)函數(shù)、主函數(shù)這些的相關(guān)重點(diǎn)。對(duì)矩陣鍵盤的原理理解加深,學(xué)會(huì)了通過按鍵控制數(shù)碼管的值變化。

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


作者: wangjianhang123    時(shí)間: 2020-12-29 09:07
各位這是我剛自學(xué)的   請(qǐng)指教




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1