(1)最常用的PAGE和BANKEMC的IC是分幾個page和幾個bank的,低端的EM78P156等只有一個bank和一個page,所以不用切換,新一點(diǎn)的IC基本都要切換的了,這個經(jīng)常用的冬冬,做成宏就最合適,代碼如下:/****
Start(void);voidStop(void);u8CurrentRead(void);u8RandomRead(u8addr);voidByteWrite(u8addr,u8data);voidSendByte(u8data);voidI2c_Ack(void);voidI2c_NoAck(void);u8I2c_CheckAck(void);u8ReadByte
;*****************************************;78p153寄存器定義;*****************************************R0==0X0;間接尋址IAR;****CONTREGISTE*************;76543210;-INTTSTEPABPSR2PSR1PSR2;PSRT
mcu:EM78P153port5==0x05dly1==10hdly2==11hdly3==12htime==13hmode1==15hmode2==16h;**************主程序*****************org0X00main: MOV a,@00hiowport5 MOV a,@64;2s MOV time,a MOV a,@3 MOV m
EM78系列單片機(jī)--D/A變換程序的設(shè)計PORT6的輸出接有一個數(shù)模轉(zhuǎn)換器(D/A convert)。寫一程序產(chǎn)生一個鋸此波。本例的D/A Convert所采用的方式為R – 2R的方式,所使用的電阻為20K的同一品牌的排阻。因POR
PORT6輸出動作的控制,而且外部接有一推動8個七段顯示器的電路。編寫一程序在8個七段顯示器上輪流顯示1,2,3,4,5,6,7,8。下圖為控制電路的方塊圖。由PORT6單獨(dú)控制8個七段顯示器,利用時間分割(time slI
在許多程序設(shè)計的場合,我們時常會利用到時間延遲子程序,接下來就介紹一個可以控制延遲時間的延遲子程序。開下面是利用發(fā)工具E8-ICE來演示的一個精確的控制延遲時間的程序,選擇使用石英振蕩器,可以精
在EM78X56系列的IC中有三種中斷信號,分別是:TCC溢位中斷。PORT6Change中斷。外部信號中斷。在說明中斷使用方式之前,用戶要了解中斷寄存器,及與中斷息息相關(guān)的控制寄存器(ControlRegister),另外在芯
在一個沒有規(guī)則性的內(nèi)容轉(zhuǎn)換中,查表程序是相當(dāng)有用的,用戶可以使用查表程序很快速的得到相關(guān)內(nèi)容的轉(zhuǎn)換。例:設(shè)計一個程序,將如下圖所示中的PORT5讀到的一個數(shù)值,將輸入內(nèi)容做轉(zhuǎn)換,然后輸出到PORT
本例為單字節(jié)二進(jìn)制數(shù)(0X20)轉(zhuǎn)換為非壓縮BCD 碼,存在0X25,0X24,0X23 中,0X25 為百位,0X23 為個位。main: MOV a,@0xa4 ;賦值MOV 0x20,aMOV 0x21,aMOV 0x22,aMOV a,@0x0 ;0x23,0x24,0x25 單元清0MOV 0x23
兩字節(jié)壓縮BCD 碼轉(zhuǎn)換為兩字節(jié)二進(jìn)制數(shù)。算法如下:BCD 碼abcd=1000a+100b+10c+d=10{10[10a+b]+c}+d,將各位BCD 碼分離出之后,即可根據(jù)此式轉(zhuǎn)換為二進(jìn)制數(shù)。涉及到乘法運(yùn)算和多字節(jié)加法運(yùn)算。0X20,0X
多字節(jié)二進(jìn)制除法被除數(shù)為3 個字節(jié),在0x20、0x21、0x22 單元中,0x22.7 為最高位,0x20.0 為最低位。除數(shù)為2 個字節(jié),在0x30、0x31 中。算法:EM78單片機(jī)沒有除法指令,而且本例中除法為多字節(jié)除法,可
EM78單片機(jī)沒有乘法指令,所以乘法運(yùn)算需要轉(zhuǎn)化為加法運(yùn)算。0X20 單元數(shù)據(jù)乘以0X21 單元數(shù)據(jù),結(jié)果放在0X22,0X23 中。main: MOV a,@0x0 ;0x22,0x23 單元清0MOV 0x22,aMOV 0x23,aMOV a,@0x3f ;賦值MOV 0
三 多字節(jié)二進(jìn)制減法0x20,0x21 中的二進(jìn)制無符號數(shù)減0x22,0x23 中的二進(jìn)制無符號數(shù), 低地址中放低字節(jié)數(shù)據(jù)。假設(shè)被減數(shù)大于減數(shù)。注意:(1)sub 指令減出結(jié)果為正時,c 標(biāo)志置1。(2)sub 指令減出結(jié)果
二 多字節(jié)二進(jìn)制加法0X20,0X21 中的二進(jìn)制無符號數(shù)與0X22,0X23 中的二進(jìn)制無符號數(shù)相加,結(jié)果放在0X24,0X25,0X26 中,低地址中放低字節(jié)數(shù)據(jù)。Main: MOV a,@0x78 ;賦值MOV 0x20,aMOV a,@0xc6MOV 0x21,aM