日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] ;***********************ATmega16(L)簡(jiǎn)易并行編程器**********************/;說明:;用于沒有燒寫ATmega16并行編程器的朋友,初用ATmega16的工程師在串行;編程時(shí)寫錯(cuò)熔絲位,及加密位,造成不能再應(yīng)用

;***********************ATmega16(L)簡(jiǎn)易并行編程器**********************/
;說明:
;用于沒有燒寫ATmega16并行編程器的朋友,初用ATmega16的工程師在串行
;編程時(shí)寫錯(cuò)熔絲位,及加密位,造成不能再應(yīng)用串行編程,構(gòu)成不便,沒并行
;編程將無法再使用,做了一個(gè)簡(jiǎn)易的并行編程器(很簡(jiǎn)單,用萬能板搭焊即可),


;將的芯片加密位及熔絲恢復(fù)出廠默認(rèn)值及恢復(fù)串行在線編程功能(ISP)。
;**********************************************************************
;使用說明:
;本電路有1按鍵(key),執(zhí)行1次將芯片加密位擦除,都要按下按鍵1秒鐘才
;執(zhí)行操作,可將at89S51的P3.1(TXD)連接1只NPN三極管(9014)、2支電阻作為
;P3.1(TXD)輸出5V反相器,連接PC的RS-232接收端(RXD),就可通過在PC執(zhí)行1
;個(gè)串口調(diào)試軟件SSCOMV3.0,設(shè)置波特率(2400、8、1、N),查看到之前的加
;密位及熔絲高低字節(jié)內(nèi)容,以及執(zhí)行了加密位擦除之后的加密位及熔絲高低字
;節(jié)內(nèi)容(FF99E1)。
;//////////////////////////////////////////////////////////////
;主控at89S51,晶振6M
;P0口編程數(shù)據(jù)輸入輸出,;P2編程控制
;/*******************AT89C51與ATmega16(L)各腳連接********************/
;P0.0~7<-->PB.0~PB.7
;P0.0~7要連接4.7Kx8上拉電阻到VCC(要注意:沒有上拉電阻本電路是不能工作)
;********************************************************************
;P2.0-PD7(PAGEL)
;P2.1-PD6(XA1)
;P2.2-PD5(XA0)
;P2.3-PD4(BS1)
;P2.4-PD3(_WR)
;P2.5-PD2(_OE)
;P2.6-PD1(RDY/BSY)
;P2.7-(XTAL1)
;P1.0-PA0(BS2)
;-----------------------------------------
;P1.1---LED指示運(yùn)行狀態(tài)(p1.1=0時(shí)LED亮)
;P1.2---控制reset腳的12v電壓(p1.2=1時(shí)輸出12v,0時(shí)沒有電壓輸出)
;P1.3---連接1個(gè)按鍵(key)的1接點(diǎn),按鍵另1接點(diǎn)連接到GND
;////////////////////////////////////////////////////////////////////
;若不用不清楚請(qǐng)參考datesheet;
;制作成功后你就狂燒熔絲和加密位吧!!!!!!!!!!!!!!!!!!
PAGELBITP2.0;PD7flash和E2PROM頁裝入
XA1BITP2.1;PD6XTAL編程動(dòng)作位1
XA0BITP2.2;PD5XTAL編程動(dòng)作位0
BS1BITP2.3;PD4字節(jié)選擇1(0:選低字節(jié),1:選高字節(jié))
_WRBITP2.4;PD3寫脈沖
_OEBITP2.5;PD2輸出允許(低有效)
RDY_BSYBITP2.6;PD10:器件正在編程,1:器件就緒等待命令
XTAL1BITP2.7;晶振輸入端
;-----------------------------------------------------
BS2BITP1.0;PA0字節(jié)選擇2(0:選低字節(jié),1:選高字節(jié))
;-----------------------------------------------------
LAMPBITP1.1;編程指示燈
_RST_12VBITP1.2;復(fù)位端12V電壓
KEYBITP1.3;執(zhí)行按鍵

