用P0、P1口显示乘法运算结果
#include<reg51.h> //包含单片机寄存器的头文件 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口灭,其余亮 }