三分钟带你玩起来单片机

       说到硬件操控,有幸学过初中物理的大神们应该都知道:硬件操控的本质是电子器件两端接上符合规范的高低电压,造成电子流动然后电子器件进行工作。

 

       但是,在实际开发中,一般会使用一段封装好的代码,例如安卓控制闪光灯打开:

 

try{
  m_Camera = Camera.open();
  Camera.Parameters mParameters;
  mParameters = m_Camera.getParameters();
  mParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
  m_Camera.setParameters(mParameters);
} catch(Exception ex){}

 

      这种封装好的代码固然简单方便,但是总是没有利用电流操控底层的快感。而我对单片机的理解是: 单片机通过CPU逻辑运算+IO端口控制电流来控制电子器件的开关 

 

       那么单片机开发到底是什么呢?它怎么控制电流继而运行起电子元件呢?首先我们来看一个简单的例子。下面是一组八个LED灯的电路原理图:

 
 
       大家可以考虑一下压抑住自己关掉页面的冲动,其实电路图很简单,经我一讲会更简单。我们先忽视上方的动态数码管,只需仔细浏览红色方框中的电路图,其中D11-D18是八个LED灯,并且负极默认接地(GND)。那么只要在LED灯左侧加上高电压,理论上我们就能让LED发亮,并且我们看到,LED左侧的引线通过好多乱七八糟的电路,最后落到J12上。电路对应实物图如下:
 
       
       可以看到,J12是一排引脚,或者说是一排导电的金属针,那往后的事情就简单了呀,通过J12想办法接进正电压,我们就能“手动”让硬件点亮了。
 
       想什么办法来接入高电压呢?你是否已经迫不及待地找向身边的插线板?唔…我们不这么玩儿,这么简单粗暴的“手动”和蓝翔的课程还有什么区别?为了稍稍高端一些,我们来试着看一下承载着单片机的MCU板块吧,其原理图如下:
 
 
       
      实物图如下:
 
       
       其中,40接入了VCC(正极),各种PX.X和PXX一一对应起来。事实上,我们把这些PXX叫IO端口,用一个简单粗暴的解释:这些端口能通过CPU逻辑发出或接收高电压或低电压。
 
       相信聪明的看官们已经迫不接待把手伸过屏幕开搞了,没错,我们应该把单片机的输出端口和刚才LED的输入端口串联在一起,然后输出高电压,我们就能通过写写代码把LED完美地点亮了。接线如下(代表IO端口P0的JP10接到代表LED输入的J12):
 

更多编程步骤请详见这里:http://igeekbar.com/igeekbar/post/272.htm

猜你喜欢

转载自gbin1.iteye.com/blog/2387144
今日推荐