基于51单片机的知识总结,使用protues和keil共同学习。
我使用的是protues7.8 和 keil4,需要软件的联系我。
点亮LED
protues电路仿真
8051/8751片内有4KB的ROM/EPROM,因此只需外接晶振电路和复位电路即可构成51单片机最小系统组成
仿真电路截图
程序
#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有方向性,阴极和阳极,注意必须正接,反接无法工作。
转载:https://blog.csdn.net/sinat_33734313/article/details/101303490