在計算機控制應用中直接開發(fā)單片機的一種方法
摘要:針對沒有單片機開發(fā)系統(tǒng)或EPROM寫入器無法對單片機進行開發(fā)的問題,設計了利用PC機對單片機進行直接簡便開發(fā)的方法。詳細介紹了80C31單片機為對象,利用PC機直接開發(fā)單片機的原理及步驟。通過PC機與單片機最小系統(tǒng)的異步通信,實現(xiàn)EPROM寫入器功能。反向由單片機向PC機發(fā)送數(shù)據(jù),使得PC機的監(jiān)視器和存儲器成為單片機的監(jiān)視器和存儲器。該方法節(jié)省了單片機開發(fā)系統(tǒng)和EPROM寫入器等“必需品”,具有簡單新穎,可靈活配置等特點,有較高的實用價值。
本文引用地址:http://cafeforensic.com/article/201610/307638.htm0 引言
單片機開發(fā)可采用PC機編輯源程序,交叉匯編,產(chǎn)生目標代碼,再利用開發(fā)系統(tǒng)或EPROM寫入器寫入EPROM。拋開單片機開發(fā)系統(tǒng)或EPROM寫入器,直接利用PC機開發(fā)單片機,可簡化系統(tǒng)。
1 80C31單片機結(jié)構(gòu)及原理
1.1 內(nèi)部結(jié)構(gòu)
80C31單片機是8位單片機,屬標準MCS-51的HCMOS產(chǎn)品,結(jié)合了HMOS的高速高密度及CMOS的低功耗特性。其引腳圖如圖1所示。
80C31引腳圖中:P0.0~P0.7,P0口為8位雙向口線(引腳39~32);P1.0~P1.7,P1口為8位雙向口線(引腳1~8);P2.0~P2.7,P2口為8位雙向口線(引腳21~28);P3.0~P3.7,P3口為8位雙向口線(引腳10~17)。
1.2 并行I/O口
(1)P1口:外部擴展存儲器作數(shù)據(jù)總線或地址總線;作一般I/O口,需外接上拉電阻。
(2)P2口:擴展外部存儲器作地址總線;作一般I/O口,內(nèi)部有上拉電阻。
(3)P3口:除作I/O口使用(內(nèi)部有上拉電阻),由特殊寄存器設置其他功能。
1.3 定時/計數(shù)器
工作方式包括方式0、方式1、方式2和方式3。方式0為16位定時/計數(shù);方式1為16位定時/計數(shù);方式2為8位自動重裝時間常數(shù)定時/計數(shù);方式3為用于定時/計數(shù)器0。TL0用于8位定時/計數(shù),TH0只用于8位定時。
1.4 串行接口
工作方式有:方式0、方式1、方式2和方式3。
(1)方式0:8位移位寄存器同步傳送,波特率固定為fose/12。
(2)方式1:10位異步傳送(異步接收/發(fā)送器:UART)。TXD:發(fā)送數(shù)據(jù);RXD:接收數(shù)據(jù)。
字符(幀)格式:1位起始位,8位數(shù)據(jù)位,1位停止位。
波特率=(2SMOD×T1溢出率)/32
T1溢出率=fose/[12(256-x)]
(3)方式2:11位異步傳送
字符(幀)格式:1位起始位,8位數(shù)據(jù)位,1位可編程位,1位停止位。
波特率=2SMOD×fose/64
(4)方式3:同方式2,但波特率可調(diào)。
波特率=(2SMOD×T1溢出率/32)
2 由單片機最小系統(tǒng)構(gòu)成EPROM寫入器
如圖2所示,單片機最小系統(tǒng)通過電平轉(zhuǎn)換器和PC機串行口RS 232相連組成EPROM寫入器。8031串行口輸出為TTL電平,PC機串行口采用RS 232標準。該電平轉(zhuǎn)換電路用于RS 232標準與TTL電平的轉(zhuǎn)換。
8031串行口是全雙工通信接口,能同時進行信號收發(fā)。串行口緩沖器SBUF是可直接尋址專用寄存器。串行口控制器用于控制和監(jiān)視串行口工作狀態(tài),在工作模式1時傳送10位。特殊功能寄存器PCON只與串行口D7位有關(guān),SMOD=0波特率為fose/64,SMOD=1波特率為fose/32。PC機與單片機通信程序如下:
10 OPEN“COM1:1200.N,8>1.RS,CS,DS,CD”AS#1
20 INPUT“FILE NAME:”;FILE$
30 OPEN FILE$ FOR INPUT AS#2
40 B$=INPUT$(1,#2)
50 PRINT B$
60 PRINT#1,B$;
70 IF EOF(2)THEN GOTO 100
80 GOTO 40
100 CLOSE:END
本程序中,PC機串行口初始化為波特率1200b/s,無校驗,10位傳送數(shù)據(jù)。8031單片機串行口設置工作模式1,定時器1置為工作方式2。
3 利用PC機直接開發(fā)單片機
具體步驟如下:
(1)將單片機接收程序固化在2764 EPROM中。
(2)利用單片機進行源程序編輯,交叉匯編,產(chǎn)生目標代碼。
(3)將2764插入ROM槽,2864插入RAM槽。
(4)運行發(fā)送程序,將應用程序目標代碼寫入2864。
(5)將2864插入ROM槽,6264插入槽,運行應用程序。
此方法較為簡單,無需預設地址,由內(nèi)部通信程序自動完成,使用方便。
4 結(jié)語
PC機向單片機最小系統(tǒng)發(fā)送程序和數(shù)據(jù),構(gòu)成EPROM寫入器;單片機向PC機發(fā)送數(shù)據(jù),使PC機的監(jiān)視器和存儲器成為單片機的監(jiān)視器和存儲器,達到用PC機直接開發(fā)單片機的目的。此法節(jié)省了單片機開發(fā)系統(tǒng)和EPROM寫入器等“必需品”,隨單片機應用的發(fā)展,將發(fā)揮重要作用。
評論