51_LED

基于51单片机的知识总结,使用protues和keil共同学习。
我使用的是protues7.8 和 keil4,需要软件的联系我。

点亮LED

protues电路仿真

8051/8751片内有4KB的ROM/EPROM,因此只需外接晶振电路和复位电路即可构成51单片机最小系统组成

仿真电路截图

51_LED

程序

#include "reg52.h"  

sbit led=P0^0;	
void main()
{
	while(1)
	{
		led=1;
	}		
}

LED闪烁

仿真电路截图

同上

程序

#include "reg52.h"			 //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16;	  //对数据类型进行声明定义
typedef unsigned char u8;

sbit led=P0^0;		 //将单片机的P0.0端口定义为led

/*******************************************************************************
* 函 数 名         : delay
* 函数功能		   : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
	while(i--);	
}

/*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/
void main()
{
	while(1)
	{
		led=0;
		delay(50000); //大约延时450ms
		led=1;
		delay(50000); //大约延时450ms	
	}		
}
		

补充

protues快捷键

F8:全部显示 当前工作区全部显示
F6:放大 以鼠标为中心放大
F7:缩小 以鼠标为中心缩小
G:栅格开关 栅格网格
Ctrl+F1:栅格宽度0.1mm 显示栅格为0.1mm,在pcb的时候很有用
F2:栅格威0.5mm 显示栅格为0.5mm,在pcb的时候很有用
F3:栅格威1mm 显示栅格为1mm,在pcb的时候很有用
F4:栅格威2.5mm 显示栅格为2.5mm,在pcb的时候很有用
Ctrl+s:打开关闭磁吸 磁吸用于对准一些点的,如引脚等等
x:打开关闭定位坐标 显示一个大十字射线
m:显示单位切换 mm和th之间的单位切换,在右下角显示
o:重新设置原点 将鼠标指向的点设为原点
u:撤销键
Pgdn:改变图层
Pgup:改变图层
Ctrl+Pgdn:最底层
Ctrl+pgup:最顶层
Ctrl+画线:可以划曲线
R:刷新
±(加减号):翻转
F5:重定位中心

程序说明

1.关键字:sbit。sbit是定义特殊功能寄存器的位变量。bit和sbit都是C51扩展的变量类型。典型应用是:sbit P0_0=P0^0;//即定义P0_0为P0口的第1位,以便进行位操作。
2.关键字:typedef。typedef是在计算机编程语言中用来为复杂的声明定义简单的别名,它与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。

硬件说明

1.LED:发光二极管,半导体固体发光器件。
2.LED有方向性,阴极和阳极,注意必须正接,反接无法工作。

上一篇:文件特殊权限 SUID\SGID\SBIT


下一篇:Linux用户及权限管理