当前位置: 首页 > news >正文

中微单片机学习--SC8F072

目录

1、引脚分布

​2、系统配置

3、系统时钟

4、时钟框图​编辑

4、复位系统

5、休眠模式

(1)进入休眠模式

(2)从休眠状态唤醒

(3)使用中断唤醒

6、IO配置

7、中断

(1)中断源

(2)中断原理

(3)中断相关寄存器

8、定时器TIMER0

(1)TIMER0/WDT结构图​编辑

(2)定时器TIMER0工作原理

(3)相关寄存器

9、定时器TIMER2

(1)TIMER2结构图​编辑

(2)定时器TIMER2工作原理

(3)TIMER2相关寄存器

10、10位PWM

11、模数转换ADC

(1)ADC框图

(2)ADC工作原理

(3)AD转换步骤

(4)ADC相关寄存器


1、引脚分布

2、系统配置

WDT

ENABLE:打开看门狗

DISABLE:关闭看门狗

PROTECT

ENABLE:ROM代码加密

DISABLE:ROM代码不加密

FCPU_DIV

(指令时钟分频)

4T:Fcpu=Fsys/4

2T:Fcpu=Fsys/2

ICSPPORT_SEL

(仿真口功能选择)

ICSP:ICSPCLK、DAT口一直保持为仿真口、所有功能不可用

NORMAL:ICSPCLK、DAT口为普通功能口

EXT_RESET

(外部复位口选择)

ENABLE:使能外部复位功能,RB2为外部复位口

DISABLE:禁止外部复位功能,RB2为普通IO口

LVR_SEL

(低压侦测选择)

1.8V

2.0V

2.5V

3.0V

注:如果 CONFIG WDT 配置位 =1 ,则 WDT 始终被使能,而与 SWDTEN 控制位的状态无关。如 果 CONFIG WDT 配置位 =0 ,则可以使用 SWDTEN 控制位使能或禁止 WDT

3、系统时钟

        芯片默认的振荡方式为内部 RC 振荡,振荡频率固定为 16MHz ,在这个基础上可通过 OSCCON 寄存器设 置芯片工作频率。起振时间( ResetTime )是指从芯片复位到芯片振荡稳定这段时间,其设计值为 16ms

4、时钟框图

4、复位系统

芯片可用以下4种复位方式:上电复位、外部复位、LVR复位、正常工作下看门狗溢出复位。

5、休眠模式

(1)进入休眠模式

        由STOP指令可进入休眠模式。

(2)从休眠状态唤醒

  • 看门狗定时器唤醒;
  • INT 中断;
  • PORTB 电平变化中断;
  • PORTA 电平变化中断或外设中断。

(3)使用中断唤醒

        当禁止全局中断(GIE 被清零)时,并且有任一中断源将其中断允许位和中断标志位置 1 ,将会发生下列 事件之一。
  • 如果在执行 STOP 指令之前产生了中断,那么 STOP 指令将被作为一条 NOP 指令执行
  • 如果在执行 STOP 指令期间或之后产生了中断,那么器件将被立即从休眠模式唤醒。

6、IO配置

PORTx数据寄存器
TRISx方向寄存器
ODCONx开漏输出使能寄存器
ANSELx模拟选择寄存器
WPUx上拉电阻寄存器
WPDx下拉电阻寄存器
IOCxPORTx电平变化中断寄存器
注:当用户读一个 I/O 口状态时,若此 I/O 口为输入口,则用户读回的数据将是此口线外部电平的状态, 若此 I/O 口为输出口那么读出的值将会是此口线内部输出寄存器的数据。

7、中断

(1)中断源

PORTA 电平变化中断
PORTB 电平变化中断
TIMER0 溢出中断
TIMER2 匹配中断
PWM 中断
INT 中断
CMP 中断
A/D 中断

(2)中断原理

(3)中断相关寄存器

8、定时器TIMER0

(1)TIMER0/WDT结构图

(2)定时器TIMER0工作原理

TIMER0 模块既可用作 8 位定时器也可用作 8 位计数器。
用作定时器时, TIMER0 模块将在每个指令周期递增(不带预分频器)。
用作计数器时, TIMER0 模块将在 T0CKI 引脚的每个上升沿或下降沿递增。
TIMER0 和看门狗定时器( WDT )共用一个软件可编程预分频器,但不能同时使用。
注:只有将时钟源选择 FLSE 时, TIMER0 中断才能唤醒处理器。

