1 引言
單片機(jī)系統(tǒng)傳統(tǒng)的編程方式是將單片機(jī)先從電路板上取下,放入專用的編程器進(jìn)行編程,再放人電路板進(jìn)行調(diào)試。其缺點(diǎn)是頻繁的拔插器件容易損壞器件的引腳;如果頻繁的調(diào)試程序,必須重復(fù)拔插,大大降低了開發(fā)效率。ISP技術(shù)是未來發(fā)展的方向,其優(yōu)勢是無需編程器就可進(jìn)行單片機(jī)的實(shí)驗(yàn)和開發(fā),單片機(jī)器件可直接焊接到電路板上,調(diào)試結(jié)束即為成品,免去調(diào)試時(shí)由于頻繁插入取出對器件和電路板造成的損壞和帶來的不便。 ISP可降低研發(fā)成本;縮短從設(shè)計(jì)、制造到現(xiàn)場調(diào)試的時(shí)間,簡化生產(chǎn)流程,大大提高工作效率;在試驗(yàn)新品或?qū)W生試驗(yàn)等常需用不同的程序調(diào)試器件的場合中,在線編程技術(shù)尤為重要。
設(shè)計(jì)AT89S51單片機(jī)開發(fā)板,采用ISP下載線實(shí)現(xiàn)在Keil C軟件開發(fā)環(huán)境下調(diào)試的匯編語言程序機(jī)器碼能即時(shí)下載到AT89S51單片機(jī)片內(nèi)Flash中,并可在線修改。
2 單片機(jī)開發(fā)板硬件設(shè)計(jì)
AT89S51單片機(jī)開發(fā)板南AT89S51單片機(jī)最小系統(tǒng)、ISP下載編程器、上位機(jī)與下位機(jī)之間的串行通信電路、4×4矩陣鍵盤鍵號的識別與顯示電路4部分組成,如圖1所示。
點(diǎn)擊看原圖
2.1 單片機(jī)ISP下載編程器
在系統(tǒng)可編程ISP(In-System Programmable),指電路板上的空白器件可編程寫入最終用戶代碼,而無需從電路板取下器件,已編程的器件也可用ISP方式擦除或再編程。ISP 的工作原理:單片機(jī)可通過SPI或其他串行接口接收上位機(jī)傳來的數(shù)據(jù)并寫入存儲器中。所以即使將器件焊接在電路板上,只要留出和上位機(jī)接口的串口,配合 ispdown的下載電纜,就可實(shí)現(xiàn)器件內(nèi)部存儲器的改寫,而無需取下器件。ISP的提出改變了傳統(tǒng)硬件系統(tǒng)開發(fā)的流程,大大方便了開發(fā)者,加快了開發(fā)速度。下載電纜是一種使用計(jì)算機(jī)的并行端口通過軟件的仿零點(diǎn)實(shí)現(xiàn)ATAG或ISP接口協(xié)議,訪問可編程器件的廉價(jià)工具。
圖2為下載線電路圖。AT89S51單片機(jī)的ISP接口通過指令輸入MISO(P1.5引腳)、數(shù)據(jù)輸入MOSI(P1.6引腳)、時(shí)鐘輸入SCK(P1.7引腳)3根信號線,以串行模式為系統(tǒng)提供對MCU器件的編程寫入和讀出功能。
2.2 串行通信接口
上位機(jī)PC機(jī)與下位機(jī)單片機(jī)通過RS-232C串行接口總線進(jìn)行的串行通信。80C51系列單片機(jī)帶有一個(gè)全雙工的串行接口,因此用RS-232C串行接口總線非常方便。PC機(jī)配置RS-232C標(biāo)準(zhǔn)接口,RS-232C信號電平為負(fù)邏輯(邏輯“0”:+12 V;邏輯“1”:-12 v),80C51單片機(jī)輸入、輸出電平為,TTL電平(邏輯“0”:≤0.5 V;邏輯“1”:≥2.4 V)。所以8051與PC機(jī)間點(diǎn)對點(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信號電平與RS-232C信號電平的轉(zhuǎn)換電路,對應(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引腳通過9針接口送入PC機(jī);同樣,PC機(jī)輸出的RS-232C標(biāo)準(zhǔn)電平,從 MAX232的13引腳輸入并轉(zhuǎn)換成單片機(jī)所需的TTL電平,經(jīng)單片機(jī)的RXD端接收。
2.3 矩陣鍵盤鍵號的識別與顯示電路