发布网友 发布时间:2022-04-25 20:00
共5个回答
热心网友 时间:2022-06-17 00:17
1、新建项目,如图所示。
2、添加头文件,创建延迟函数。
3、创建C主函数。
4、添加死循环效果。
5、点亮LED灯。P1=0x7e;二进制11111110。
6、添加延迟效果。
注意事项:
很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。
热心网友 时间:2022-06-17 00:18
首先你要知道既然是控制一个LED灯的话,那么就只需要一个IO口控制就可以了。那么在程序中你只需要改变一个IO口的状态。
你这个程序首先是,P10是什么东西,如果是一个IO口的话,为什么后面会是0X00,和0XFF,这是什么意思, 这是八位的表示方式,一位需要用这么多的数据来表示么。你只需要置1,和清零就可以了。就是说 P10 = 0;P10 = 1,这种方式的就可以了。而且你还需要在程序的最开始定义P10是什么东西的。单片机是不知道P10 是什么的。
如果是一个八位端口的话,这样定义是没有错的。但是控制的就是8个IO口了。
热心网友 时间:2022-06-17 00:18
因为P1^0是P1的第零位,只能赋值0或者1;而P1是一个8位寄存器
正确程序如下:
#include <reg51.h>
sbit led=P1^0; //P1^0这个端口接led
void delay(unsigned int i);
main()
{
while(1)
{
led=0;
delay(600);
led=1;
delay(600);
}
}
void delay(unsigned int ms)
{
unsigned int x,y;
for(x=ms;x>0;x--)
for(y=100;y>0;y--);
}
热心网友 时间:2022-06-17 00:19
void delay(unsigned int i); //声明延时函数
main()
{
P1 = 0x00; //置P0口为低电平
delay(600); // 延时
P1 = 0x01; //置P0口为高电平
delay(600); // 延时
热心网友 时间:2022-06-17 00:20
你先定义 sbit P10 = P1^0; 要想把P10设为0,就直接写 P10 = 0;设为1,就写P10 = 1;0x00和0xff是8位数据不能给一个位的。