<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)最小系統(tǒng)制作

          單片機(jī)最小系統(tǒng)制作

          作者: 時間:2013-05-16 來源:網(wǎng)絡(luò) 收藏

          S8550三極管一只

          4.5V電池盒一只,導(dǎo)線若干。

          七、硬件電路的焊接

          按照原理圖把上面的元件焊接好,詳細(xì)步驟省略。

          八、相關(guān)程序編寫

          針對上面的電路原理圖,設(shè)計(jì)出本系統(tǒng)的詳細(xì)功能:

          (1)、第一個發(fā)光二極管點(diǎn)亮,同時數(shù)碼管顯示“1”。

          (2)、第二個發(fā)光二極管點(diǎn)亮,同時數(shù)碼管顯示“2”。

          (3)、依次類推到第八個發(fā)光二極管點(diǎn)亮,同時數(shù)碼管顯示“8”。

          以上出現(xiàn)的是流水燈的效果

          (4)、所有的發(fā)光二極管滅了,同時數(shù)碼管現(xiàn)實(shí)“0”。

          (5)、數(shù)碼管顯示“1”。

          (6)、數(shù)碼管顯示“2、……”直到“9、A、B、C、D、E、F、Y”。

          (7)、蜂鳴器發(fā)出九聲報警聲后重復(fù)上面所有步驟。

          (8)程序如下:

          ORG 0000H;偽指令,定義下面的程序代碼(機(jī)器代碼)從地址為0000H的單元存放。

          LJMP START;跳轉(zhuǎn)到標(biāo)號為START的地方去執(zhí)行。

          ORG 0030H;偽指令,定義下面的程序代碼(機(jī)器代碼)從地址為0030H的單元存放。

          START:MOV P1,#0FEH ;點(diǎn)亮第一個發(fā)光二極管。

          CLR P2.7 ;送低電平到第一個數(shù)碼管,開啟數(shù)碼管。

          CLR P2.6 ;送低電平到第二個數(shù)碼管,開啟數(shù)碼管。

          MOV P0,#06H;讓數(shù)碼管顯示“1” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P1,#0FDH;點(diǎn)亮第二個發(fā)光二極管。

          MOV P0,#5bH;讓數(shù)碼管顯示“2” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P1,#0FBH;點(diǎn)亮第三個發(fā)光二極管。

          MOV P0,#4fH;讓數(shù)碼管顯示“3” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P1,#0F7H;點(diǎn)亮第四個發(fā)光二極管。

          MOV P0,#66H;讓數(shù)碼管顯示“4” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P1,#0EFH;點(diǎn)亮第五個發(fā)光二極管。

          MOV P0,#6dH;讓數(shù)碼管顯示“5” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P1,#0DFH;點(diǎn)亮第六個發(fā)光二極管。

          MOV P0,#7dH;讓數(shù)碼管顯示“6” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P1,#0BFH;點(diǎn)亮第七個發(fā)光二極管。

          MOV P0,#07H;讓數(shù)碼管顯示“7” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P1,#7FH;點(diǎn)亮第八個發(fā)光二極管。

          MOV P0,#7fH;讓數(shù)碼管顯示“8” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P1,#00H;滅了所有的發(fā)光二極管。

          MOV P0,#3FH;讓數(shù)碼管顯示“0” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P0,#06H;讓數(shù)碼管顯示“1” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P0,#5bH;讓數(shù)碼管顯示“2” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P0,#4fH;讓數(shù)碼管顯示“3” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P0,#66H;讓數(shù)碼管顯示“4” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P0,#6dH;讓數(shù)碼管顯示“5” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P0,#7dH;讓數(shù)碼管顯示“6” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P0,#07H;讓數(shù)碼管顯示“7” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P0,#7fH;讓數(shù)碼管顯示“8” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV P0,#6fH;讓數(shù)碼管顯示“9” 。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          MOV R4,#9;送蜂鳴器的報警次數(shù)。

          LOOP:SETB P2.0;不發(fā)聲

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          CLR P2.0;發(fā)聲。

          LCALL DELAY;調(diào)用延時子程序,起到延時的目的。

          DJNZ R4,LOOP;發(fā)聲九次后向下執(zhí)行。

          SETB P2.0;關(guān)閉發(fā)聲

          LJMP START;跳轉(zhuǎn)到標(biāo)號為START處執(zhí)行,循環(huán)本程序。

          DELAY:MOV R7,#200;這是延時子程序。

          D1:MOV R6,#200

          D2:MOV R5,#200

          D3:DJNZ R5,D3

          DJNZ R6,D2

          DJNZ R7,D1

          RET;延時子程序返回指令。

          END;結(jié)束偽指令。

          九、利用KEIL C51 軟件對上面的程序進(jìn)行調(diào)試和編譯,產(chǎn)生*.HEX文件,以便用編程器寫入芯片中。

          十、編程器的使用:用編程器把電腦里生成的*.HEX文件寫到芯片中。

          十一、產(chǎn)品調(diào)試:通上4.5V(三節(jié)電池)的電源,可以調(diào)試本系統(tǒng),如果沒有錯誤就可以正常工作了。

          蜂鳴器相關(guān)文章:蜂鳴器原理

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();