//实例 10:用 P0、P1 口显示乘法运算结果#include //包含单片机寄存器的头文件void main(void) { unsigned char m,n; unsigned int s; m=64; n=71; s=m*n; //s=64*71=4544,需要 16 位二进制数表示,高 8 位送 P1 口,低 8 位送 P0 口 //由于 4544=17*256+192=H3*16*16*16+H2*16*16+H1*16+H0//两边同除以 256,可得 17+192/256=H3*16+H2+(H1*16+H0)/256//因此,高 8 位 16 进制数 H3*16+H2 必然等于 17,即 4544 除以256 的商//低 8 位 16 进制数 H1*16+H0 必然等于 192,即 4544 除以 256 的余数 P1=s/256; //高 8 位送 P1 口 ,P1=17=11H=0001 0001B, P1.0 和 P1.4 口灭,其余亮 P0=s%256; //低 8 位送 P0 口 , P3=192=c0H=1100 0000B,P3.1,P3.6,P3.7 口灭,其余亮}
发表评论取消回复