云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 51单片机c语言总结

51单片机c语言总结

  • 62 次阅读
  • 3 次下载
  • 2025/12/9 5:36:06

P57记忆思考 P58跳过

数据类型表p59页 指针型数据 位类型数据 空类型数据

延时函数不需要返回值。 X++先用x的值,再让x加1 逻辑与&&逻辑或||逻辑非!

按位与& 25&77=9 按位或| 25|77=93

按位异或^ 相异为1,相同出0 按位取反~ 有0出1,有1出0

左移运算符<< 将一个二进制数的各位全部左移若干位,移动的过程中,高位丢弃,低位补0. w=0x3a 00111010B w<<2,w=11101000B >>低位丢弃,高位补0 赋值运算符 逗号运算符 条件运算符

强制转换运算符???

实例8用不同数据类型的数据控制led的闪烁

使用无符号整型数据和无符号字符数据来设计延时函数。

由于整型数据占两个字节,而无符号字符型数据仅占一个字节,因此对无符号整型数据进行操作花费的时间就要长一些,整型数据要实现100次循环,消耗的时间约800个机器周期。无符号100占300个。为了提高运行效率,尽可能用无符号字符型数据。

实例9 用p0口和p1口分别显示加法和减法运算结果 其实就是利用二进制的单位数值进行亮1不亮0的表示 乘法除法就是利用二进制转化为十进制再进行处理

实例12用自增运算控制p0口8位ked的闪烁花样

只要送到p0口的数值发生变化,p0口8位led点亮的状态就会发生变化。可以先将变量的初值送到p0口延迟一段时间,再利用自增运算使变量加1,然后将新的变量值送到p0口并延时一段时间,即可使8位led的闪烁花样不断变化,

Unsigned char I;定义无符号字符型变量,其值不超过255 运用变量的值变化和将变量的值送到p口用来变化。 For(i=0;i<255;i++)

实例13用p0口显示逻辑与的运算

P0=(4>0)&&(9>0xab)=1&&0=0;将运算结果送到p0口 实例14用p0口显示条件运算的结果 P0=(8>4)?8:4; P0=8=00001000B 实例15;用p0口显示按位异或运算结果

异或相异出1,相同出0;记忆异性才能很火热的做出子女 P0=0xa2^0x3c 异或要做必须上顶^ 很公平应用 实例16 用p0口显示左移的运算结果

实例17万能逻辑电路 F=EY+Z逻辑函数p77图

1专门设计数字电路,实现逻辑功能

2通过单片机编程来实现逻辑功能软件即硬件

//实例17:\万能逻辑电路\实验

#include //包含单片机寄存器的头文件 sbit F=P1^4; //将F位定义为 P1.4 sbit X=P1^5; //将X位定义为 P1.5 sbit Y=P1^6; //将Y位定义为 P1.6 sbit Z=P1^7; //将Z位定义为 P1.7 void main(void) {

