1、单片机实验二程序,1(1),按K0-K3,D1-D4对应亮(if),#include /实验内容1,按K0-K3,D1-D4对应亮(if) main() P0=0 x00; while(1) P1=0 x0f; if(P1 ,1(2),按K0-K3,D1-D4对应亮(if-else),#include main() P0=0 x00; while(1) P1=0 x0f; if(P1 ,1(3),按K0-K3,D1-D4对应亮(switch),#include /实验内容1,按K0-K3,D1-D4对应亮(switch) void main() P0=0 x00; /置p0口全为0 while
2、(1) P1=0 x00;/置 p1口低四位为1 switch(P1 ,2(1),实现D1-D8依次循环点亮(for),#include void delay(unsigned char i); void main() unsigned char a,b; while(1) P0=0 x00; delay(500); b=0 xfe; for(a=0;a8;a+) P0=b;/将b取反送P0 delay(500); b=1; ,void delay(unsigned char i) unsigned char j,k; for(k=0;ki;k+) for(j=0;j255;j+); ,2(2
3、),实现D1-D8依次循环点亮(while),#include /实验内容2,实现D1-D8依次循环点亮(while) void delay(unsigned char i); void main() unsigned char a,b; while(1) P0=0 x00; delay(500); b=0 xfe; a=0;,while(a8) a+; P0=b;/将b取反送P0 delay(500); b=1; void delay(unsigned char i) unsigned char j,k; for(k=0;ki;k+) for(j=0;j255;j+); ,2(3),实现D1
4、-D8依次循环点亮(do-while),#include /实验内容2,实现D1-D8依次循环点亮(do-while) void delay(unsigned char i); void main() unsigned char a,b; while(1) P0=0 x00; delay(500); b=0 xfe; a=0; do a+; P0=b;/将b取反送P0 delay(500); b=1; while(a8); ,void delay(unsigned char i) unsigned char j,k; for(k=0;ki;k+) for(j=0;j255;j+); ,2(4)
5、,实现D1-D8循环点亮(_crol_函数),#include /实验内容2,实现D1-D8循环点亮(_crol_函数) #include void delay(unsigned int i); void main() unsigned char a,b; while(1) P0=0 x00; delay(500); b=0 xfe; for(a=0;a8;a+) P0=b;/将b取反送P0 delay(100); b=_crol_(b,1); ,void delay(unsigned int i) unsigned int j,k; for(k=0;ki;k+) for(j=0;j255;j+); ,实验思考题:当按键K0被按下,实现D1D8循环点亮;当按键K1被按下,实现D8D1循环点亮,#include#include void delay(unsigned char i); void main() unsigned char b; P1=0 x0f; while(1) if(P1 ,if(P1 ,void delay(unsigned char i) unsigned char j,k; for(k=0;ki;k+) for(j=0;j255;j+); ,