行业资讯

行业资讯

通过我们的最新动态了解我们

p1口做输出口接8个发光二极管(p1口外接8个发光二极管)

发布时间:2023-05-12
阅读量:195

本文目录一览:

1、P1 口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。

#include reg51.h

#define LED P1 //宏定义,使用LED代替P1口(相当于LED=P1)

#define uchar unsigned char //用uchar代替unsigned char方便操作

#define uint unsigned int

/*------------------time ms延时函数-----------------*/

void delay_ms(uint time)

{

uchar tres;

for(;time0;time--)

{

tres=150;

while(tres--);

}

}

void main()

{

uchar t;

LED=0X01;//P1=00000001B

while(1)//死循环,不停的仔改点亮和熄灭LED

{

for(t=0;t8;t++)

{

LED=~LED;//按位取反,点亮一个LED

delay_ms(100);//延时0.1s

LED=~LED;//按位取反

LED=1;//左移一位,点亮不同的LED

}

LED=0X80;//P1=10000000B

for(t=0;t8;t++)

{

LED=~LED;//按位取反,点念滑判亮一个LED

delay_ms(100);//延时0.1s

LED=~LED;//让孝按位取反

LED=1;//右移一位,点亮不同的LED

}

LED=0X01;//P1=00000001B

}

}

1.P1口作输出口,接八只发光二极管(高电平输出使二极管点亮

#includereg52.h //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

void Delay(unsigned int t); //埋让函数声明

/*------------------------------------------------

主函数

------------------------------------------------*/

void main (void)

{

unsigned char i; //定义一个无符号字符型局部辩液禅变量 i 取值范围 0~255

Delay(50000);

while (1) //主循环中添加其他需要一直工作的程序

{

P1=0xfe; //赋初始值

for(i=0;i8;i++) //加入 for循环,表携尘明for循环大括号中的程序循环执行8次

{

Delay(50000);

P1=1;

}

}

}

/*------------------------------------------------

延时函数,含有输入参数 unsigned int t,无返回值

unsigned int 是定义无符号整形变量,其值的范围是

0~65535

------------------------------------------------*/

void Delay(unsigned int t)

{

while(--t);

}

.利用单片机的P1口接8个发光二极管(对应8位二进制数),P3.1接1个开关,编程实现,当开关动作?

uchar key_scan(void)

{

if(P3^1==0) //当按键按下是低电平时

{

delay_ms(12);//消抖

if(P3^1==0) return 1;

}

return 0;

}

void main()

{

uchar cnt=0,key;

uchar led[9]={0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

while(1)

{

key=key_scan();

if(key==1) //按键按下了

{

if(cnt++=8)cnt=0;

}

P1=led[cnt];

}

}

纯手陪谨打,没有编粗盯译,思路大概这样岩乱和

选用P1口作为输出口,接8只发光二极管,编程实现使8个发光二极管每隔200ms循环依次左移点亮.

#include reg51.h

#define LED P1 //雹唤搭宏链稿定义,使用LED代替P1口(相当于LED=P1)

#define uchar unsigned char //用uchar代替unsigned char方便操作

#define uint unsigned int

/*------------------time ms延时函数-----------------*/

void delay_ms(uint time)

{

uchar tres;

for(;time0;time--)

{

tres=;

while(tres--);

}

void in()

{

uchar t;

LED=0X01;//P1=B

while(1)//ˀѭ»·,²»ͣ源拿µĵぁº͏¨ðLED

{

for(t=0;t

关键词:发光二极管 p1口做输出口接8个发光二极管

相关新闻

一点销电子网

Yidianxiao Electronic Website Platform

Tel:0512-36851680
E-mail:King_Zhang@Lpmconn.com
我们欢迎任何人与我们取得联系!
请填写你的信息,我们的服务团队将在以您填写的信息与您取得联系。
*您的姓名
*电话
问题/建议
承诺收集您的这些信息仅用于与您取得联系,帮助您更好的了解我们。