单片机技术是一门实践性很强的应用性技术,需要硬件+软件同时支持。所以单片机的学习必须做到理论联系实践。我们提倡的“边学边做”的自学方法就是把理论与实践结合起来了,理论融入到实践中,学一个知识点、做一次产品、编一次程序、总结一次学习成果,不需要死记理论知识。
我们主张用万能板制作单片机产品,因为这种实践方法,不仅能锻炼焊接技术,同时还能提高识别单片机硬件电路图的能力,更重要的是掌握了单片机开发的基本步骤,提高了软硬件的编程与设计能力,为日后开发设计电子产品打下坚实的基础。
我们保证所有产品硬件电路正确,程序有效,调试成功,并且我们都成功制作过。
一、电路设计功能介绍
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的以单片机为核心元件的可以正常工作的具有特定功能的单片机系统,是单片机产品开发的核心电路。
本制作采用单片机C语言编程,主要能完成单灯闪烁的任务,通过AT89S51单片机控制一个LED的亮与灭,实现闪烁现象。同时应具有上电复位和手动复位,并且使用单片机片内程序存储器存放用户程序。
二、原理图
三、工作原理
1、硬件电路分析
对51系列单片机来说,单片机要正常工作,必须具有五个基本电路,也称五个工作条件:1、电源电路,2、时钟电路,3、复位电路,4、程序存储器选择电路,5、外围电路。为了下载程序方便,增加一个ISP下载电路。因此,单片机最小系统一般应该包括单片机、晶振电路、复位电路、外围电路、ISP下载电路等,如下图所示:
单片机的主要控制功能是通过单片机的I/O口按不同时序输出不同的高低电平控制外部的电路实现特定的功能。
I/O口,是英文IN/OUT的缩写,就是输入/输出的意思。AT89S51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。这四个口的电路结构不完全相同,所以使用也有区别。
外围电路的设计主要依据项目要实现的功能,本项目要实现的功能是用单片机控制一个LED闪烁。
现在只需要通过指令控制单片机的第1个引脚输出高电平,就可以控制LED的不亮。或通过指令控制单片机的第1个引脚输出低电平,就能控制LED的发光。
2、程序设计
依据上面设计的硬件电路,设计源程序如下:
#include //52系列单片机头文件
sbit LED1=P1^0; //声明单片机P1口的第一个引脚
void delay unsigned char k //延时子函数
{
unsigned char i,j;
for(i=0;i
for(j=0;j<200;j++);
}
Main() //主函数
{
while(1) //实现永久循环
{
LED1=0; //点亮LED1
delay(200); //延时
LED1=1; //熄灭LED1
delay(200); //延时
}
}