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

當前位置:首頁 > 單片機 > 單片機
[導讀] ;============================================================================;*************************Fiel=AT93CXX.ASM******************************;模塊包含:READ(讀),WRITE(寫),WRAL(片寫

;============================================================================
;*************************Fiel=AT93CXX.ASM******************************


;模塊包含:READ(讀),WRITE(寫),WRAL(片寫),ERASE(擦除),ERAL(片擦除),
;EWEN(擦寫允許),EWDS(擦寫禁止).
;此模塊適用于:AT93C46/56/57/66EEPROM芯片,8位(ORG=0)或16位(ORG=1)的讀、寫、
;擦除等操作。
;8位或16操作,只需置標志位SIZE為"0"或為"1"和設置NADDR的位即可,非常方便實用。
;此程序模塊已通過硬件仿真調試。
;============================================================================
;
;93C4693C5693C5793C66
;----------------------------------------------------------------------------
;Databits:816816816816
;Addressbits:76988798
;----------------------------------------------------------------------------

NADDREQU7;8-bitdata,地址為7位
;NADDREQU6;16-bitdata,地址為6位


SIZEEQUF0;0=8-bitdata,1=16-bitdata標志位

DATA_LOEQU2AH;數據低字節(jié)
DATA_HIEQU2BH;數據高字節(jié)
ADDR_LOEQU2CH;地址低字節(jié)
ADDR_HIEQU2DH;地址高字節(jié)

DATA01EQU30H;數據緩存區(qū)首址

CSBITP1.0;AT93Cxx片選端
SKBITP1.1;時鐘信號輸入端
DIBITP1.2;串行數據輸入端
DOBITP1.3;串行數據輸出端

DSEGAT20H

ORG60H;stackorigin
STACK:DS20H;stackdepth
CSEG
ORG0000H;
JMPON_RESET
ORG0003H
reti
ORG000BH
reti
ORG0013H
reti
ORG001BH
reti
ORG0023H
reti
ORG0080H
USING0;選擇工作寄存器0
ON_RESET:
MOV SP,#(STACK-1)

CLRCS;LOW
CLRSK;LOW
SETBDI;HIGH
SETBDO;HIGH

CLRSIZE;SPECIFY8-BITDATA
;SETBSIZE;SPECIFY16-BITDATA

JBSIZE,DATA16;SIZE=1時,為16-bit操作
AJMPDATA8
;==========================================================
;8-bitByte(SIZE/ORG=0)程序操作演示

DATA8:
CALLByte_read;讀出數據,以便觀察

CALLEWEN;擦寫允許

MOV ADDR_LO,#0;地址
MOV DATA_LO,#33H;數據
CALLWRITE;指定地址寫

CALLByte_read

CALLERAL;片擦除(全部單元置"1")

CALLByte_read

;8-bit片寫,將芯存儲器全部寫入55H的數據

;CALLEWDS;擦寫禁止

MOV DATA_LO,#55H;片寫數據(片寫之前最好片擦除)
CALLWRAL;片寫

AJMPDATA8
;==========================================================
;==========================================================
;16-bitWord(SIZE/ORG=1)程序操作演示

DATA16:
CALLWord_read;讀8個單元數據,觀察

CALLEWEN;擦寫允許

CALLERAL;片擦除(全部單元置"1")

CALLWord_read

MOV ADDR_LO,#0;向指定地址寫數據
MOV DATA_LO,#55H;DATA,數據低字節(jié)
MOV DATA_HI,#0AAH;DATA,數據高字節(jié)
CALLWRITE;指定地址寫

CALLWord_read

;將芯片存儲器全部寫入0AAH(高)和55H(低)的數據

MOV DATA_LO,#55H;DATA
MOV DATA_HI,#0AAH;DATA
CALLWRAL;

CALLWord_read

;CALLEWDS;擦寫禁止

;將指定單元的內容擦除(置為"1")
MOV ADDR_LO,#0;
CALLERASE;將指定單元(00H01H)擦為"1"

AJMPDATA16
;==========================================================
;讀Read(byteifSIZE/ORG=0,wordifSIZE/ORG=1).
Byte_read:
MOV R0,#DATA01;緩存區(qū)首址
MOV ADDR_HI,#0
MOV ADDR_LO,#0;指向AT93CXX首址
MOV R7,#8;字節(jié)數
READ01:
CALLREAD
MOV A,DATA_LO
MOV @R0,A
INCR0
INCADDR_LO
DJNZR7,READ01
RET
;==========================================================
;讀Read(wordifSIZE/ORG=1).低地址為低字節(jié)單元,高地址為高字節(jié)單元
Word_read:
MOV R0,#DATA01;緩存區(qū)首址
MOV ADDR_LO,#0
MOV R7,#8;字節(jié)數
WORD01:
CALLREAD;讀數據
MOV A,DATA_LO;低字節(jié)內容
MOV @R0,A
INCR0
MOV A,DATA_HI;高字節(jié)內容
MOV @R0,A
INCR0
INCADDR_LO
DJNZR7,WORD01
RET
;----------------------------------------------------------
;==========================================================
;名稱:讀指令(READ指令)
;功能:從指定的地址單元中把數據讀出
;----------------------------------------------------------
READ:
SETBCS;片選置1
MOV DPL,#110B;起始位和操作碼"110"
MOV B,#3
CALLOUTDATA
MOV DPL,ADDR_LO;低字節(jié)地址
MOV DPH,ADDR_HI;高字節(jié)地址
MOV B,#NADDR;地址位數(8-bitdata,NADDR=7)
CALLOUTDATA;輸出讀/寫單元地址
CALLINDATA
CLRCS
RET
;==========================================================
;名稱:寫指令(WRITE指令)
;功能:將數據寫入到指定的地址單元中
;----------------------------------------------------------
WRITE:
SETBCS;
MOV DPL,#101B;起始位和操作碼"101B"
MOV B,#3;位數
CALLOUTDATA;輸出數據
MOV DPL,ADDR_LO
MOV DPH,ADDR_HI
MOV B,#NADDR
CALLOUTDATA
MOV DPL,DATA_LO
JBSIZE,EE61;SIZE=0時,8bit;SIZE=1時,16bit;
MOV B,#8
JMPEE62
EE61:
MOV DPH,DATA_HI
MOV B,#16
EE62:
CALLOUTDATA
CLRCS
CALLSTATUS;延時10ms
RET
;==========================================================
;名稱:片寫指令(WRAL指令)
;功能:將命令中指定的數據寫入整個存貯器陣列
;----------------------------------------------------------
WRAL:
SETBCS;片選置1,選中芯片
MOV DPTR,#(10001BSHL(NADDR-2))
MOV B,#(NADDR+3)
CALLOUTDATA
MOV DPL,DATA_LO
JBSIZE,EE71;SIZE=0時,8bit;SIZE=1時,16bit;
MOV B,#8
JMPEE72
EE71:
MOV DPH,DATA_HI
MOV B,#16
EE72:
CALLOUTDATA
CLRCS
CALLSTATUS;延時10ms
RET
;==========================================================
;名稱:地址擦指令(ERASE指令)
;功能:將指定地址中所有數據位都為置為"1"
;----------------------------------------------------------
ERASE:
SETBCS
MOV DPTR,#111B;擦除指令操作碼"111B"
MOV B,#3
CALLOUTDATA
MOV DPL,ADDR_LO;地址低位
MOV DPH,ADDR_HI;地址高位
MOV B,#NADDR;
CALLOUTDATA
CLRCS
CALLSTATUS;延時10ms
RET
;==========================================================
;名稱:片擦指令(ERAL指令),
;功能:將整個存儲器陣列置為"1"
;----------------------------------------------------------
ERAL:
SETBCS
MOV DPTR,#(10010BSHL(NADDR-2));左移
;ERAL指令操作碼和地址為:10010B
MOV B,#(NADDR+3)
CALLOUTDATA
CLRCS
CALLSTATUS;延時子程序
RET
;==========================================================
;名稱:擦/寫允許(EWEN指令)
;功能:AT93CXX在上電復位后,芯片處于擦/寫不允許狀態(tài),
;EWEN指令將芯片置為可編程狀態(tài),即可擦/寫
;----------------------------------------------------------
EWEN:
SETBCS
MOV DPTR,#(10011BSHL(NADDR-2));將10011B向左移((NADDR-2)位
;EWEN指令:操作碼的地址為:10011B
MOV B,#(NADDR+3)
CALLOUTDATA
CLRCS
RET
;==========================================================
;名稱:擦/寫禁止(EWDS指令)
;功能:使用該指令可對寫入的數據進行保護,操作步驟與擦/寫允許指令相同.
;----------------------------------------------------------
EWDS:
SETBCS
MOV DPTR,#(10000BSHL(NADDR-2))
MOV B,#(NADDR+3)
CALLOUTDATA
CLRCS
RET
;==========================================================
;延時子程序
;----------------------------------------------------------
STATUS:
PUSHB
SETBDO;FLOATPIN
SETBCS
MOV B,#220;220*50us=11ms
EE40:
PUSHB;2us
MOV B,#22;2us
DJNZB,$;2us*22
POPB;2us
JBDO,EE41
DJNZB,EE40
SETBC
JMPEE42
EE41:
CLRC
EE42:
CLRCS
POPB
RET
;==========================================================
INDATA:
SETBDO
CALLSHIN
JNBSIZE,EE21;SIZE=0時,8bit;SIZE=1時,16bit
MOV DATA_HI,A;SAVEHIGHBYTE
;SIZE=1時,16bit
CALLSHIN
EE21:;SIZE=0時,8bit
MOV DATA_LO,A;SAVELOWBYTE
RET
;==========================================================
;讀一個字節(jié)子程序,讀回的數據在A中
;----------------------------------------------------------
SHIN:
PUSHB
CLRSK
MOV B,#8
EE30:
SETBSK
NOP
MOV C,DO
RLCA
CLRSK
DJNZB,EE30
POPB
RET
;==========================================================
;向AT93CXX寫入地址
;----------------------------------------------------------
OUTDATA:
PUSHB
MOV A,B
CLRC
SUBBA,#8
JCEE6
JZEE5
MOV B,A
CLRC
SUBBA,#8
JCEE2
JNZEE9
MOV A,DPH
JMPEE4
EE2:
PUSHB
MOV A,DPH
EE3:
RRA
DJNZB,EE3
POPB
EE4:
CALLSHOUT
MOV B,#8
EE5:
MOV A,DPL
JMPEE8
EE6:
PUSHB
MOV A,DPL
EE7:
RRA
DJNZB,EE7
POPB
EE8:
CALLSHOUT
EE9:
SETBDO
POPB
RET
;==========================================================
;寫一個字節(jié)子程序
;入口:寫入數據須事先存入A中.
;----------------------------------------------------------
SHOUT:
EE50:
CLRSK
RLCA
MOV DI,C
NOP;DELAYMIN400ns
SETBSK
DJNZB,EE50
CLRSK
RET
;==========================================================
;==========================================================

END

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

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