CREQU0DH;CARRIAGERETURN
LFEQU0AH;LINEFEED
;****************************************************************************

ORG0000H
AJMPMAIN
ORG0030H
MAIN:
MOVSP,#70H
MOVP0,#0FFH;初始化P0,P1,P2
MOVP1,#11111000B;P1.7~4=1,KEY=1,_RST_12V=0,LED=0V.BS2=0
MOVP2,#01110000B;XTAL1=0,RDY_BSY=1,_OE=1,_WR=1,(BS1,XA0,XA1,PAGEL=0)
ACALLINT_SIO;初始化SIO
LOOP:
CPLLAMP
ACALLDELAY_1S
JBKEY,LOOP
JNBKEY,$
SETBLAMP

ACALLPROG_ST;進(jìn)入并行編程模式
ACALLREAD_FUSE;讀之前熔絲字節(jié)及經(jīng)過TXD將內(nèi)容發(fā)送到PCRS-232
ACALLChip_ERASE;擦除加密位,存儲(chǔ)器
ACALLWRITE_FUSE;寫熔絲字節(jié)
ACALLREAD_FUSE;讀之后熔絲字節(jié)及經(jīng)過TXD將內(nèi)容發(fā)送到PCRS-232
CLR_RST_12V
CLRLAMP
ACALLSIO_CR_LF
AJMPLOOP
;**********************************
;進(jìn)入并行編程模式子程序
;**********************************
PROG_ST:
MOVR1,#6
PLS:
SETBXTAL1;產(chǎn)生6個(gè)的XTAL1時(shí)鐘脈沖觸發(fā)
CLRXTAL1
DJNZR1,PLS
ANLP2,#01110000B;PAGEL,XTAL1,XA1,XA0,BS1==0
NOP;延時(shí)大于100ns
SETB_RST_12V;RST加12v電壓
NOP;延時(shí)大于100ns
RET
;**********************************
;擦除加密位、存儲(chǔ)器子程序
;***********************************
CHIP_ERASE:
CLRLAMP;指示正忙
SETBXA1;設(shè)置XA1,XA0="10"允許裝入命令
CLRXA0
CLRBS1
CLRBS2
MOVP0,#80H;送出芯片擦除命令
SETBXTAL1
CLRXTAL1;輸入正脈沖將命令裝入芯片
NOP
SETB_WR
CLR_WR
SETB_WR;輸入一個(gè)負(fù)脈沖,開始執(zhí)行命令擦除芯片
JBRDY_BSY,$;等待RDY/BSY變高,表示擦除完成
JNBRDY_BSY,$
ACALLDELAY_106US
SETBLAMP;指示空閑
ACALLDELAY_106US
RET
;///////////////寫熔絲高低字節(jié)子程序////////////////
WRITE_FUSE:
CLRLAMP;指示正忙
SETBXA1;設(shè)置XA1,XA0="10"允許裝入命令
CLRXA0
CLRBS1
CLRBS2
MOVP0,#40H;送出寫熔絲命令
SETBXTAL1
CLRXTAL1;XTAL1輸入正脈沖將命令裝入芯片
CLRXA1;設(shè)置XA1,XA0="01"允許裝入數(shù)據(jù)
SETBXA0
NOP
CLRBS1;BS1,BS2="00"表示熔絲低字節(jié)“10”表示高字節(jié)
CLRBS2
MOVP0,#0E1H;DOBLEVEL=1,BODEN=1,SUT1=1,SUT1=0,SKSEL3=0,
;SKSEL2=0,SKSEL1=0,SKSEL0=1(工廠設(shè)定值)
SETBXTAL1
CLRXTAL1;XTAL1輸入正脈沖數(shù)據(jù)裝入芯片
SETB_WR
CLR_WR
SETB_WR;_WR輸入一個(gè)負(fù)脈沖,開始執(zhí)行命令
JBRDY_BSY,$;等待RDY/BSY變高,表示完成
JNBRDY_BSY,$
ACALLDELAY_106US
;/*********寫高字節(jié)**********/
MOVP0,#99H;'99'為出廠設(shè)定值
SETBXTAL1
CLRXTAL1;XTAL1輸入正脈沖數(shù)據(jù)裝入芯片
SETBBS1
SETB_WR
CLR_WR
SETB_WR;_WR輸入一個(gè)負(fù)脈沖,開始執(zhí)行命令
JBRDY_BSY,$;等待RDY/BSY變高,表示完成
JNBRDY_BSY,$
CLRBS1
ACALLDELAY_106US
SETBLAMP;指示空閑
RET
;/**********讀熔絲及加密位************/
READ_FUSE:
CLRLAMP;指示正忙
SETBXA1;設(shè)置XA1,XA0="10"允許裝入命令
CLRXA0
CLRBS1
CLRBS2
MOVP0,#04H;送出讀熔絲和鎖定位命令
CLRXTAL1
SETBXTAL1
CLRXTAL1;XTAL1輸入正脈沖將命令裝入芯片
NOP
CLR_OE
CLRBS2;讀熔絲低字節(jié)
CLRBS1
MOVP0,#0FFH
MOVR7,P0
SETBBS2;讀熔絲高字節(jié)
SETBBS1
MOVR6,P0
CLRBS2;讀加密位
MOVR5,P0
SETB_OE
SETBLAMP
ACALLSIO_TO_PC
RET
;------------------
DELAY_1S:
MOVR7,#1
DELAY11:
MOVR6,#0FFH
DELAY12:
MOVR5,#0FFH
DJNZR5,$
DJNZR6,DELAY12
DJNZR7,DELAY11
RET
;-------------------
DELAY_106US:
MOVR5,#18H
DJNZR5,$
RET
;************************************************************
;將R5R6R7的內(nèi)容經(jīng)TXD發(fā)送到PC子程序
;*************************************************************
SIO_TO_PC:
MOVA,R5;加密鎖定字節(jié)
SWAPA
ACALLHEX_ASC
ACALLSIO_SEND_OUT;經(jīng)TXD發(fā)送加密鎖定字節(jié)的高4BIT
MOVA,R5
ACALLHEX_ASC
ACALLSIO_SEND_OUT;經(jīng)TXD發(fā)送加密鎖定字節(jié)的低4BIT

