2009-08-31 15:07:00 archlen 阅读数 570
  • 单片机到底是个什么东西-1.2.第1季第2部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第2个课程,用通俗易懂的语言讲了很多和单片机有关的技术概念,如CPU、ROM、RAM、外设、电路板、软件硬件工作的差别等。目的是希望大家在轻松愉悦的氛围中对单片机加深认识。

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

资料来源:1、http://www.iccavr.com/ 2、http://www.avrarm.com/index.html
一、主要编译器
AVR Studio、GCCAVR、ICC AVR(大陆常用)、CodeVision AVR、CodeVisionAVR、ATman AVR、IAR AVR
二、基本硬件设计
AVR单片机基本硬件电路设计包括:AVR复位电路和下载电路的设计,另外AVR晶振电路可以不加。
 AVR复位电路的设计
  与传统的51单片机相比,AVR单片机内置复位电路,并且在熔丝位里,可以控制复位时间,所以,AVR单片机可以不设外部上电复位电路,依然可以正常复位,稳定工作。
 AVR下载电路的设计
  一般来说,AVR的编程方式有:
  (1)串行编程,ISP编程
  (2)高压/并行编程
  (3)JTAG编程
  (4)IAP编程
  一般情况,系统板都需要设计下载线路,对AVR进行编程。目前的AVR芯片基本上都具备ISP接口,可通过ISP接口进行编程。所以,最常见的是,在系统板上留ISP接口。

三、ATmega16 简介(一)
ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。
ATmega16产品特性
• 高性能、低功耗的8位AVR微处理器
• 先进的RISC 结构
– 131条指令
– 大多数指令执行时间为单个时钟周期
– 32个8位通用工作寄存器
– 全静态工作
– 工作于16MHz时性能高达16MIPS
– 只需两个时钟周期的硬件乘法器
• 非易失性程序和数据存储器
– 16K 字节的系统内可编程Flash,擦写寿命: 10,000次
– 具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程,真正的同时读写操作
– 512 字节的EEPROM,擦写寿命: 100,000次
– 1K字节的片内SRAM
– 可以对锁定位进行编程以实现用户程序的加密
• JTAG 接口( 与IEEE 1149.1 标准兼容)
– 符合JTAG 标准的边界扫描功能
– 支持扩展的片内调试功能
– 通过JTAG 接口实现对Flash、EEPROM、熔丝位和锁定位的编程
• 外设特点
– 两个具有独立预分频器和比较器功能的8位定时器/计数器
– 一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器
– 具有独立振荡器的实时计数器RTC
– 四通道PWM
– 8路10位ADC,8个单端通道,2个具有可编程增益(1x, 10x, 或200x)的差分通道
– 面向字节的两线接口
– 两个可编程的串行USART
– 可工作于主机/ 从机模式的SPI 串行接口
– 具有独立片内振荡器的可编程看门狗定时器
– 片内模拟比较器
• 特殊的处理器特点
– 上电复位以及可编程的掉电检测
– 片内经过标定的RC振荡器
– 片内/片外中断源
– 6种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电模式、Standby 模式以及扩展的Standby模式
• I/O和封装
– 32个可编程的I/O口
– 40引脚PDIP封装, 44引脚TQFP封装, 与44引脚MLF封装
• 工作电压:
– ATmega16L:2.7 - 5.5V
– ATmega16:4.5 - 5.5V
• 速度等级
– 0- 8MHz ATmega16L
– 0-16MHz ATmega16
• ATmega16L在1MHz, 3V, 25°C时的功耗
– 正常模式: 1.1 mA
– 空闲模式: 0.35 mA
– 掉电模式: < 1 μA

 

2016-03-14 09:06:36 a1314521531 阅读数 2745
  • 单片机到底是个什么东西-1.2.第1季第2部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第2个课程,用通俗易懂的语言讲了很多和单片机有关的技术概念,如CPU、ROM、RAM、外设、电路板、软件硬件工作的差别等。目的是希望大家在轻松愉悦的氛围中对单片机加深认识。

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

单片机——硬件基础知识


宗旨:技术的学习是有限的,分享的精神是无限的。


1、单片机内部资源

STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源

(1)Flash(硬盘)——程序存储空间 —— 擦写10万次,断电数据不丢失,读写速度慢

(2)RAM(内存)——数据存储空间 —— 断电数据丢失,读写速度快,无限次使用

(3)SFR  —— 特殊功能寄存器

 

