51單片機(jī)的位地址和字節(jié)地址
該區(qū)既可位尋址又可字節(jié)尋址。例如:MOV C,20H 這里C是進(jìn)位標(biāo)志位,該指令將位地址為20H的單元內(nèi)容送至C;而MOV A,20H 將字節(jié)地址為20H的內(nèi)容送至累加器A。
本文引用地址:http://m.butianyuan.cn/article/201611/318361.htm可見20H是位地址還是字節(jié)地址要看另一個(gè)操作數(shù)的類型。
/*-*/;program name: r8051xC2 -->Port0 Test Input or Output;program versions: v1;program date: 2013.7.15;use : test;compiler: eng-12/*--*/$NOMOD51 //取消使用51內(nèi)部默認(rèn)SFR#include "REG8F301.INC"Key1 equ P0.0F_1SSet bit 20h.0F_KeyOne bit 20h.1F_KeyOpen bit 20h.2dseg at 30h //通用RAM字節(jié)段從30H開始TimerCnt: ds 1TimerCnt1: ds 1KeyBuf: ds 1KeyValue: ds 1 P0_1: ds 1P0_2: ds 1P0_3: ds 1P0_4: ds 1P0_5: ds 1P0_6: ds 1P0_7: ds 1P0_8: ds 1IO_ModeCnt: ds 1DelCnt: ds 1iseg at 80h //0-ffh地址的RAM段 80h-ffh段RAM只能用間接尋址進(jìn)行操作cseg at 0org 0hjmp Startorg 0030h;start: mov ckcon,#01hmov r0,#0x7fClrRam: //清內(nèi)部256Byte RAMmov @r0,#0djnz r0,ClrRam mov dptr,#0x00 //清外部768Byte RAM// mov dph,#0x03// mov dpl,#0x00ClrOutRam:mov a,#0x00 //給外部RAM全部寫0x00movx @dptr,ainc dplmov a,dplcjne a,#0,ClrOutRaminc dphmov a,dphcjne a,#3,ClrOutRammov P0_OE,#0ffh //設(shè)置P0位輸出模式mov P0,#00H //P0輸出0;-main:mov a,P0 //IO口狀態(tài)快速翻轉(zhuǎn),翻轉(zhuǎn)正常,在時(shí)鐘25Mhz下CPL amov P0,aljmp main;-end
評(píng)論