led1在c语言里面,C语言学习笔记-LED(1).docx
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器??
??
sbit?led=P0^0;?????//将单片机的P0.0端口定义为led??
??
void?main()??
{??
????led=0;??//P0.0端口设置为低电平??
????while(1);?????????
}??
这是一个点亮LED灯的程序,下面对此进行解析
#include?"reg52.h"???
# 符合表明这一行是在编译器接手前由c预处理器处理的语句
#include 语句是c预处理器指令
Reg52.h 单片机头文件,此文件中定义了单片机的一些特殊功能寄存器
sbit?led=P0^0;?????//将单片机的P0.0端口定义为led??
sbit是定义 特殊功能寄存器的位变量
void?main()??
{??
????while(1);
}
Main是一个普通的名字,其他函数可以随意命名但是主函数不行,它是唯一的选择。
()的功能则是表示main()是一个函数
很快您就会学到更多的函数,但现在,就请记住这个函数是C程序的基本模块
Void则是函数类型,中文翻译是无类型。但是慢慢学习后就会发现有些函数的类型是int 或者是 char
{} 花括号,它划定了main函数的界线。通常,所有的C函数都是使用花括号来表示函数体的开始与结束。
{}花括号,[]中括号,()小括号的作用是不一样的,不要混淆。
#include?????//51头文件??
#include?//包含循环右移函数_cror头文件??
??
#define?uchar?unsigned?char??//宏定义??
#define?uint??unsigned?int???//宏定义??
??
sbit?LED1?=?P1^0;?//位定义LED1硬件接口??
uchar?i;???//申明循环计数变量??
uchar?temp;//P1口状态暂存变量??
??
//毫秒级延时函数??
void?delay(uint?z)??
{??
????uint?x,y;??
????for(x=z;x>0;x--)??
????for(y=120;y>0;y--);??
}??
??
//主函数??
void?main()??
{??
????temp?=?0x7f;?//定义LED灯初始状态,从LED8开始亮??
????P1?=?temp;???//赋值给P1,点亮LED8??
????delay(1000);?//延时1000毫秒??
????while(1)????//大循环??
????{??
????????for(i?=?0;?i?8;?i++)??
????????{??
????????????temp?=?_cror_(temp,1);//循环右移,LED从左至右点亮??
????????????P1?=?temp;??
????????????delay(1000);??????
????????}??
????}???
}??
“ #define?uchar unsigned char”是表示之后代码中的“uchar”全部代表“unsigned char”,并且是在执行编译预处理时就进行了实际的替换操作。
uint 也是如此。 只是uint 与 uchar 代表两种不同的数据类型
define函数定义一个常量的宏。
uchar?i;???//申明循环计数变量??
uchar?temp;//P1口状态暂存变量??
声明语句,C语言最重要的功能之一
它声明了两件事情,第一,在函数中您有了一个名为 i 的变量。
第二,char说明它是字符型。
(要注意千万不要将关键字用作函数或者变量的名字。)
(如有错误联系更改,且仅做参考,不对文本内容再次进行解答)
led1在c语言里面,C语言学习笔记-LED(1).docx相关推荐
- c语言/c++转Java学习笔记---基础问题
c语言/c++转Java学习笔记---基础问题 1.java注释 2.数组的定义和使用 定义 使用 3.类 4.this 的使用 5.继承 6.super的使用 7.包 8.修饰符 成员的访问控制符( ...
- c语言编程实例解析精粹,C语言实例解析精粹学习笔记——35(报数游戏)
实例35: 设由n个人站成一圈,分别被编号1,2,3,4,--,n.第一个人从1开始报数,每报数位m的人被从圈中推测,其后的人再次从1开始报数,重复上述过程,直至所有人都从圈中退出. 实例解析: 用链 ...
- R语言与抽样技术学习笔记(Jackknife)
R语言与抽样技术学习笔记(Randomize,Jackknife,bootstrap) Jackknife算法 Jackknife的想法在我很早的一篇博客<R语言与点估计学习笔记(刀切法与最小二 ...
- R语言与函数估计学习笔记(函数模型的参数估计)
R语言与函数估计学习笔记 毫无疑问,函数估计是一个比参数估计要复杂得多的问题,当然也是一个有趣的多的问题.这个问题在模型未知的实验设计的建模中十分的常见,也是我正在学习的内容的一部分. 关于函数估计我 ...
- c51单片机学习笔记-LED流水灯实验
目的:实现 LED 流水灯,只需循环让 D1-D8 指示灯逐个点亮. 方法:点亮 D1 且把 D2-D8 熄灭,延时一段时间后再点亮 D2 且把 D1. D3-D8 熄灭,延时一段时间后再点亮 D3 ...
- C语言之顺序程序设计学习笔记
文章目录 1,前言 2,数据的表现形式及其运算 2.1,常量和变量 2.1.1,常量 2.1.2变量 2.1.3,标识符 2.3,数据类型 2.3.1,整数类型 2.3.2,字符型数据 2.3.3,实 ...
- sunday算法c语言实现,C / C++学习笔记:实现Sunday算法
Sunday算法 Sunday 算法于 1990 年 Daniel M.Sunday 提出的字符串模式匹配.其效率在匹配随机的字符串时比其他匹配算法还要更快.Sunday 算法的实现可比 KMP,BM ...
- C语言五子棋人人对弈学习笔记
C语言编写五子棋人人对弈学习笔记 1.头文件#include <conio.h> #include <conio.h>是一个控制输出的头文件. 包含以下函数:textbackg ...
- 《自制编程语言--基于C语言 郑钢》学习笔记
<自制编程语言>学习笔记 本仓库内容 <自制编程语言>源码 src/sparrow.tgz <自制编程语言>读书笔记 docs/* <自制编程语言>样章 ...
最新文章
- 使用 SQLServer On Linux 作为开发数据库遇到的编码问题
- sourcetree打开快捷_Sourcetree使用:拉取打开项目的步骤
- Python数值类型:小数与百分数的转换
- 修改mysql用户的密码
- MYSQL:基础——触发器
- python字典的内置函数_python – 用于字典转换的特殊方法名称的内置函数
- java发牌程序_求解,用JAVA写洗牌与发牌模拟程序
- socket怎么同时监听两个端口_三十岁了,我同时爱上两个男人,我现在不知道怎么办...
- 4.14 在数字的左侧进行补零 [原创Excel教程]
- w10系统怎样打开计算机策略,Win10系统组策略在哪里打开
- ArcGIS修改默认文件地理数据库
- ios计算机错误,用iTunes更新IOS14失败,显示发生未知错误(4000)的简单解决办法!...
- 计算长方体、四棱锥的表面积和体积_JAVA
- 一个Node程序猿上海的一周
- 20、Java——迷你图书管理器(对象+集合)
- linux客户端交互,客户端交互性
- 煤矿井下定位设备技术要求及构成
- “不用谢!”,“不客气!”的十种英文说法
- C++图形用户界面开发框架Qt 6.x入门级教程 - 开发工具简介
- 【重要征稿】IEEE 2022年网络、计算机和通信国际学术研讨会(ISNCC2022)