P0.0口驱动一个LED闪烁
2024-09-29 17:24:53
#include<reg51.h> //头文件
sbit led=p0^0; //led接p0.0,定义p0.0为p0^0
void delay(unsigned int x) //延时函数
{
while(x--);
}
void main(void) //主函数
{
led=0; //led灭
delay(4000); //调用延时函数,延时一段时间
led=1; //led亮
delay(50000); //调用延时函数,延时一段时间
}
通过改变端口的电平来改变LED的状态,因为,LED的另一端是接地的,实现LED的闪烁。
delay()函数产生每一个状态的时间差,这种时间差是由函数中的x--产生的,因为每次执行都需要一定的时间,虽然执行一次的时间是很短的,
当向函数传递一个几千大小的参数的时候这种时间差就能被人眼感知到了。
总结:
(1)C51定义P0.0为P0^0,要想让P0.0输出低电平只需让P0^0=0即可;
(2)为了使程序简明,可以利用sbit LED=P0^0语句,让LED代替P0^0;
(3)单片机程序执行顺序为:先执行主函数,在主函数中调用子函数,子函数可以调用子函数,但子函数不可以调用主函数,单片机程序从主函数入口依次执行每一条指令,执行完后返回到主函 数入口进行下依次循环。
(4)仿真软件不能测试软件的安全性和可靠性,也不能测试电路电气特征的完整性,单片机的程序设计或相关产品 开发必须有相关软件和硬件的支撑。
最新文章
- markdown简要说明源码
- Extjs 学习总结-Ext.define自定义类
- JQuery筛选器全系列介绍
- 20款最佳用户体验的Sublime Text 2/3主题下载及安装方法
- codevs1138 聪明的质监员
- jquery中对动态生成的标签响应click事件(一)
- 关于C++ const 的全面总结
- easyui combobox 智能提示搜索
- javascript取得机器名,用户名,读写注册表,启动应用程序
- HackerRank ";No Prefix Set";
- HDU 4630 No Pain No Game 树状数组+离线查询
- flask开发restful api系列(2)
- POJ1042 Gone Fishing
- php7 install memcache extension
- 基于eclipse的mybatis映射代码自动生成的插件http://blog.csdn.net/fu9958/article/details/7521681
- HTML5 学习总结
- BAT54C 二极管是如何工作的?
- 基于Quartz实现简单的定时发送邮件
- 【精选】Nginx模块Lua-Nginx-Module学习笔记(二)Lua指令详解(Directives)
- 【BZOJ1835】【ZJOI2010】基站选址
热门文章
- c语言实现基本的数据结构(三) 栈
- PCA(主成分分析)原理,步骤详解以及应用
- 配置Oracle透明网关用以连接 SQLServer经验总结
- python相关,各种命令集合
- C#/Java 动态生成电子发票
- 本地项目上传到github上最直接步骤
- 解决npm报错:Module build failed: TypeError: this.getResolve is not a function
- hdu6437 Problem L.Videos(网络流)
- Atcoder D - XOR Replace(思维)
- 题解 CF499A 【Watching a movie】