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

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于AT89S51單片機(jī)開(kāi)發(fā)板的設(shè)計(jì)

          基于AT89S51單片機(jī)開(kāi)發(fā)板的設(shè)計(jì)

          作者: 時(shí)間:2011-04-14 來(lái)源:網(wǎng)絡(luò) 收藏

          1 引言

          單片機(jī)系統(tǒng)傳統(tǒng)的編程方式是將單片機(jī)先從電路板上取下,放入專用的編程器進(jìn)行編程,再放人電路板進(jìn)行調(diào)試。其缺點(diǎn)是頻繁的拔插器件容易損壞器件的引腳;如果頻繁的調(diào)試程序,必須重復(fù)拔插,大大降低了開(kāi)發(fā)效率。ISP技術(shù)是未來(lái)發(fā)展的方向,其優(yōu)勢(shì)是無(wú)需編程器就可進(jìn)行單片機(jī)的實(shí)驗(yàn)和開(kāi)發(fā),單片機(jī)器件可直接焊接到電路板上,調(diào)試結(jié)束即為成品,免去調(diào)試時(shí)由于頻繁插入取出對(duì)器件和電路板造成的損壞和帶來(lái)的不便。 ISP可降低研發(fā)成本;縮短從設(shè)計(jì)、制造到現(xiàn)場(chǎng)調(diào)試的時(shí)間,簡(jiǎn)化生產(chǎn)流程,大大提高工作效率;在試驗(yàn)新品或?qū)W生試驗(yàn)等常需用不同的程序調(diào)試器件的場(chǎng)合中,在線編程技術(shù)尤為重要。

          設(shè)計(jì)AT89S51單片機(jī)開(kāi)發(fā)板,采用ISP下載線實(shí)現(xiàn)在Keil C軟件開(kāi)發(fā)環(huán)境下調(diào)試的匯編語(yǔ)言程序機(jī)器碼能即時(shí)下載到AT89S51單片機(jī)片內(nèi)Flash中,并可在線修改。

          2 單片機(jī)開(kāi)發(fā)板硬件設(shè)計(jì)

          AT89S51單片機(jī)開(kāi)發(fā)板南AT89S51單片機(jī)最小系統(tǒng)、ISP下載編程器、上位機(jī)與下位機(jī)之間的串行通信電路、4×4矩陣鍵盤鍵號(hào)的識(shí)別與顯示電路4部分組成,如圖1所示。

          基于AT89S51單片機(jī)開(kāi)發(fā)板的設(shè)計(jì)

          2.1 單片機(jī)ISP下載編程器

          在系統(tǒng)可編程ISP(In-System Programmable),指電路板上的空白器件可編程寫入最終用戶代碼,而無(wú)需從電路板取下器件,已編程的器件也可用ISP方式擦除或再編程。ISP 的工作原理:?jiǎn)纹瑱C(jī)可通過(guò)SPI或其他串行接口接收上位機(jī)傳來(lái)的數(shù)據(jù)并寫入存儲(chǔ)器中。所以即使將器件焊接在電路板上,只要留出和上位機(jī)接口的串口,配合 ispdown的下載電纜,就可實(shí)現(xiàn)器件內(nèi)部存儲(chǔ)器的改寫,而無(wú)需取下器件。ISP的提出改變了傳統(tǒng)硬件系統(tǒng)開(kāi)發(fā)的流程,大大方便了開(kāi)發(fā)者,加快了開(kāi)發(fā)速度。下載電纜是一種使用計(jì)算機(jī)的并行端口通過(guò)軟件的仿零點(diǎn)實(shí)現(xiàn)ATAG或ISP接口協(xié)議,訪問(wèn)可編程器件的廉價(jià)工具。

          圖2為下載線電路圖。AT89S51單片機(jī)的ISP接口通過(guò)指令輸入MISO(P1.5引腳)、數(shù)據(jù)輸入MOSI(P1.6引腳)、時(shí)鐘輸入SCK(P1.7引腳)3根信號(hào)線,以串行模式為系統(tǒng)提供對(duì)MCU器件的編程寫入和讀出功能。

          FLASH存儲(chǔ)器的ISP下載線電路圖

          2.2 串行通信接口

          上位機(jī)PC機(jī)與下位機(jī)單片機(jī)通過(guò)RS-232C串行接口總線進(jìn)行的串行通信。80C51系列單片機(jī)帶有一個(gè)全雙工的串行接口,因此用RS-232C串行接口總線非常方便。PC機(jī)配置RS-232C標(biāo)準(zhǔn)接口,RS-232C信號(hào)電平為負(fù)邏輯(邏輯“0”:+12 V;邏輯“1”:-12 v),80C51單片機(jī)輸入、輸出電平為,TTL電平(邏輯“0”:≤0.5 V;邏輯“1”:≥2.4 V)。所以8051與PC機(jī)間點(diǎn)對(duì)點(diǎn)異步通信需加電平轉(zhuǎn)換電路,否則將燒壞TTL電路。MAX232器件是MAXIM公司生產(chǎn)的具有兩路接收器和驅(qū)動(dòng)器的 IC器件,其內(nèi)部有一個(gè)電源電壓變換器,可將輸入的+5 V電壓變換成RS-232C輸出電平所需的±12 V電壓。MAX232器件的引腳1~6(C1+、V+、C1-、C2+、C2-、V-)用于電源電壓轉(zhuǎn)換,只需在外部接入相應(yīng)電解電容即可;引腳7~10 和引腳11~14構(gòu)成兩組,TTL信號(hào)電平與RS-232C信號(hào)電平的轉(zhuǎn)換電路,對(duì)應(yīng)引腳可直接與單片機(jī)串行口的TTL電平引腳和PC機(jī)的RS232電平引腳相連。

          圖3為采用MAX232器件的PC機(jī)和單片機(jī)串行通信接口電路,采用9針標(biāo)準(zhǔn)插座與PC機(jī)相連。MAX232實(shí)現(xiàn)電平轉(zhuǎn)換功能,該器件可將單片機(jī)TXD端輸出的TTL電平轉(zhuǎn)換成標(biāo)準(zhǔn)的RS-232C標(biāo)準(zhǔn)電平,由MAX232的14引腳通過(guò)9針接口送入PC機(jī);同樣,PC機(jī)輸出的RS-232C標(biāo)準(zhǔn)電平,從 MAX232的13引腳輸入并轉(zhuǎn)換成單片機(jī)所需的TTL電平,經(jīng)單片機(jī)的RXD端接收。

          PC機(jī)和單片機(jī)串行通信接口電路

          2.3 矩陣鍵盤鍵號(hào)的識(shí)別與顯示電路

          在AT89S51單片機(jī)的I/O口設(shè)計(jì)4×4行列式鍵盤,采用程序掃描法識(shí)別按下的鍵,當(dāng)有按鍵按下時(shí),其鍵號(hào)顯示在共陰極LED數(shù)碼管上。其電路如圖4所示。

          系統(tǒng)硬件電路圖

          一個(gè)4×4的行、列結(jié)構(gòu)可構(gòu)成一個(gè)含有16個(gè)按鍵的鍵盤。按鍵的位置由行號(hào)和列號(hào)唯一確定。將圖4中的4×4鍵盤鍵號(hào)編碼為:01H、02H、03H、…、0EH、0FH、10H16個(gè)鍵號(hào)。

          (1)用全掃描法判斷有無(wú)鍵按下行線在無(wú)鍵按下時(shí)處在高電平,按鍵按下時(shí),與此鍵相連的行線與列線導(dǎo)通。如果讓所有列線處于低電平。當(dāng)無(wú)鍵按下時(shí),則讀人的行信息全為1;有鍵按下時(shí),讀入的行信息不全為1,按下鍵所在的行電平會(huì)由高電平變?yōu)榈碗娖?。CPU根據(jù)行電平的變化,便能判定相應(yīng)的行有鍵按下。

          (2)用逐列置0掃描法確定具體鍵按為進(jìn)一步確定具體鍵,在某一時(shí)刻只讓一條列線處于低電平,其余列線均處于高電平,另一時(shí)刻,讓下一列處在低電平,依此循環(huán),實(shí)現(xiàn)鍵盤掃描。

          鍵盤工作在編程掃描方式,單片機(jī)在完成其他工作后的空閑時(shí)間調(diào)用鍵盤掃描子程序響應(yīng)鍵盤輸入的要求,在執(zhí)行鍵功能程序時(shí)CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤。



          評(píng)論


          相關(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); })();