2、单片机最小系统


最小系统:最少组件组成单片机可以工作的系统。

三要素:

(1)、 电源电路:5V

(2)、 晶振电路:11.0592MHZ、两个30PF

(3)、 复位电路:

P0:开漏输出,必须加上拉电阻

准双向口:

强推挽输出:电流驱动能力强

高阻态

上下拉电阻:上拉电路就是将不确定的信号通过一个电阻拉到高电平,同时限流作用。下拉电阻就是下拉到低电平。

上下拉电阻选取:从降低功耗方面考虑应该足够大,因为电阻越大,电流越小;驱动能力来看,小电阻

 

3、硬件基础知识

(1)、电磁干扰(EMI)——静电放电(ESD)、快速瞬间脉冲群(EFT)、浪涌(Surge)

(2)、去耦电容的使用

低频滤波电容,平常应用最多的事钽电容,电解电容,陶瓷电容,起到去除电源低频纹波,稳定电源的作用。

高频滤波电容,电容附近,通常用104电容来进行去除高频干扰。

(3)、三极管(PNP,NPN) b,c,e  --- 电压驱动

    控制应用

    驱动应用

 

4LED发光二极管 ——电流驱动


通常红色贴片LED, 靠电流驱动,电压1.8V~2.2V,电流1~20mA,在1~5mA亮度有所变化,5mA以上亮度基本不变。

 

VCC 电压是 5V,发光二极管自
身压降大概是 2V,那么在右边 R34 这个电阻上承受的电压就是 3V。

R = U/I  —— 1~20mA —— R:150~3K

 

5C语言基础

(1)、基本运算符

+  -   *   /   %   ++   --    =  ==   !=   +=   -=   <<   >>  &&   ||   !   &   |   ~   ^

(2)、循环(c语言以;表示一条语句)

for/while/do...while

for(表达式1;表达式2;表达式3)

{

       语句;//可以为空

}

while(表达式)//表达式为真,执行语句

{

        语句;//可以为空

}

do

{

        语句;//可以为空

}while(表达式);

(3)、函数 (模块化的思想)

类型  函数名(参数类型 参数)

{

    函数体;

}

(4)、数组

      <1>、具有相同数据类型

      <2>、具有相同的类型

      <3>、在存储器中连续存储

(5)、51单片机常用延时办法——循环、定时器

(P0 = ~(1 << i++);)

 

5、流水灯

给IO口一个低电平即可点亮LED灯。

注:单片机对外设的操作其实就是对IO口电平的控制。

#include <reg52.h>   //包含特殊功能寄存器定义的头文件

typedef unsigned int  uint;
typedef unsigned char uchar;

int  main(void)
{
  uint i = 0; // 定义循环变量i,用于软件延时
  uchar j = 0; // 定义计数变量j,用于移位控制

  while(1)  // 主循环,程序无限循环执行该循环体语句
  {
    P0 = ~(1 << j++); // P0等于1左移j位,控制8个LED

    for(i = 0; i < 20000; ++i);  //软件延时

    if(j >= 8)   //移位计数超过7后,再重新从0开始
    {
      j = 0;
    }
  }

  return 0;
}

2019-05-19 14:42:31 DC_Lord 阅读数 687
  • 单片机到底是个什么东西-1.2.第1季第2部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第2个课程,用通俗易懂的语言讲了很多和单片机有关的技术概念,如CPU、ROM、RAM、外设、电路板、软件硬件工作的差别等。目的是希望大家在轻松愉悦的氛围中对单片机加深认识。

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

STM32单片机最小系统电路(洋桃电子 入门一百步第十七步)**

最小系统(单片机能够保持最基本工作的电路)

1.内部(电源供电即可)

2.

3.USRT串口
4.单片机启动模式设置选项

1.内部

内部:内核、存储器(电源供电即可)

2.外部

2.1时钟

时钟:RC振荡器(内部)、晶体振荡器(外部)可外接

YI(32.768KHz外部低速晶振):用于内部RTC电路、不可修改(不使用内部RTC或使用内部RC震荡时可省)
Y2(8MHz外部高速晶振):可修改(4~16)(使用内部RC震荡时可省)

2.2复位

复位:内部自动复位,可外接

复位电路(内部有上电复位功能,此指手动外部复位)
复位按键与电容并联,消除按键抖动,按键开关对应开发板上的NRST,上联R形成外部RC复位(不需要可不连接)

2.3电源管理

电源管理:外接

