微控制器基础与应用详解

1、什么是微控制器?什么是微处理器?请解释微处理器和微控制器的主要区别。

微控制器是一种单芯片计算机,“微”表示设备体积小,“控制器”表示用于控制应用,也被称为嵌入式控制器,大多数会嵌入到所控制的设备中。微处理器是计算机的核心部件,负责执行指令和处理数据。

微处理器和微控制器的主要区别在于:

  • 微处理器运行需要程序存储器、数据存储器、输入输出设备和外部时钟电路等其他组件;
  • 而微控制器将所有支持芯片集成在单个芯片内。

2、列举一些你身边微控制器的应用。

  • 微控制器在身边的应用有很多,办公设备如个人电脑、激光打印机、传真机、智能电话;
  • 消费电子产品如CD播放器、高保真音响设备、视频游戏、洗衣机、炊具等。

3、EPROM 内存会在哪些场景使用?

  • 许多微控制器的开发版本采用 EPROM 内存来存储用户程序,用户可对其进行擦除和重新编程,直至对程序满意。
  • 此外,OTP(一次性可编程)这种特殊的 EPROM 版本,在项目完全开发完成且需要制作大量程序内存副本时很有用。

4、解释微控制器通常使用的内存类型。

微控制器内存类型

微控制器通常使用的内存类型可分为 程序内存 数据内存

  • 程序内存 :存储程序员编写的程序,通常是非易失性的。
  • 数据内存 :存储程序中使用的临时数据,通常是易失性的。

具体类型

  1. RAM(随机存取存储器)
    - 通用内存,用于存储程序中的用户数据。
    - 是易失性的。
    - 多数微控制器有一定量的内部 RAM。
    - 可通过添加外部内存芯片进行扩展。

  2. ROM(只读存储器)
    - 通常用于保存程序或固定的用户数据。
    - 是非易失性的。
    - 在制造过程中编程,用户不能更改其内容。

  3. PROM(可编程只读存储器)
    - 一种可在现场由最终用户使用 PROM 编程器进行编程的 ROM。
    - 一旦编程,内容不能更改。
    - 常用于低产量应用。

5、什么是输入 - 输出端口?

在PIC微控制器中,输入-输出端口有 PORTA PORTB PORTC 等名称。端口引脚有 模拟 数字 两种模式:

  • 模拟模式 :端口仅为输入,使用内置的模数转换器和多路复用器电路;
  • 数字模式 :端口引脚可配置为输入或输出,由 TRIS 寄存器控制端口方向。

端口可作为一个8位寄存器访问,也可访问其单个位。

6、什么是模数转换器?请举例说明该转换器的使用方式。

模数转换器(A/D)是微控制器的重要外围组件,它能将模拟输入电压转换为数字信号,以便由微控制器或其他数字系统进行处理。

例如在信号处理应用中,由于信号本身是双极性的,常使用 双极性A/D转换器 ;在许多控制和仪表应用中,通常使用价格较为便宜的 单极性A/D转换器

在读取和转换模拟信号为数字形式的过程(即信号调理)中,来自传感器的信号需先进行缩放处理到正确值,再通过经典滤波器去除不需要的信号成分,接着通过采样保持设备,以确保在实际转换过程中信号保持恒定值。

若有多个A/D需求,会在A/D输入处使用 模拟多路复用器 ,它每次只选择一个信号并将其提供给A/D转换器。

PIC18F452 微控制器 使用的A/D转换器为例:

  • 参考电压:+5V
  • 电压步长值:4.89mV

当输入电压为 1.0V 时,转换器将生成十进制数字输出:
$$
\frac{1.0}{4.89 \times 10^{-3}} \approx 204.5 \approx 205
$$

当输入电压为 3.0V 时,转换器将生成十进制数字输出:
$$
\frac{3.0}{4.89 \times 10^{-3}} \approx 613.5 \approx 613
$$

7、解释为什么看门狗定时器在实时系统中可能有用。

在实时系统中,需要定期检查一个或多个活动是否成功完成。看门狗定时器本质上是一个由用户程序刷新的定时器,若程序未能刷新它,就会触发复位。它可检测系统问题,如程序陷入死循环,防止软件失控,避免微控制器执行无意义和不需要的代码,保障系统正常运行。

8、什么是中断?解释当微控制器识别到中断时会发生什么?

中断是微控制器中的一个重要概念,它使微控制器能够快速响应外部和内部(如定时器)事件。当微控制器识别到中断时,它会离开正常的程序执行流程,跳转到程序中被称为 中断服务子程序(ISR) 的特殊部分,执行ISR中的程序代码,执行完毕从ISR返回后,程序恢复正常执行流程。

9、将以下二进制数转换为十进制数:a) 1111 b) 0110 c) 11110000 d) 00001111 e) 10101010 f) 10000000

a) $(1111)_2 = 1×2^3 + 1×2^2 + 1×2^1 + 1×2^0 = 8 + 4 + 2 + 1 = 15$;
b) $(0110)_2 = 0×2^3 + 1×2^2 + 1×2^1 + 0×2^0 = 0 + 4 + 2 + 0 = 6$;
c) $(11110000)_2 = 1×2^7 + 1×2^6 + 1×2^5 + 1×2^4 + 0×2^3 + 0×2^2 + 0×2^1 + 0×2^0 = 128 + 64 + 32 + 16 + 0 + 0 + 0 + 0 = 240$;
d) $(00001111)_2 = 0×2^7 + 0×2^6 + 0×2^5 + 0×2^4 + 1×2^3 + 1×2^2 + 1×2^1 + 1×2^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值