MOVA,#''
ACALLSIO_SEND_OUT;經(jīng)TXD發(fā)送空格

MOVA,R6;熔絲高字節(jié)
SWAPA
ACALLHEX_ASC
ACALLSIO_SEND_OUT;經(jīng)TXD發(fā)送熔絲高字節(jié)的高4BIT
MOVA,R6
ACALLHEX_ASC
ACALLSIO_SEND_OUT;經(jīng)TXD發(fā)送熔絲高字節(jié)的低4BIT

MOVA,R7;熔絲低字節(jié)
SWAPA
ACALLHEX_ASC
ACALLSIO_SEND_OUT;經(jīng)TXD發(fā)送熔絲低字節(jié)的高4BIT
MOVA,R7
ACALLHEX_ASC
ACALLSIO_SEND_OUT;經(jīng)TXD發(fā)送熔絲低字節(jié)的低4BIT
MOVA,#CR
ACALLSIO_SEND_OUT
MOVA,#LF
ACALLSIO_SEND_OUT
RET
;*****************************************
;初始化SIO波特率2400(晶振6MHz)
;*****************************************
INT_SIO:
ORLPCON,#10000000B;SMOD=1T1
MOVTMOD,#00100000B
MOVTH1,#256-13;設(shè)置波特率為2400
MOVTL1,#256-13;6.MHZ石英/12/16/13=2400
SETBTR1;啟動(dòng)定時(shí)器T1TR1=1
ORLSCON,#01000000B;SETSIOMODE1
;******************************************
SIO_CR_LF:
MOVA,#CR
ACALLSIO_SEND_OUT
MOVA,#LF
ACALLSIO_SEND_OUT
RET
;*****************************************
;*SENDONEDATASUBROUTINE*
;*USEAFORSENDDATA*
;*****************************************
SIO_SEND_OUT:
MOVSBUF,A
JNBTI,$
CLRTI
RET
;*****************************************
;*INVERTHEXTOASCIISUBROUTINE*
;*INPUTHEXLOW4BITTOA*
;*OUTPUTASCIIFORMA*
;*****************************************
HEX_ASC:
ANLA,#00001111B
INCA
MOVCA,@A+PC
RET

