做原油的网站,怎样才能访问没有备案的网站,网站 租用服务器价格,永久免费进销存管理软件手机版目录
1. 用字符型数组控制 P0 口 8 位 LED 流水点亮
2. 用 P0 口显示字符串常量 1. 用字符型数组控制 P0 口 8 位 LED 流水点亮 C语言中的字符型数组是一种数据类型#xff0c;它是一个由字符组成的序列#xff0c;以空字符\0结尾。在声明字符型数组时#xff0c;需要指…
目录
1. 用字符型数组控制 P0 口 8 位 LED 流水点亮
2. 用 P0 口显示字符串常量 1. 用字符型数组控制 P0 口 8 位 LED 流水点亮 C语言中的字符型数组是一种数据类型它是一个由字符组成的序列以空字符\0结尾。在声明字符型数组时需要指定数组的大小数组的大小通常是字符串长度加上一个空字符。
例如声明一个最多存储10个字符的字符串变量可以写成
char str[11]; // 字符数组大小应该为字符串长度加上1个空字符(\0)在初始化字符型数组时可以使用字符串字面量来赋值。例如
char str[] Hello, world!; // 字符数组的大小会根据字符串的长度自动确定也可以逐个字符地赋值例如
char str[6] {H, e, l, l, o, \0};在C语言中字符型数组可以用于存储和处理字符串数据。可以使用各种字符处理函数来操作字符型数组例如字符串拷贝函数strcpy()、字符串拼接函数strcat()、字符串比较函数strcmp()等。 首先定义了一个字符型数组 led其长度为 8用于表示 8 个 LED 灯的状态。初始化为全灭状态。 在 while 循环中通过取反字符型数组中的第 i 个元素并输出到 P0 口来完成 LED 流水点亮。 最后在八位灯全部亮完后将 i 重置为 0重新开始流水点亮。 #includereg51.h //包含单片机寄存器的头文件
/****************************************
函数功能延时约 60ms (3*100*20060000μs)
****************************************/
void delay60ms(void)
{ unsigned char m,n; for(m0;m100;m) for(n0;n200;n) ;
}
/****************************************
函数功能主函数
****************************************/
void main(void)
{ unsigned char i; unsigned char code Tab[ ]{0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //定义
无符号字符型数组 while(1) { for(i0;i8;i) { P0Tab[i];//依次引用数组元素并将其送 P0 口显示delay60ms();//调用延时函数} }
}
2. 用 P0 口显示字符串常量 C语言字符串常量是一组字符序列以空字符(\0)结尾。字符串常量必须在双引号()中间例如Hello, world!。 在C语言中字符串常量是一种常量表达式可以被使用在各种操作中包括赋值、比较、拼接等。 另外C语言中还有一种叫做字符常量的常量类型它只包含一个字符用单引号()括起来例如A。字符常量可以用于字符变量的初始化和比较操作中。
要在51单片机上使用P0口显示字符串常量需要按照以下步骤操作
定义P0口为输出口。
sbit P0_0 P0^0; //定义P0.0口为P0口的第一个引脚
sbit P0_1 P0^1; //定义P0.1口为P0口的第二个引脚
sbit P0_2 P0^2; //定义P0.2口为P0口的第三个引脚
sbit P0_3 P0^3; //定义P0.3口为P0口的第四个引脚
sbit P0_4 P0^4; //定义P0.4口为P0口的第五个引脚
sbit P0_5 P0^5; //定义P0.5口为P0口的第六个引脚
sbit P0_6 P0^6; //定义P0.6口为P0口的第七个引脚
sbit P0_7 P0^7; //定义P0.7口为P0口的第八个引脚声明字符串常量
char code str[] Hello, World!; //定义字符串常量通过循环遍历字符串的每个字符并将其转化为二进制值将二进制值写入P0口以显示出来。
int i;
for(i0; istrlen(str); i){P0 str[i]; //将字符转化为二进制值并写入P0口
}完整代码如下
#includereg51.h //包含单片机寄存器的头文件
/*************************************************
函数功能延时约 150ms (3*200*250150 000μs150ms
*************************************************/
void delay150ms(void)
{ unsigned char m,n; for(m0;m200;m) for(n0;n250;n) ;
}
/*************************************************
函数功能主函数
*************************************************/
void main(void)
{ unsigned char str[]{Now,Temperature is :}; //将字符串赋给字符型全部元
素赋值unsigned char i; while(1) { i0; //将 i 初始化为 0从第一个元素开始显示while(str[i]!\0) //只要没有显示到结束标志\0 { P0str[i]; //将第 i 个字符送到 P0 口显示delay150ms(); //调用 150ms 延时函数i; //指向下一个待显字符} }
} 51单片机应用从零开始八·循环语句for循环、while 语句、do‐while 语句-CSDN博客