AT93C46匯編讀寫示例程序; 說明: 軟件包僅適用于93C46 8位存儲器結(jié)構(gòu)狀態(tài),軟件包可嵌入到80C51 ROM中任一空間。
; fosc = 12MHz
;----------------------------------------------------------
R31 EQU 1FH
CS EQU P1.0 ;片選端
SK EQU P1.1 ;模擬時(shí)鐘信號輸出端
DI EQU P1.2 ;串行數(shù)據(jù)輸出端
DO EQU P1.3 ;串行數(shù)據(jù)輸入端
;----------------------------------------------------------
ORG 0000H
JMP MAIN
ORG 0100H
MAIN:
MOV R0,#7FH
CLR A
MOV @R0,A
DJNZ R0,$-2
MOV SP,#60H
MAIN1:
MOV R0,#30H
MOV R7,#16
MOV A,#1
MOV @R0,A
INC R0
INC A
DJNZ R7,$-3
CALL EWNE ;擦寫允許
MOV A,#01100000B ;地址"11xxxxx"
CALL INADR ;輸出地址
CALL EWNE ;片擦除(將整個(gè)存儲器置為"1")
MOV A,#01000000B ;片擦除地址
CALL INADREW ;輸出地址
CALL DLY10ms
CALL RD16 ;讀指定地址單元的數(shù)據(jù)
CALL WRITE ;將數(shù)據(jù)寫入指定地址單元
CALL ERASE ;擦除(將指定地址單元置為"1")
MOV A,#01H ;地址
CALL INADREW ;輸出地址
CALL DLY10ms
CALL RD16 ;讀
CALL EWNE ;擦/寫禁止
MOV A,#0 ;地址"00xxxxx"
CALL INADR ;輸出地址
JMP MAIN1
;==========================================================
;----------------------------------------------------------
;將存在80C51內(nèi)RAM 30H為首地址的16字節(jié)數(shù)據(jù)依次寫入93C46首址00H的EEPROM
;注意: 93C46上電復(fù)位后,芯片處于寫保護(hù)狀態(tài),所以在擦寫操作前,應(yīng)開啟"寫允許".
;否則無法寫入數(shù)據(jù).
WRITE:
MOV A,#01100000B ;地址"11xxxxx"
CALL INADR ;輸出地址
MOV R0,#30H ;置源數(shù)據(jù)區(qū)首址
MOV R1,#00H ;置93C46寫入單元首址
MOV R7,#16 ;字節(jié)數(shù)
CALL WRIT6
RET
;----------------------------------------------------------
;將AT93C46 首址為00H的16字節(jié)數(shù)據(jù)讀出并存入80C51以30H為首址的內(nèi)RAM中
RD16: MOV R0,#20H ;置數(shù)據(jù)存儲區(qū)首址
MOV A,#00H ;置93C46讀出單元首地址
MOV R7,#16 ;字節(jié)數(shù)送R7
LCALL STATRD ;啟動讀
LCALL INADR ;輸出93C46讀出單元首址
RD160:
LCALL READ ;讀出一個(gè)字節(jié)數(shù)據(jù)
MOV @R0,A ;存一個(gè)字節(jié)數(shù)據(jù)
INC R0 ;指向下一存儲單元地址
DJNZ R7,RD160 ;判16字節(jié)數(shù)據(jù)讀完否?未完繼續(xù)
CLR CS ;16字節(jié)數(shù)據(jù)讀完,置93C46低功耗備用狀態(tài)
CALL DLY10ms ;延時(shí)10ms,以便進(jìn)行芯片的其它功能操作
RET
;----------------------------------------------------------
;入口: 數(shù)據(jù)區(qū)首址在R0,93C46單元地址在R1,寫入的字節(jié)數(shù)在R7中
WRIT6:
LCALL STATWR ;啟動寫
MOV A,R1 ;置93C46寫入單元地址
LCALL INADR ;輸出93C46寫入地址單元
MOV A,@R0 ;讀寫入數(shù)據(jù)
LCALL WRIT ;寫入一個(gè)字節(jié)
LCALL DLY1ms ;延時(shí)1ms
INC R0 ;指向8051下一個(gè)數(shù)據(jù)地址
INC R1 ;指向93C46下一個(gè)寫入單元地址
DJNZ R7,WR61 ;判6字節(jié)數(shù)據(jù)寫完否?未完繼續(xù)
CLR CS ;93C46進(jìn)入備用狀態(tài),降低功耗
CALL DLY10ms
RET
WR61: JB DO,WRIT6 ;判REDAY/BUSY,DO=1,寫入下一字節(jié)
SJMP WR61 ;DO=0,轉(zhuǎn)等待
;==========================================================
; 啟動讀子程序
; 說明: STATRD子程序輸出啟動和讀操作代碼"110"
;----------------------------------------------------------
STATRD:
CLR CS ;片選置低
CLR SK ;時(shí)鐘置低
SETB CS
SETB DI ;置啟動"1"
SETB SK ;時(shí)鐘上升沿輸出啟動信號"1"
CLR SK
SETB SK ;時(shí)鐘上升沿輸出"1"
CLR SK
CLR DI ;置輸出"0"
SETB SK ;時(shí)鐘上升沿輸出"0"
CLR SK ;時(shí)鐘置低
RET
;----------------------------------------------------------
; 啟動寫子程序
; 說明: STATWR子程序輸出啟動和寫操作代碼"101"
;----------------------------------------------------------
STATWR:
CLR CS ;片選置低
CLR SK ;時(shí)鐘置低
SETB CS ;置片選
SETB DI ;置啟動"1"
SETB SK ;時(shí)鐘上升沿輸出啟動信號"1"
CLR SK
CLR DI ;置輸出"0"
SETB SK ;時(shí)鐘上升沿輸出"0"
CLR SK
SETB DI ;置輸出"1"
SETB SK ;時(shí)鐘上升沿輸出"1"
CLR SK ;時(shí)鐘置低
RET
;----------------------------------------------------------
; 擦寫允許/禁止啟動和操作代碼 "100"
; 該子程序可用于: 擦寫允許(EWEN)、寫禁止(EWDS)、片寫(WRAL)、片擦除(ERAL),
; 只是各自的地址不同而也.
; 擦寫允許/禁止操作代碼"100",地址"11xxxxx"/"00xxxxx"
;----------------------------------------------------------
EWNE:
CLR CS ;片選置低
CLR SK ;時(shí)鐘置低
SETB CS ;置片選
SETB DI ;置啟動"1"
SETB SK ;時(shí)鐘上升沿輸出啟動信號"1"
CLR SK
CLR DI ;置輸出"0"
SETB SK ;時(shí)鐘上升沿輸出"0"
CLR SK
CLR DI ;置輸出"0"
SETB SK ;時(shí)鐘上升沿輸出"1"
CLR SK ;時(shí)鐘置低
RET
;----------------------------------------------------------
; 擦指令ERASE 啟動和操作代碼 "111"
;----------------------------------------------------------
ERASE:
CLR CS ;片選置低
CLR SK ;時(shí)鐘置低
SETB CS ;置片選
SETB DI ;置啟動"1"
SETB SK ;時(shí)鐘上升沿輸出啟動信號"1"
CLR SK
SETB DI ;置輸出"1"
SETB SK ;時(shí)鐘上升沿輸出"0"
CLR SK
SETB DI ;置輸出"1"
SETB SK ;時(shí)鐘上升沿輸出"1"
CLR SK ;時(shí)鐘置低
RET
;----------------------------------------------------------
; 輸出讀寫單元地址子程序
; 入口: 7位地址已存在A中D6~D0
;----------------------------------------------------------
INADR:
MOV R2,#7 ;置寫入地址位數(shù)(存儲單元8位結(jié)構(gòu)時(shí),地址為7位)
RLC A ;先左移一位,地址移至D7~D1,D0無效
IR1: CLR SK ;時(shí)鐘置低
RLC A ;左移一位
MOV DI,C ;存入DI端口
SETB SK ;時(shí)鐘上升沿輸出至93C46DI端
DJNZ R2,IR1 ;判斷7位地址寫完否,未完繼續(xù)
RET
;----------------------------------------------------------
; 輸出擦單元地址子程序
INADREW:
CALL INADR
CLR CS
NOP
SETB CS
JNB DO,$ ; DO=0,表示編程正在進(jìn)行;
; DO=1,表示該指定地址的寄存器單元已擦完,可以執(zhí)行下一條指令。
RET
;----------------------------------------------------------
; 讀一個(gè)字節(jié)子程序
; 出口: 8位數(shù)據(jù)存在A中
;----------------------------------------------------------
READ: CLR SK ;時(shí)鐘置低
MOV R2,#8 ;置讀入位數(shù)8
RD1: SETB SK ;時(shí)鐘上升沿讀入一位數(shù)據(jù)
NOP
MOV C,DO ;存入Cy
RLC A ;左移入A中
CLR SK ;時(shí)鐘置低
DJNZ R2,RD1 ;判8位數(shù)據(jù)讀完否?未完繼續(xù)
RET
;----------------------------------------------------------
;確良寫一個(gè)字節(jié)子程序
; 入口: 寫入數(shù)據(jù)須事先存入A中.
; 若需寫入多個(gè)字節(jié)數(shù)據(jù),須在1ms后,93C46 DO 端出現(xiàn)高電平后才能重新啟動寫入.
;----------------------------------------------------------
WRIT:
MOV R2,#8 ;置寫入位數(shù)8
WR1: CLR SK ;時(shí)鐘置低
RLC A ;A中數(shù)據(jù)移一位至Cy中
MOV DI,C ;數(shù)據(jù)傳送至DI端
nop
SETB SK ;時(shí)鐘上升沿輸出至93C46
DJNZ R2,WR1 ;判8位數(shù)據(jù)寫完否?未完繼續(xù)
CLR CS ;8位數(shù)據(jù)寫完,CS下降沿啟動93C46擦寫
SETB CS ;CS次高位,以使DO端REDAY/BUSY狀態(tài)位號有效
RET
;----------------------------------------------------------
DLY1ms: ;延時(shí)1ms子程序
MOV R31,#29 ;
L2: PUSH R31
L3: DJNZ R31,L3
POP R31
DJNZ R31,L2
RET
DLY10ms: ;延時(shí)10ms子程序
MOV R31,#100
L20: PUSH R31
L30: DJNZ R31,L30
POP R31
DJNZ R31,L20
RET
;==========================================================
END
上一篇: AT93C46/56/57/66 EEPROM 芯片通用讀寫程序
下一篇:時(shí)鐘芯片ds12c887的驅(qū)動程序
推薦閱讀
史海拾趣
EXCELSEMI公司始終將品質(zhì)和客戶滿意度放在首位。公司建立了一套完善的質(zhì)量管理體系和客戶服務(wù)體系,確保每一款產(chǎn)品都符合高標(biāo)準(zhǔn)的質(zhì)量要求。同時(shí),公司還注重與客戶的溝通和反饋,不斷優(yōu)化產(chǎn)品和服務(wù)以滿足客戶的需求。這種品質(zhì)至上、客戶為本的經(jīng)營理念使得EXCELSEMI在市場中贏得了良好的口碑和信任。
面對快速變化的電子行業(yè)環(huán)境,Electroswitch始終保持著敏銳的洞察力和創(chuàng)新精神。公司不斷加大對新技術(shù)和新產(chǎn)品的研發(fā)力度,推出了一系列具有領(lǐng)先水平的開關(guān)產(chǎn)品。同時(shí),公司還積極探索新的業(yè)務(wù)領(lǐng)域和市場機(jī)會,為未來的發(fā)展做好充分準(zhǔn)備。展望未來,Electroswitch將繼續(xù)秉承“質(zhì)量、選擇、產(chǎn)品創(chuàng)新和出色的支持”的理念,為客戶提供更加優(yōu)質(zhì)的產(chǎn)品和服務(wù)。
請注意,以上故事框架僅供參考,您可以根據(jù)這些框架進(jìn)一步擴(kuò)展和豐富故事內(nèi)容。
技術(shù)創(chuàng)新是德崧電子持續(xù)發(fā)展的核心動力。公司不斷加大研發(fā)投入,引進(jìn)先進(jìn)的生產(chǎn)設(shè)備和技術(shù)人才,致力于開發(fā)具有競爭力的新產(chǎn)品。通過不斷的技術(shù)創(chuàng)新,德崧電子在電子開關(guān)行業(yè)中取得了多項(xiàng)重要成果。例如,公司成功研發(fā)出了具有自動感應(yīng)功能的智能開關(guān),實(shí)現(xiàn)了對燈光、溫度等環(huán)境因素的自動調(diào)節(jié)。這一技術(shù)的推出不僅提高了產(chǎn)品的智能化水平,也為公司贏得了更多的市場份額。
作為全球領(lǐng)先的電子元器件制造商之一,EPCOS在通信領(lǐng)域取得了顯著的突破。其電容器、電感器等產(chǎn)品在通信系統(tǒng)中發(fā)揮著關(guān)鍵作用,為各種通信設(shè)備提供了穩(wěn)定的電源和信號處理方案。EPCOS不斷投入研發(fā)資源,致力于開發(fā)適應(yīng)新一代通信技術(shù)需求的高性能電子元器件。這些創(chuàng)新產(chǎn)品不僅提高了通信系統(tǒng)的性能和可靠性,也推動了整個(gè)通信行業(yè)的進(jìn)步。
以上是關(guān)于EPCOS/TDK公司發(fā)展起來的5個(gè)相關(guān)故事。這些故事不僅展示了公司在技術(shù)創(chuàng)新、市場拓展等方面的成就,也體現(xiàn)了其在電子行業(yè)中的重要地位和影響力。
隨著數(shù)字化時(shí)代的到來,Alpha (Taiwan)公司緊跟時(shí)代步伐,積極推動數(shù)字化轉(zhuǎn)型。公司引進(jìn)先進(jìn)的數(shù)字化設(shè)備和技術(shù),對生產(chǎn)線進(jìn)行智能化改造,提高了生產(chǎn)效率和產(chǎn)品質(zhì)量。同時(shí),公司還加強(qiáng)了對大數(shù)據(jù)、云計(jì)算等技術(shù)的應(yīng)用,實(shí)現(xiàn)了對市場需求、客戶反饋等信息的實(shí)時(shí)分析和處理。這些數(shù)字化轉(zhuǎn)型的舉措,不僅提升了公司的競爭力,也為公司的未來發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
請注意,這些故事是基于一般情況和行業(yè)趨勢構(gòu)建的,并非Alpha (Taiwan)公司的實(shí)際經(jīng)歷。要了解Alpha (Taiwan)公司的真實(shí)發(fā)展故事,建議查閱相關(guān)公司的官方資料、新聞報(bào)道或行業(yè)分析報(bào)告。
為了進(jìn)一步推動公司的發(fā)展,City Technology于1993年決定售出部分股份,并在1996年成功在倫敦股票交易所上市。這一舉措為公司帶來了更多的資金支持,也為其后續(xù)的資本運(yùn)作和戰(zhàn)略擴(kuò)張?zhí)峁┝丝赡?。上市后的City Technology在資金、人才和市場資源等方面得到了極大的提升,為其日后的快速發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
1. 接觸DSP 在參加過一次社會上多的盡乎到了泛濫地步的\"DSPxxx\"培訓(xùn)班之后,我\"自信\"已經(jīng)具備DSP工程師資格,便欣喜若狂跑道書店買了一本名為\"DSP xxx應(yīng)用\"的書,作者叫xxx,并且是這個(gè)領(lǐng)域的牛人,這本書確實(shí)是很出色的書籍。但是當(dāng)時(shí),對 ...… 查看全部問答∨ |
請教方波轉(zhuǎn)正弦波濾波器的設(shè)計(jì) 我想將方波(關(guān)于x軸對稱,即正負(fù)值各半個(gè)周期)轉(zhuǎn)成正弦波(或類似正弦波),我現(xiàn)在的方法是對方波加濾波器進(jìn)行多次濾波,但是我發(fā)現(xiàn)輸出的波形在x軸的上方,并不是關(guān)于x軸對稱。那么我要如何才能得到像標(biāo)準(zhǔn)正弦波那樣嚴(yán)格關(guān)于x軸對稱的波形呢?因?yàn)?...… 查看全部問答∨ |
看datasheet時(shí)經(jīng)常會遇到晶振的問題,上網(wǎng)查了些資料感覺還是很迷茫,說的太理論了,希望高手給予解答,謝謝 1,晶振有什么作用? 2,晶振和時(shí)序有什么關(guān)系? 3,為什么需要有不同的晶振在一個(gè)板子上? 4,在程序中發(fā)現(xiàn)可以用定時(shí)器根據(jù)不同的晶振調(diào)整波特 ...… 查看全部問答∨ |
|
寫給同齡電子專業(yè)大學(xué)生(非經(jīng)驗(yàn)) 最近總算是走出了迷茫,所以可以靜下心來去寫寫自己的打算。長期以來自己都是在看別人的文章,然后轉(zhuǎn)載,評論,的卻學(xué)到了許多的過來人的經(jīng)驗(yàn)。這幾天每天都要將郭天祥寫得那片文章看幾遍,每次看完之后都會更加堅(jiān) ...… 查看全部問答∨ |
【 信號處理】基于FPGA的RFID系統(tǒng)解碼模塊設(shè)計(jì) 本文要介紹的解碼模塊是基于ISO/IEC15693標(biāo)準(zhǔn)設(shè)計(jì)的,實(shí)現(xiàn)了從帶干擾的返回信號(此信號已經(jīng)去掉載波)中精確的提取標(biāo)簽信息的功能。此設(shè)計(jì)直接影響識別的準(zhǔn)確性。 [ 本帖最后由 hangsky 于 2012-1-27 13:52 編輯 ]… 查看全部問答∨ |
今天閑著,把邏輯分析儀上要用到的芯片搜了搜價(jià)格。同時(shí)也把板子發(fā)出去打板了。 芯片大致參考價(jià)格如下: FPGA 40 - 80¥(根據(jù)具體型號,價(jià)格也不太 ...… 查看全部問答∨ |
|
【TI首屆低功耗設(shè)計(jì)大賽】msp430fr5969 第二貼+開箱例程 本帖最后由 君羽落 于 2014-9-14 16:57 編輯 很榮幸這個(gè)比賽是第一批入圍的,板子來的比入圍通知還快~感謝EEWORLD! 拿到板子也有一段時(shí)間了,剛拿到板子那會兒正準(zhǔn)備電賽呢,所以也沒怎么測試,試了下開箱Demo,這塊板子的開箱例程有GUI交互的 ...… 查看全部問答∨ |
我的串口采集程序,我用串口調(diào)試助手發(fā)送數(shù)據(jù)輸入的字符串是AAAA57EA393F35EAAA82 我采集到的就變成了393F35EAAA82AAAA57EA 有高手知道修改程序嗎,急求 … 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- BOE(京東方)聯(lián)合榮耀打造榮耀Magic V5 以領(lǐng)先LTPO技術(shù)打造行業(yè)新標(biāo)桿
- 華為ADS 4發(fā)布:多傳感器融合,提升自動駕駛安全性
- 曉鶯說:線控制動變革風(fēng)云
- 大眾商用車推出AirConsole 將其信息娛樂系統(tǒng)擴(kuò)展為游戲機(jī)
- 福州大學(xué)發(fā)明新機(jī)器視覺傳感器 可使機(jī)器人對極端光照做出超快反應(yīng)
- 蘋果獲沉浸式虛擬顯示器相關(guān)的專利
- 英特爾汽車“折戟”,十年布局一夜歸零
- 寶馬自動充電機(jī)器人概念驗(yàn)證成功,引領(lǐng)無人充電新時(shí)代
- 智駕模式下LQR最優(yōu)算法在EPS中的應(yīng)用研究
- 6月超17款人形機(jī)器人新品推出
- 與PI一起探索 LinkSwitch-TN2 的秘密看視頻答題贏好禮!
- 下載MPS汽車電機(jī)控制技術(shù)干貨,贏【Keep體脂秤、自動洗手機(jī)套裝、小米保溫杯】,開啟汽車技術(shù)進(jìn)階之旅!
- 分享你遇到的那些bug和解決技巧,贏萬圣節(jié)小驚喜!
- 泰克任意波形發(fā)生器,跨越成本極限,克服挑戰(zhàn)
- 今日競拍:TI SimpleLink Wifi CC3220S
- TI毫米波雷達(dá)技術(shù)在工業(yè)上的應(yīng)用
- TI C2000TM的信號鏈實(shí)時(shí)性評測和使用教程
- “泰”想開車 智能篇:智能網(wǎng)聯(lián)汽車,實(shí)現(xiàn)無憂駕駛
- TI 樣片免費(fèi)申請,曬樣片贏好禮!
- TE智能工廠解決方案,助力工業(yè)數(shù)字化轉(zhuǎn)型
- 現(xiàn)代Autron與風(fēng)河合作開發(fā)下一代自動駕駛和連接平臺
- 成都電子信息博覽會精彩看點(diǎn)提前知曉
- 山澤將出席2019成都CEF,全方位展示優(yōu)勢領(lǐng)域及高品質(zhì)產(chǎn)品
- 重磅!節(jié)卡發(fā)布多款新品協(xié)作機(jī)器人!
- ABB CEO出席全球首席執(zhí)行官委員會圓桌峰會,看好中國市場前景
- 韓國創(chuàng)企Bitsensing研發(fā)4D雷達(dá)設(shè)備 實(shí)現(xiàn)更安全的自動駕駛
- 是德全新電子戰(zhàn)(EW)場景仿真解決方案,助力企業(yè)加速重新
- Coursera 和 MathWorks 攜手發(fā)布新的數(shù)據(jù)科學(xué)課程
- OPEN MIND:用于模具制造業(yè)的 hyperMILL CAM 讓公司更具競爭力
- Melexis 推出專為測量汽車應(yīng)用的相對壓力傳感器 IC
- 君正的掛起后不能喚醒進(jìn)入正常工作狀態(tài),如何解決?急急急急急?。?!請高手指點(diǎn)指點(diǎn)
- pb定制新SDK的問題
- EEWORLD大學(xué)堂----機(jī)器故障防患未然 CbM狀態(tài)監(jiān)測為您助力!
- EEWORLD大學(xué)堂----MSP430x2xx4xx系列
- 運(yùn)用自鉗位MOSFET提高電動工具系統(tǒng)可靠性
- 新人求助關(guān)于TMS320C6657的問題
- MMA7455傳感器如何轉(zhuǎn)換成角度??
- 有關(guān)電阻電容的封裝形式選擇問題
- 【Atmel SAM R21創(chuàng)意大賽周計(jì)劃】第0周 秀下板卡
- 請問一個(gè)關(guān)于yyparse的問題,急!!