while(1) {

F=((~X)&Y)|Z; //将逻辑运算结果赋给F ; } }

实例18用右移实现流水灯

前提设p口为0xff八次右移一位高位丢弃低位补0 延迟用的变量因为要取大数所以必须用int 后面因为要快所以取char型变量

因为单片机运行快。所以led灯闪后要延迟。 C语言语句

If(S1==0)

P1=0x00;如果按键s按下接地(相应位为低电平), Swich 整型 break 三者紧密

While语句花括号运用和 一般情况下,在循环体中应该有让循环停止的语句。?? Do while 语句注意;

Do和while连用 while后面的分号不能丢,它表示整个循环语句的结束 Do循环语句 while(循环式) 尽量避免使用goto语句

P87页的程序软件即硬件

实例21用for语句实现鸣笛报警

T=1/f,所以要让蜂鸣器发出频率f的声音,只要让单片机输送周期为t的脉冲方波电平即可,让单片机没半个周期取反一次。半周期可通过延时来实现。可以通过循环的方式来实现延时,

P90一重循环消耗的机器数近似N=3*n 二重循环消耗的机器数近似N=3*n*m

例子,如果单片机的晶振频率为11.0592MHz,则机器的周期为1.085μs,要发出1600Hz的声音,就让单片机每半个周期312μs将输出电平取反一次,而延时312μs需要消耗机器周期数N=312/1.085≈286可以取300循环次数300/3=100次 Void delay(void) {

Unsigned char I;

For(i=0;i<100;i++) ;

}形成1600Hz的音频

相对应800Hz的音频可以i取200 Sbit sound=P1^5; Sound=0; 即可执行 Unsigned char i; While(1) i=0;??

数组是同类型的一组变量? Unsigned char code tab[] 应用却是tab【】??

字符型数组中的个字符数据在单片机中是以字符的ASCII 存放的,

正确的使用指针,可以有效地表示复杂的数据类型,动态分配内存,方便的使用字符串,有效地使用数组。

指针本身就具有地址还存在一个地址, Unsigned char*p; Unsigned char a; P=&a; 指针数组

Unsigned char a[]={0,1,2,3};

Unsigned char *a[]={&a[0],&a[1],&a[2],&a[3]}; 数组的指针

Unsigned char a[]={0,1,2,3}; Unsignde *p; P=&a[0];

P[i]+j 为P[i][j] 实例26未细看

返回值是通过return语句获得的。

如果函数无返回值,需要用void来声明。

数组作为函数参数

一个数组的名字表示该数组的首地址,所以用数组名作为函数的参数时。被传递的数组的首地址,被调用函数的参数的形式须是定义为指针型变量。

用数组名作为函数的参数时,应该在主调函数和被调函数中都进行数组定义。定义的数组类型必须一致。编译器不检查形参数组的长度p109函数?? 函数型指针

一个函数在编译时,就分配了一个入口地址,这个入口地址就是函数的指针, 类型说明符 (*指针变量名)(形参列表) Int (*p)(int a,int b) (*p)(a,b)

这些需要思考p110页 。

P1=z/256;取得z的高八位

P2=z/256;取得z的低八位???? While(1)

;无限循环防止程序跑飞。

实例30用有参函数控制p0口8位流水灯的流水速度 P113实例31不实用??、

实例32 实例33是不错的c语言程序函数调用。练习c语言p115p116

实例34不错c语言程序p118

指针数组适合用来指向若干个字符串,尤其是各列字符串长度不一致的情形,这对于字符的液晶显示等很有意义。

实际运用液晶等显示器显示字符时,如果液晶的接口通过P0口和单片机连接,将各字符串送入p0口,实际上就是送入液晶显示器。 实例35

#include

P0=isalpha(’_’)?0xf0:0x0f;

内部函数文件instrins.h中有_crol_()函数

实例36;应用内部函数文件instrins.h中有_crol_()函数来点亮P3口8位流水灯 _crol_(15,2)

的返回值为00111100B=0x3c思考他的应用

实例37实例38感觉像是介绍函数以后????c语言应用程序卡那可可能看看

C语言编译预处理

宏定义c语言允许一个标示符来表示一个字符串,称为宏。 P125宏定义不是c语句,所以不需加分号。

可以用#undef命令来终止宏定义的作用域。即对#undef后面的无用。为防止歧义应加括号及时

带参数的函数宏和函数不同,函数是先求出实参表达式的值,然后代入形参,而带参数的宏只是进行简单的字符替换。 实例40文件包含应用举例

使用头文件为#include中有关特殊功能寄存器的定义

已将P3_0定义为P3.0引脚,直接应用P3_0就可以对P3口进行操作了。

搜索更多关于: 51单片机c语言总结 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

P57记忆思考 P58跳过 数据类型表p59页 指针型数据 位类型数据 空类型数据 延时函数不需要返回值。 X++先用x的值,再让x加1 逻辑与&&逻辑或||逻辑非! 按位与& 25&77=9 按位或| 25|77=93 按位异或^ 相异为1,相同出0 按位取反~ 有0出1,有1出0 左移运算符<< 将一个二进制数的各位全部左移若干位,移动的过程中,高位丢弃,低位补0. w=0x3a 00111010B w<>低位丢弃,高位补0 赋值运算符 逗号运算符 条件运算符 强制转换运算符??? 实例8用不同数据类型的数据控制led的闪烁 使用无符号整型数据和无符号字符数据来设计延时函数。 由于整型数据占两个字节,而

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com