|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
x5045程序修改 |
| 作者:夏之劍客 欄目:單片機 |
哪位大蝦能夠告訴我這個程序為什么讀入的時候是D,但是讀出來卻是@ ,感謝阿!。! RS BIT P3.3 ;寄存器選擇,1表示數(shù)據(jù)寄存器,0表示指令寄存器 RW BIT P3.5 ;讀寫信號線,高電平為讀,低電平為寫, ;RS RW同時為低表示寫指令,RS低RW高則是讀忙信號,反之寫入數(shù)據(jù) E BIT P3.4 ;液晶顯示使能,高到低時執(zhí)行命令 key_bit bit 01h ;鍵盤標志位 KEYBOARD bit P2.6 lcd_bg bit P1.2 ;背光 OUTPUT equ p0 cs bit p2.7 ;X5045電路選擇端 so bit p3.5 ;X5045串行數(shù)據(jù)輸入端 si bit p3.7 ;X5045串行數(shù)據(jù)輸出端 sclk bit p3.6 ;X5045串行時鐘信號 xadd equ 0d0h ;X5045寫入的地址 org 0000h ajmp init org 0003h ajmp ankey init: mov sp,#0f0h clr lcd_bg mov b,#01h ;清屏 lcall enable ;每次操作都要保存 mov b,#38h ;功能選擇 lcall enable mov b,#0fh ;開顯示幕 lcall enable mov b,#06h ;表示光標向右移,屏幕上文字不移動 lcall enable setb ea ;中斷開放 setb ex0 ;允許INT0 welcome: mov b,#80h ;設定第一行起始地址 lcall enable mov a,#41h lcall DISPLAY mov b,#0c0h lcall enable mov a,#42h lcall DISPLAY main: jnb key_bit,next clr key_bit ajmp key next: nop ajmp main ;-----------------寫入程序寄存器-------------------------- enable:clr rs ;寫指令到寄存器 clr rw clr e ;先禁止,在第二次進入的時候就有效了 lcall delay mov OUTPUT,b setb e clr e ret ;----------------顯示------------------------------------- DISPLAY: clr rw setb rs mov OUTPUT,a setb e lcall delay clr e ret ;****************X5045************************************ ;----------------單字節(jié)寫--------------------------------- ;作用:這段程序送出命令,讀EEPROM存儲器中的一個字節(jié)數(shù)據(jù) byte_write: mov DPTR, #xadd ; 設置字節(jié)寫地址 lcall startx lcall wren mov a,#02h mov b,dph mov c,b.0 mov acc.3,c lcall byte_out mov a, DPL lcall byte_out ; 送出8位地址 mov a, OUTPUT ; 數(shù)據(jù) lcall byte_out ; 送出數(shù)據(jù) inc xadd lcall endx lcall check_wip ; 查寫周期是否完成(等待寫完) ret ;---------------單字節(jié)讀----------------------------------- ;作用:這段程序送出命令,讀EEPROM存儲器中的一個字節(jié)數(shù)據(jù) byte_read: mov b,#82h lcall enable mov DPTR, #xadd ; 設置讀取數(shù)據(jù)的地址 lcall startx mov a,#03h mov b,dph mov c,b.0 mov acc.3,c lcall byte_out mov A, DPL lcall byte_out ; 送出地址(8位) lcall byte_in ; 讀取數(shù)據(jù) inc xadd lcall endx ret ;---------------啟動X5045-------------------------------- startx:clr cs ;讓cs在整個工作周期為低,有效 |
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |