将下列程序补充完整,用单片机的P1口控制8个发光二极管,将8个发光二极管轮流点亮和熄灭实现右循环流水灯的效果。#include#include<>delay(unsignedintj)//延时子函数{while(j--);}main(){P1=;//P1口赋初值,点亮左边第1位LED灯while(1){delay(30000);//调用延时子函数P1=;//P1口的值循环右移1位}}
举一反三
- 单片机的P1^0-P1^7口分别接发光二极管LED0-LED7,单片机输出低电平点亮LED灯,读下列程序:#includevoidDelay1s()//@11.0592MHz{unsignedchari,j,k;for(k=0;k<100;k++){i=18;j=235;do{while(--j);}while(--i);}}voidmain(void){unsignedchari;while(1){P1=0x7f;for(i=1;i<8;i++){P1=P1>>1|0x80;Delay1s();}}} A: 执行P1=0x7f后,与P1^7连接的LED7被点亮; B: 执行P1=0x7f后,与P1^0连接的LED0被点亮; C: P1=P1>>1|0x80执行后使点亮的LED右移一位; D: 程序功能是实现8个LED循环点亮的流水灯。
- 根据题目要求读懂下面的程序并补充完整(每空2分)。[br][/br]8个发光二极管LED0-LED1经限流电阻R0-R7分别接至P1口8个引脚,阴极共同接地。编程实现发光二极管按走马灯点亮,即按照LED0→LED1…→LED7的顺序,每次点亮一个。 main() //主函数 { unsigned char PortData=0x01; //初始化寄存器数值 while(1) { (1) =PortData; //将数据送到P1口,点亮二极管 delay(60000); //调延时 PortData = (2) ; //左移一位 if(PortData == (3) ) { PortData = (4) ; } } }
- #include "stdio.h" main( ) { int a,b,*p1,*p2,*p; a=1;b=2; p1=&a; p2=&b; if(a
- 以下程序运行后,P1口输出结果是( )。 #include void main ...| 0x30; while (1); }
- pp0=0;delay();p1=1;delay()函数表示延时函数,没有也可以。