电源 3.3V电源输入(3路逻辑,一路模拟)
因对ADC模拟电路读取的电压值没有特别精准要求,故模拟和逻辑可共用
逻辑电源部分并联滤波电容

3.USTRT串口

单片机RXD(RX)连接电脑端TXD(TX)
单片机TXD连接电脑端RXD

4.单片机启动模式设置选项

BOOT1和BOOT0
|BOOT1| BOOT0 |
| X | 0 | FLASH ISP 主闪存存储器被选为启动区域 从FLSH中启动(正常启动)
| 0 | 1 | BOOTLOADER 系统存存储器被选为启动区域  ST公司制作用于ISP下载的程序,用户不可修改
| 1 | 1 | RAM ISP 内置SRAM被选为启动区域 主要用于测试阶段的下载,下载速度快断电丢失

2018-03-31 11:49:11 smartboy_tao 阅读数 1225
  • 单片机到底是个什么东西-1.2.第1季第2部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第2个课程,用通俗易懂的语言讲了很多和单片机有关的技术概念,如CPU、ROM、RAM、外设、电路板、软件硬件工作的差别等。目的是希望大家在轻松愉悦的氛围中对单片机加深认识。

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


上期在《单片机入门(1)》中,我们讲解了单片机的基础知识。本期让我们来学习单片机必须具有的硬件电路(外围功能电路)。这样,下期就可以将挑战一个实际单片机的运行了!


“动力”―电源电路

上期我们学习了单片机的基本构成和工作原理。想必大家对单片机的工作原理已经有了大致的了解。这次我们将举例说明单片机工作所必须的硬件电路(外围功能电路)。

我们将以瑞萨电子的新一代产品,通用型单片机“RL78族(RL78/G14)”为例进行说明。


与迄今为止所学的各种电路相同,单片机的工作也需要电源。因此,单片机的外部都连接有象电池等电源部分。

请看图1,是“RL78族(RL78/G14)”的引脚配置,该产品有64个引脚。电源有2个引脚是13/14号(VSS/EVSS0)和15/16号 (VDD/EVDD0),


13号引脚(VSS)和14号引脚 (EVSS0)连接GND

15号引脚VDD和16号引脚 (EVDD0)连接电源正极

参阅“RL78族(RL78/G14)”数据手册(或硬件手册),您会发现“电源电圧VDD = 1.6~5.5 V”。这是指当电源电压处于1.6V到5.5V之间时,可以保证单片机的正常工作。这个电压范围称为工作电源电压。在有些单片机数据手册上把这个范围称为推荐工作电压范围。

img_01.jpg (88.7 KB, 下载次数: 0)

下载附件  保存到相册

前天 11:04 上传

图1:“RL78族(RL78/G14)”(64引脚)的引脚连接图


图2是 “RL78族(RL78/G14)”的电源引脚连接的一个例子。


与15号引脚连接的C1称为旁路电容。可以防止因瞬间大电流引起的电源电压下降,而导致的单片机的误动作。通常选择0.01μF~0.1μF的陶瓷电容作为旁路电容。

“RL78/G14”的内部电路工作电圧是通过内部电压调节器调节电源电压得到的,内部电路的工作电压是1.8或2.1V。为了保证内部电压调节器的稳定性,在12号引脚上也连接了电容C2。

img_02.jpg (89.21 KB, 下载次数: 0)

下载附件  保存到相册

前天 11:04 上传

图2:“RL78族(RL78/G14)”(64引脚)的电源电路连接实例


“总指挥”―振荡电路

正如数字电路入门③中所讲的那样,时序电路是按时钟信号(CK)的上升沿(信号从L→H的变化)或下降沿(信号从H→L的变化)同步工作的。单片机是由时序电路构成的,所以,要在外部连接一个振荡电路提供时钟信号。象这样从单片机的外部输入的时钟信号称为“外部时钟信号”。


图3是单片机(RL78/G14)接连一个振荡电路的例子。晶体振荡器被连接在X1和X2之间。

从图上可以看出一个外部时钟信号可以驱动单片机内部中的2个时钟振荡器。


主时钟振荡器主要用作CPU的工作时钟

子时钟振荡器主要用作外围电路和实时时钟的工作时钟

img_03.jpg (19.76 KB, 下载次数: 0)

下载附件  保存到相册

前天 11:04 上传

图3:振荡电路的作用


