单片机-串并转换
功能实现
/*************************************************** 本例主要演示串行转换成并行的功能实现:通过LED灯的闪亮显示(附带电路图)。
***************************************************/ //C语言格式
#include
#define uchar unsigned char
#define uint unsigned int
uint i,j;
uint date[] = {1,2,4,8,16,32,64,128};
//延时
void Delay(uint n){
for(i = 0; i for(j = 0; j<100; j++); } } void main(){ SCON = 0x0; while(1){ for(j = 0; j<8; j++){ SBUF = date[j]; if(TI == 1){ TI = 0; Delay(5); } } } } //asm格式 ORG 0000H AJMP START ORG 0030H START: MOV SCON,#0H MOV 30H,#01H MOV 31H,#02H MOV 32H,#04H MOV 33H,#08H MOV 34H,#16 MOV 35H,#32 MOV 36H,#64 MOV 37H,#128 MOV R0,#30H MOV R2,#8 LOOP: MOV A,@R0 MOV SBUF,A L0: JNB TI,L0 CLR TI ACALL DELAY INC R0 DJNZ R2,LOOP SJMP START DELAY: MOV R7,#3 DD1: MOV R6,#0FFH DD2: MOV R5,#0FFH DJNZ R5,$ DJNZ R6,DD2 DJNZ R7,DD1 RET END 电路图: