多语言展示
当前在线:491今日阅读:26今日分享:39

单片机入门到精通实战系列一 (点亮LED二)

这是我89c51类型单片机学习的教程。(初次发布,请多多指教,不胜感激)这一篇是对上一篇的led灯的亮和灭做一个详细的讲解(关于led灯的原理)
工具/原料
1

keil4(windows下的单片机开发软件,同类产品还有IAR),linux下有sdcc

2

普中科技的开发板

方法/步骤
1

这是stc90的电路图。还有stc15f2k60s2的电路图(较新的,可以看看,也可以用这单片机作为你的第一块启蒙板。还有IAR在线仿真系列,stc系列),新版本的stc15的系统,你会发现缺少时钟电路(内部集成了)等,而且VCC和GND的引脚也变了。所以使用的时候注意引脚区别(stc新板本引脚有区别)。

2

可以焊接一个这样的电路板去学习(stc15芯片),stc15的芯片的引脚可以连接普中开发板,也可以自己焊接外围电路。

3

这一节详解led灯的外围电路。用proteus绘制一个模拟仿真的电路图。即最小电路外加led灯。led灯的相关参数是10ma电流,1.5V电压,proteus仿真,分压电阻(及P0口接VCC那个电阻如果分压超过3.5V的话,led排灯是不会亮  的,而且电流小于10ma也是不会亮的,现实生活中的元器件会有一定的误差)。很多电路使用P0口时需要外接上拉电阻(相关原理会在单片机原理中解释)。P1,P2,P3则不需要。

4

灌电流和拉电流这么理解:当负载(这里指led,led是二极管,二极管的特性,只允许电流单一流过)的输入端外接VCC(+5v)而单片机的引脚置为低电平时,此时构成的电路,属于灌电流(可以理解为外部电压高,往单片机内部 灌)(图片上P0端口)拉电流:单片机内部置高电平,外部接地,此时构成电路,属于拉电流。(图片P3端口),实际情况,很少用高电平驱动(这里p3口的led灯用作演示,实际    电路不这么干),因为P1,P2,P3在电流原件下,驱动能力较弱(当然,这也是有解决方法的)。

5

编写程序实现led灯闪灭。用P1.0接一个开关,用开关控制P0端口的led灯的亮灭。/** 关于led灯的灌电流和拉电流*/    //#include  大家可以比较一下这两个头文件的区别#include main(){  P10=0; //初始化P1.0口为低电压  P3=0xff;    //初始化P3口(默认都为高电平)  while(1)  {   if(P10==1)     //判断按键   { P00=1;            //因为头文件有此定义,才可以直接用P00表示P0.0端口 P01=0; P02=1; P03=0; P04=1; P05=0; P06=1; P07=0; } //也可以写成十六进制的  //P0=0x55;     //端口反向渡读,从P07到P00,二进制转十六进制数 0101010                        //1转化为0x55。  if(P10==0)  {   P0=0xaa; } //也可以写二进制 // /* P00=0; P01=1; P02=0; P03=1; P04=0; P05=1;     P06=0; P07=1; */ }}

6

视频演示代码。

注意事项
1

涉及原理较多,可以看单片机原理系列

2

proteus的模拟仿真并不是指现实制作也是这么做,所以有时候用proteus仅仅是仿真。

推荐信息