写出点亮2盏LED灯的c语言程序?

写出点亮2盏LED灯的c语言程序?,第1张

单片机的话,如端口上电默认高电平,那直接led一头接电源一头接端口,一个led对应一个端口。

一、简单讲:想要灯亮,就将对应端口置0。反之就是灯灭。

二、详细讲:假设用keil编写,新建工程->选择单片机型号->新建源文件->设置output(点魔术棒图标勾选create hex file)。

我坦神们用P2^0端口连接一个led(led另一端连电源)。先给端口起别名sbit led1=P2^0之后代码中需要灯亮就写led1=0;即可。(头文件自行导入)。

程序让知亏写好,编译后将生成的hex(路径在猛信之前的设置中)写入单片机或加载到仿真电路中运行。

我写的这芦拆个程序应该可以,按一下灯亮,再按一下灯灭陪衡枣

#include

"REG52.H"

sbit

LED1_01

=

P1^1

/拦碧/LED灯

sbit

KEY0_01

=

P1^2

//按键

void

Delay_1ms(unsigned

int

Time)

{

unsigned

int

x,

y

for(x

=

Time

x

>

0

x--)

for(y

=

120

y

>

0

y--)

}

int

main(void)

{

LED1_01

=

1

//打开LED灯点亮

while(1)

{

if(KEY0_01

==

0)

//检测按键是否按下

{

Delay_1ms(10)

//延时去抖动

if(KEY0_01

==

0)

//确定按键按下

{

LED1_01

=

~

LED1_01

//取反LED灯

[

.

]

}

while(KEY0_01

==

0)

//检测松手

}

}

}

你的图里有A/D转换器

AD转换函数ADC_DIS.C

#include

<REGX51.H>

#include"def.h"

#include"lib.h"

sbit

adc_cs=P1^0

sbit

adc_rd=P1^1

sbit

adc_wr=P1^2

/***ADC0804启动转换函数***/

INT8U

start_ad()

{

INT8U

temp

adc_cs=0

adc_wr=1

delay(1)

adc_wr=0

delay(1)

adc_wr=1

delay(1)

//启动AD

adc_rd=1

delay(1)

adc_rd=0

delay(1)

temp=P2

delay(1)

adc_rd=1

delay(1)

//读取数据

return

temp

}

用这个程序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12360367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存