#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相关推荐

  1. c语言/c++转Java学习笔记---基础问题

    c语言/c++转Java学习笔记---基础问题 1.java注释 2.数组的定义和使用 定义 使用 3.类 4.this 的使用 5.继承 6.super的使用 7.包 8.修饰符 成员的访问控制符( ...

  2. c语言编程实例解析精粹,C语言实例解析精粹学习笔记——35(报数游戏)

    实例35: 设由n个人站成一圈,分别被编号1,2,3,4,--,n.第一个人从1开始报数,每报数位m的人被从圈中推测,其后的人再次从1开始报数,重复上述过程,直至所有人都从圈中退出. 实例解析: 用链 ...

  3. R语言与抽样技术学习笔记(Jackknife)

    R语言与抽样技术学习笔记(Randomize,Jackknife,bootstrap) Jackknife算法 Jackknife的想法在我很早的一篇博客<R语言与点估计学习笔记(刀切法与最小二 ...

  4. R语言与函数估计学习笔记(函数模型的参数估计)

    R语言与函数估计学习笔记 毫无疑问,函数估计是一个比参数估计要复杂得多的问题,当然也是一个有趣的多的问题.这个问题在模型未知的实验设计的建模中十分的常见,也是我正在学习的内容的一部分. 关于函数估计我 ...

  5. c51单片机学习笔记-LED流水灯实验

    目的:实现 LED 流水灯,只需循环让 D1-D8 指示灯逐个点亮. 方法:点亮 D1 且把 D2-D8 熄灭,延时一段时间后再点亮 D2 且把 D1. D3-D8 熄灭,延时一段时间后再点亮 D3 ...

  6. 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,实 ...

  7. sunday算法c语言实现,C / C++学习笔记:实现Sunday算法

    Sunday算法 Sunday 算法于 1990 年 Daniel M.Sunday 提出的字符串模式匹配.其效率在匹配随机的字符串时比其他匹配算法还要更快.Sunday 算法的实现可比 KMP,BM ...

  8. C语言五子棋人人对弈学习笔记

    C语言编写五子棋人人对弈学习笔记 1.头文件#include <conio.h> #include <conio.h>是一个控制输出的头文件. 包含以下函数:textbackg ...

  9. 《自制编程语言--基于C语言 郑钢》学习笔记

    <自制编程语言>学习笔记 本仓库内容 <自制编程语言>源码 src/sparrow.tgz <自制编程语言>读书笔记 docs/* <自制编程语言>样章 ...

最新文章

  1. 使用 SQLServer On Linux 作为开发数据库遇到的编码问题
  2. sourcetree打开快捷_Sourcetree使用:拉取打开项目的步骤
  3. Python数值类型:小数与百分数的转换
  4. 修改mysql用户的密码
  5. MYSQL:基础——触发器
  6. python字典的内置函数_python – 用于字典转换的特殊方法名称的内置函数
  7. java发牌程序_求解,用JAVA写洗牌与发牌模拟程序
  8. socket怎么同时监听两个端口_三十岁了,我同时爱上两个男人,我现在不知道怎么办...
  9. 4.14 在数字的左侧进行补零 [原创Excel教程]
  10. w10系统怎样打开计算机策略,Win10系统组策略在哪里打开
  11. ArcGIS修改默认文件地理数据库
  12. ios计算机错误,用iTunes更新IOS14失败,显示发生未知错误(4000)的简单解决办法!...
  13. 计算长方体、四棱锥的表面积和体积_JAVA
  14. 一个Node程序猿上海的一周
  15. 20、Java——迷你图书管理器(对象+集合)
  16. linux客户端交互,客户端交互性
  17. 煤矿井下定位设备技术要求及构成
  18. “不用谢!”,“不客气!”的十种英文说法
  19. C++图形用户界面开发框架Qt 6.x入门级教程 - 开发工具简介
  20. 【重要征稿】IEEE 2022年网络、计算机和通信国际学术研讨会(ISNCC2022)

热门文章

  1. 目前常见的Linux操作系统
  2. 地址总线,字长,内存容量,与寻址空间
  3. 微服务架构之是什么?为什么? 怎么做?
  4. 牛客NOIP暑期七天营-普及组4 C-火龙果田
  5. 射频领域及测试工具简述——TFN 手持式频谱分析仪 FAT100/FAT130
  6. cuda10.0最佳实践的翻译(八到十七及两个附录)
  7. 智能手机的聊天记录误删怎么办
  8. 全球最为“绿色”的一家星巴克门店9月30日在上海开业
  9. 研发 3D 引擎顺便做了个开源游戏案例,Cocos 宝藏同事竟在我身边!
  10. Word2007尾注问题:尾注序号,连续尾注,尾注分隔符