2012-01-04 17:27:15 zhengmeifu 阅读数 8105
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3992 人正在学习 去看看 朱有鹏

今天测试成功了单片机控制的双节锂电池电量显示电路。功能有:

1、显示8.4V两节锂电池的电量:按一下按钮,唤醒休眠,显示电量剩余值,7秒后自动熄灭,进入休眠状态。电池电压低于7.4V时能报警显示。检测电压值精度为0.1V。

2、带UART通讯口,能和ARM通讯,传送电池电压值和充电及放电状态。串口通讯能唤醒单片机。

3、休眠后的整体功耗低于1ma(微安级,手头的仪表测不出来有耗电)。

4、带EEPROM,能设定电池电压检测的修正偏移值,以补偿检测器件的误差。

双节8.4V锂电池充电电路也OK了,最大能达到1.2A充电电流,有充电、放电及故障状态指示。能自动检测电池是否在线。电池规格为8.4V/4700mah。

 产品应用:

1、移动互联网设备:上网本等,如MID的电池管理。

2、移动POS机。

3、PDA等带电池的手持设备。

2018-03-25 12:40:26 xhl1123456789 阅读数 7538
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3992 人正在学习 去看看 朱有鹏

      首先说一下独立键盘检测,在单片机外围电路中  ,通常用到的按键都是机械弹性开关,当开关闭合时,线路导通,开关断开时,线路断开。单片机检测按键的原理:按键的一端接地,另一端与单片机的某个I/O口相连,开始先给I/O赋一高电平,然后让单片机不断检测该I/O口是否变为低电平,当按键闭合时,相当于I/O口与地相连,就会变为低电平。在单片机检测按键是否被按下时,电压的实际波形与理想波形时有一点=定差别的,波形在按下和释放瞬间都有抖动现象,抖动时间的长短和按键的机械特性有关 。所以单片机在检测键盘是否被按下都要加上去抖操作,所以在编写单片机的键盘检测程序时,一般在检测按下时加入去抖延时。独立键盘与单片机连接时每一个按键都需要一个I/O口,会过多占用I/O口资源。所以就引出了矩阵键盘。

     矩阵键盘的连接方式,每一行将每个按键的一端连接在一起构成行线,每一列将按键的另一端连接在一起构成列线。这样的话,16个按键排成4行4列就只要8根线。它的按键检测,简单点说,就是先送一列低电平,其余均为高电平,然后轮流检测,确认行列。

     这里就要提到另外一个东西,switch-case语句又称开关语句,它是一个专门用于处理多分支结构的条件选择语句。使用switch语句可直接处理多个分支。

    

    

2017-05-18 13:43:53 CLP_CSDNID 阅读数 6378
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3992 人正在学习 去看看 朱有鹏

 

单片机内部的多路ADC采集之间可能会相互影响,使用的时候需要参考datasheet,在NUC100中,ADC7 比较与ADC6同时使用时,ADC6的采样就会出问题,采集的电量值一直保持不变。

 

 

 

其次,ADC采集电路的设计也要注意,电阻、电阻参数的选取要配合单片机内部的ADC结构。

 通常情况,AD采集到的电量值是实际电池电压的1/2分压,这样的话以12位AD为例,测得电压值 = 测得值 /4096  *  参考电压  ;实际电压值 = 测得电压值 * 2,这里的二就是采样电路的分压比。

实际情况下,采样电路的元器件误差,以及与MCU内部采样电路的阻抗匹配问题,使得实际的分压比与理论计算的分压比可能会有误差,因此要做到精确地采集,首先应该确定采集电路的实际分压比。

有上面的公式可以看出,测得电压值得最大值为参考电压,常用的单片机都是3.3或5V供电,所以如果要采集的模拟量比较大,比如12V、24V,就需要通过改变采样电路的分压比来实现。

 

 

2018-03-07 16:30:30 return9 阅读数 1323
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3992 人正在学习 去看看 朱有鹏

单片机检测按键原理:
单片机的的IO口既可以作为输入使用也可作为输出使用,当检测按键时用的是它的输入功能,我们把按键一端接地,另一端与单片机的某个IO口相连,开始时先给该IO口赋一个高电平,然后让单片机不断检测该IO口是否变化为低电平,当按键闭合时,即相当于该IO口通过按键与地相连,变成低电平,程序一旦检测到IO口变为低电平则说明按键被按下,然后执行相应的命令。

独立按键:
直接检测电平高低变化即可,存在抖动现象,一般需要delay()延时确认按键按下,确认按键被按下后,还应该有while(!key)来等待按键释放,若按键没有释放,则key键始终为低电平,程序就一直停在此刻,直到按键释放才去执行接下来相应的代码。
矩阵键盘(4*4为例):
我们先给第一行赋低电平,其余三行为高电平,即0111,1011,1101,1110依次赋值。这时候我们检测列值。0xfe,0xfd,0xfb,0xf7依次与0xf0相与。用switch case判断结果
例如:

P3=0xfe;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
    {
        delay(10);
        temp=P3;
        temp=temp&0xf0;
    }
    switch(temp)
    {
        case 0xee:
            key=0;
            break;
        case 0xde;
            key=1;
            break;
        case 0xbe:
            key=2;
            break;
        case 0x7e:
            key=3;
            break;
    }
while(temp!=0xf0)
    {
        temp=P3;
        temp=temp&0xf0);
    }

这里写图片描述

2017-12-16 16:06:04 qq_21358401 阅读数 4729
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3992 人正在学习 去看看 朱有鹏

检测不到单片机存在

使用STC15系列的IAP15W4K61S4和IAP15W2K16S2两种型号的单片机时,都出现了STC-ISP下载软件很长时间检测不到单片机的情况

百度得到的解决

网上百度你经常看到的原因是电路设计不合理,最常说的就是你去量一量你的晶振起振没有.
然而我使用的是STC15系列单片机内部自带的晶振,同样出现了检测不到单片机的情况.
在网上苦寻答案而不得,最后在老师的指点下明白了.

解决办法

  1. 首先,要查看串口的驱动是否装对了.一般来说使用的芯片都是CH340或者PL2303.找到合适的驱动装上.
  2. 其次,使用可靠的串口软件,尽量使用别人长久用过的软件,这样有保障.
  3. 最后,最重要的.STC15系列单片机下载前会要求一个冷启动,然而多数情况下造成下载或者检测不成功的原因都是因为你的外部条件没有达到冷启动的要求.具体的测试办法是用万用表测量在不接VCC的情况下,单片机的引脚是否有电压.如果有,说明存在漏电状况.需要在下载器的TXD脚上串接一个二极管或者在VCC和GND之间加上一个1K左右的小电阻.这样就能解决漏电状况了.

最后最后,补充一点,遇到问题要多想解决的办法.不急于把原因归结到硬件的原因上.毕竟STC每年的出货量这么大,不至于在这种小问题上跌跤.

没有更多推荐了,返回首页