DB'0123456789ABCDEF'
END

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

USB是目前電子產(chǎn)品最通用的一種接口,USB電路的設(shè)計(jì)包含了眾多有趣的點(diǎn)。

關(guān)鍵字: USB接口 電源狀態(tài) 編程器

新一代MPLAB? ICD 5和MPLAB? PICkit? 5在線調(diào)試器/編程器提供了全新的編程和連接方式

關(guān)鍵字: 編程器 調(diào)試器 嵌入式設(shè)計(jì)

  由于高輝度藍(lán)光LED的問世,因此利用熒光體與藍(lán)光LED的組合,就可輕易獲得白光LED。目前白光LED已成為可攜式信息產(chǎn)品的主要背光照明光源,未來甚至可成為一般家用照明光源。此外最近幾年出現(xiàn)高

關(guān)鍵字: 仿真器 編程器 工業(yè)自動(dòng)化

來源 :eepw 單片機(jī)是大學(xué)電類專業(yè)的一門普通課,有些學(xué)校甚至把它列為選修課,在眾多課程中,沒有顯出它有多么重要。為什么要學(xué)習(xí)它呢?因?yàn)椋袌?chǎng)對(duì)學(xué)者繼承人的需求太少,大量需要的是產(chǎn)品的研發(fā)者,研發(fā)產(chǎn)品是需要干實(shí)際事情的...

關(guān)鍵字: 學(xué)習(xí)單片機(jī) JTAG接口 編程器 虛擬仿真

什么是射頻技術(shù)?它有什么作用?射頻簡(jiǎn)稱 RF 射頻就是射頻電流,是一種高頻交流變化電磁波,為是 Radio Frequency 的縮寫,表示可以輻射到空間的電磁頻率,頻率范圍在 300KHz~300GHz 之間。每秒變化...

關(guān)鍵字: RFID 射頻 編程器

AT89S51芯片的日漸流行,對(duì)我們單片機(jī)初學(xué)者來說是一個(gè)大好消息。因?yàn)樽鰝€(gè)AT89S51編程器非常容易,而且串行編程模式更便于做成在線編程器,給頻繁燒片,調(diào)試帶來了巨大的方便。

關(guān)鍵字: at89s51 編程器

編程器通過USB 接口與PC 上位機(jī)通訊,用戶只需要通過PC上位機(jī)GUI 的簡(jiǎn)單操作,就可以實(shí)現(xiàn)對(duì)STC 89C/S51XX/52XX 等系列單片機(jī)的擦除、編程、校驗(yàn)和加密。經(jīng)過STC89C52RC 等單片機(jī)反復(fù)測(cè)試,該...

關(guān)鍵字: ch340t stc89c52rc 編程器

汽車的安全性成了人們重點(diǎn)關(guān)注的話題。安全氣囊,安全座椅,安全帶,碰撞試驗(yàn),汽車廠家在汽車安全方面可謂花了大價(jià)錢。據(jù)統(tǒng)計(jì)顯示,在高速公路上,40%的交通事故是由于輪胎的故障引起的,而其中又有75%是由于爆胎引起的,可見,輪...

關(guān)鍵字: 傳感器 編程器 自動(dòng)駕駛
關(guān)閉