⑴ 單片機最小系統
開發單片機最小系統是我們的任務。該系統包括以下功能:
1. 具備2位LED數碼管顯示功能。
2. 具有八路發光二極體顯示各種流水燈效果。
3. 可以完成各種奏樂、報警等發聲音類實驗。
4. 具備復位功能。
功能分析如下:
1. 兩位LED數碼管顯示功能,可以通過單片機的P0口連接兩個數碼管實現。
2. 八路發光二極體顯示,可通過P1口連接八個發光二極體來實現。
3. 各種奏樂、報警等發聲功能,可以採用P2.0引腳連接蜂鳴器來實現。
4. 通過單片機的第9腳,可以設計成復位系統,採用按鍵復位;利用單片機的18、19腳可以設計成時鍾電路,採用內部振盪方式設計。
為了實現這些功能,我們設計了以下硬體電路:
1. 數碼管:共陰極2隻(分立)。
2. 電解電容:10UF的一隻。
3. 30PF的電容2隻。
4. 220歐的電阻9隻。
5. 4.7K的電阻一隻。
6. 1.2K的電阻一隻。
7. 4.7K的排阻一隻。
8. 12MHZ的晶振一隻。
9. 有源5V蜂鳴器一隻。
10. AT89S51單片機一片。
11. 常開按鈕開關1隻。
12. 緊鎖座一隻(方便芯取下來的,綠色的)。
13. 發光二極體(5MM紅色)8隻。
14. 萬能板電路版15*17CM。
15. S8550三極體一隻。
16. 4.5V電池盒一隻,導線若干。
按照電路圖焊接元件,詳細步驟省略。
為了實現上述功能,編寫了相關程序:
1. 第一個發光二極體點亮,同時數碼管顯示「1」。
2. 第二個發光二極體點亮,同時數碼管顯示「2」。
3. 依次類推到第八個發光二極體點亮,同時數碼管顯示「8」。
以上出現的是流水燈效果。
4. 所有的發光二極體滅了,同時數碼管現實「0」。
5. 數碼管顯示「1」。
6. 數碼管顯示「2、……」直到「9、A、B、C、D、E、F、Y」。
7. 蜂鳴器發出九聲報警聲後重復上面所有步驟。
⑵ 用單片機c51,c語言編0-9計數器程序!謝謝!!!
你的硬體電路有問題啊,單片機31號腳要接高電平
還有,你的數碼管接法也不對啊
看你的排阻接法,你的數碼管要用共陰極的
當加到9之後,再按一下,是不是又恢復到0啦???
下面是更改的回答
#include<reg51.h>
unsignedchara;
unsignedcharcodetable[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x67};
voidinit(void)
{
EA=1;
EX0=1;
IT0=1;
}
voidmain(void)
{
init();
while(1)
{
P0=table[a];
}
}
voidEX_0(void)interrupt0
{
a++;
if(a>9)
a=0;
}
望採納
⑶ 51單片機的P0口如何接上拉電阻
第一種,第二種電源直接接負載單片機控制沒作用,第三種如果單片機輸出低電平容易損壞!