在内部外围功能十分强大的“RL78族(RL78/G14)”上内部有频率偏差仅为1%的高精度振荡电路。因此,无需从外部提供时钟信号 。这种单片机上内部的时钟产生电路称为“内部振荡器”。因为不需要外部振荡电路,减少了设计工序,降低了成本。


类似这样只要备有“内部振荡器”,大家可能认为就可以“无需从外部提供时钟信号”。但实际上在电子手表中,通常使用频率几乎不随温度而变化的、更加精确的晶体振荡器。


「闹钟」―复位电路

刚刚接通电源的单片机内部处于不稳定的状态,CPU无法正常运转。因此,就需要进行单片机状态初始化,这就叫做复位。单片机带有复位信号输入引脚,可以将这个信号调至低电平状态后让单片机复位。也就是说通过输入复位信号来彻底叫醒单片机进入工作状态。


接下来讲解一下复位的时序(图4)。只有在向单片机提供稳定的时钟信号和电源的状态下才能实现复位,同时需将复位信号调至低电平。为了实现这种状态,需要将相比电源上电稍迟一步上电的电路与复位输入引脚相连接。这种电路在电源上电后通过电阻电流慢慢流向电容,电压缓缓上升。因此,电源上电后经过一段时间可以形成解除复位的电 路。这种外部电路称为“上电复位电路”。

img_04.jpg (34.73 KB, 下载次数: 0)

下载附件  保存到相册

前天 11:04 上传

图4:简易复位电路及其波形


如上图4所示,上电复位电路左侧的电路称为“手动按钮复位电路”。这是通过手动按下按钮后让单片机进入初始化状态的电路。


普通单片机上复位信号必须在一定时间内保持低电平。具体时间记载在硬件手册和数据手册上。必须根据这个时间的长短来确定电阻R和电容C。


而“RL78族(RL78/G14)”采用的是内部型上电复位电路。因此,只要提供超过工作电压的电源,就可以叫醒单片机进入工作状态。真是太方便了!


2019-11-25 20:49:12 qq_28877125 阅读数 50
  • 单片机到底是个什么东西-1.2.第1季第2部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第2个课程,用通俗易懂的语言讲了很多和单片机有关的技术概念,如CPU、ROM、RAM、外设、电路板、软件硬件工作的差别等。目的是希望大家在轻松愉悦的氛围中对单片机加深认识。

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

 在嵌入式(单片机)开发过程中,会有测量电流的需求。涉及到的有:

  • uA 级别的
  • mA 级别的
  • A 级别的

以上的需求电路都可以有一个基本的电路(如下):同相放大电路

  • VDD–R6–GND:代表待测电路,R6为负载
  • U1是这个同相放大电路的放大器
  • R4是测量电阻(1KΩ意味着它是用于检测小电流的uA级别的)
  • 放大倍数为10倍:(R3+R2)/R1

如果这是一个理想电路的话,待测电路中的电流为100uA(500KΩ)那在测量电阻上的电压就是100uA*1KΩ = 10mV经过10倍放大之后就是100mV。经过单片机的ADC采样就可以推算出电流值了。
在这里插入图片描述

测量范围

 上面那个电路的测量范围可以这么计算,前提设置为ADC参考电压为Vref = 0.6V,即放大器的输出端的最大输出电压就是VAout = 0.6V,因为放大器的放大倍数为10倍所以放大器输入电压就是VAin = 0.06V。
 电流加载在电阻上面会有电压,通过这个基本原理就可以计算出该电路的最大测量电流为:Icmax = VAin/Rc = 0.06V/1000Ω = 0.00006A = 60uA。

进一步

 进一步来说,在这个电路的基础上通过更改R4的阻值就可以测量一个很大范围的电流值了,在实际应用过程中通过设置多路的测量电路,每一路设置不同的测量电阻,然后通过单片机控制各路的切换来达到精确的电流测量。比如可以设置:

测量电阻可选:

  • 1000Ω—用于测量最大电流为60uA的电流
  • 120Ω—用于测量最大电流为500uA的电流
  • 15Ω—用于测量最大电流为4mA的电流
  • 2.3Ω—用于测量最大电流为26mA的电流
  • 0.23Ω—用于测量最大电流为260mA的电流
  • 0.02Ω—用于测量最大电流为3A的电流

 通过使用比较器(单片机内部比较器或外部比较器)可以及时的转换相应的通道(比较电压0.6V检测信号高或低)。

单片机小学期总结

阅读数 1016

单片机课程设计

阅读数 679

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