Ⅰ 單片機控制74LS164控制數碼管顯示怎麼編程(匯編語言)
74LS164是串入並出轉換晶元,可以藉助串口來實現,也可以用普通IO口模擬實現。舉例如下:
#include<reg51.h>
#define uchar unsigned char
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f};
sbit keyup=P3^6;
sbit keydn=P3^7;
void delay()
{
int i=1000;
while(i--);
}
main()
{
uchar i;
i=0;
SCON=0x00;
TI=1;
while(1)
{
SBUF=table[i];
while(TI==0);
TI=0;
delay();
if(keyup==0)
{
i++;
while(keyup==0);
}
if(keydn==0)
{
if(i>0)i--;
while(keydn==0);
}
i%=10;
}
}
Ⅱ 單片機乘法和除法指令及匯編語言程序舉例
1.乘法:
MUL AB ;(A)×(B),積的低8位在A中,積的高8位在B中;
C總為0。
2.除法:
DIV AB ;(A)÷(B),商在A中,余數在B中。
若(B)= 0 ,則結果不定,(OV)= 1,(C)= 0。
例、試將A中的二進制數轉換為3位BCD碼,其中,百位數存放於31H單
元,十位數和個位數壓縮後存於30H單元中。
解;MOV B,#100
DIV AB
MOV 31H,A
MOV A,#10
XCH A,B
DIV AB
SWAP A
ADD A,B
MOV 30H,A