(3)相关寄存器

9、定时器TIMER2

(1)TIMER2结构图

(2)定时器TIMER2工作原理

TIMER2 模块的输入时钟是系统指令时钟(FSYS/4)或外部 32.768kHz 振荡(FLSE)。 时钟被输入到 TIMER2 预分频器,有如下几种分频比可供选择:1:11:4 1:16

通过将 T2CON 寄存器的 TMR2ON 位置 1 使能 TIMER2;通过将 TMR2ON 位清零禁止 TIMER2

(3)TIMER2相关寄存器

10、10位PWM

芯片包含一个 10 PWM 模块,可配置为 4 路共用周期、独立占空比的输出,和 1 路独立周期、独立占 空比的输出,或 2 组互补输出.。
PWM周期:
                T_{PWM}=(PWMT+1)*T_{HSI}*CLKDIV (T_{HSI}=1/F_{HSI})
脉冲宽度:
                 (PWMD+1)*T_{HSI}*CLKDIV
占空比:
                                         \frac{PWMD+1}{PWMT+1}

11、模数转换ADC

        模数转换器(ADC )可以将模拟输入信号转换为表示该信号的一个 12 位二进制数。ADC 参考电压可选择内部 LDO 或 VDD。ADC 在转换完成之后可以产生一个中断。

(1)ADC框图

(2)ADC工作原理

        要使能ADC模块,必须将ADCON0寄存器的ADON位置为1,将ADCON0寄存器的GO/DONE位置1开始模数转换。

(3)AD转换步骤

1. 端口配置:
将引脚配置为输入引脚(见 TRIS 寄存器)。
2. 配置 ADC 模块:
选择 ADC 转换时钟;
选择 ADC 输入通道;
选择结果的格式;
启动 ADC 模块。
3. 配置 ADC 中断(可选):
清零 ADC 中断标志位;
允许 ADC 中断;
允许外设中断;
允许全局中断。
4. 等待所需的采集时间。
5. GO/DONE 1 启动转换。
6. 由如下方法之一等待 ADC 转换结束:
查询 GO / DONE 位;
等待 ADC 中断(允许中断)。
7. ADC 结果。
8. ADC 中断标志位清零(如果允许中断的话,需要进行此操作)。

(4)ADC相关寄存器

相关文章:

  • 【蓝桥杯速成】| 8.回溯算法
  • C语言 第五章 指针(3)
  • 实用工具-Another Redis Desktop Manager介绍
  • electron桌面应用多种快速创建方法
  • 如何通过Odoo 18创建与配置服务器操作
  • 楼宇自控系统的结构密码:总线与分布式结构方式的差异与应用
  • Jackson 库进行 JSON 序列化时遇到了 ‌无限递归(Infinite Recursion)‌ 问题
  • 嵌入式笔记 | 正点原子STM32F103ZET6 5 | 串口通信
  • kafka的文章
  • C#从入门到精通(1)
  • 路由Vue Router基本用法
  • QEMU 中 x86_cpu_realizefn 到 ept_emulation_fault 的调用流程解析(macos)
  • 数据库的两种模式
  • 国内首家,百度智能云千帆AppBuilder全面兼容MCP协议
  • dfs(二十一)46. 全排列 中等
  • 【Linux】信号:产生信号
  • 夜莺监控 v8.0 新版通知规则 | 对接飞书告警
  • 【数据分析】数据筛选与访问行列元素3
  • VLLM专题(十九)—兼容 OpenAI 的服务器
  • [极客大挑战 2019]Http_3.19BUUCTF练习day3(1)
  • 金地集团:今年前4个月实现销售额109.3亿元,同比下降52.44%
  • 七大交响乐团“神仙斗法”,时代交响在上海奏出时代新声
  • 国务院安委会办公室印发通知:坚决防范遏制重特大事故发生
  • 全国铁路五一假期累计发送1.51亿人次,多项运输指标创历史新高
  • 经济日报头版刊文:为什么贸易战没有出路
  • 赵心童世锦赛历史性夺冠,你今天打斯诺克很可能订不到位