8051F系列嵌入式处理

  • 格式:ppt
  • 大小:1.88 MB
  • 文档页数:50

下载文档原格式

  / 50
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10khz
100khz 1mhz
10000
100000 1000000
20000
200000
30000
P0 .7 P0 .6 / CNV STR P0 .5 / RX P0 .4 / TX C8 0 5 1 F4 1 0 / 2 P0 .3 P0 .2 P0 .1 / ID AC1 P0 .0 / ID AC0
24 23 22 21 20 19 18 17
GN D
J1 1 2
J2 1 2
P1 . 3 P1 . 4 P1 . 5 P1 . 6 P1 . 7
F410外部中断
• 两个外部中断源 /INT0和/INT1可被 配置为低电平有效 或高电平有效,边 沿触发或电平触发。 • IT0、IT1在TCON 中。 • IN0PL、IN1PL在 IT01CF中。
IT01CF
F410外部中断
• /INT0和/INT1所使用 的端口引脚在IT01CF 寄存器中定义。 • /INT0和/INT1监视分 配给它们的端口引脚, 不影响被交叉开关分 配了相同引脚的外设。 • 如果要将一个端口引 脚只分配给/INT0或 /INT1,则应使交叉开 关跳过这个引脚。
留出外接 晶振电路
19 0 11 12 13 14 15 16
R4 2K
R5 2K
制作项目(二)
• 模拟量接口
– 电源电压电流检测(ADC) – 函数发生器(DAC)
• 掌握ADC、DAC应用
制作项目(三)
• PCA应用
– 方波发生器(函数发生器)
频段 10hz 100hz 1khz 10 100 1000 20 200 2000 30 300 3000 步进 40 400 4000 50 500 5000 60 600 6000 75 750 7500
U1 C8 0 5 1 F4 1 0
32 31 30 29 28 27 26 25
1
C2 0 .1
C3 10u +3 .3 V
P1 . 0 /XTA L1 P1 . 1 /XTA L2
P1 . 2 /VR EF
Vi o RST/ C2 CK Vrtc-b ack u p XTAL4 XTAL3 GND VDD Vreg i n
• 频率 24.5MHZ • 可分频,可微调 • 频率 80KHZ • 可分频,可微调 ±2%
– 内部可编程低频时钟振荡器
– 外部振荡器
• 石英晶体 R-C C
CPU
• 复位:
– 7 个复位源:
• • • • • • • 片内 VDD监视器复位 看门狗定时器复位 时钟丢失检测器复位 由比较器 0 提供的电压检测器复位 FLASH错误复位 强制软件复位 /RST 引脚复位,该 引脚是双向的,可接受外部复位或将内部 产生的上电复位信号输出到/RST 引脚。
• C2调试接口占1位I/O线(P2.7) • 仅余4位I/O线
改进方案(一)
• LCD1602采用四位驱动 • 节省5位I/O线
改进方案(二)
• AD转换键盘
占用1位I/O线
VREF
R0
R1 R2 R3
51
100 51 36
8位AD结果
220 206 194
R0
R1
R2
R3
R16
R4
R5 R6 R7
8051F410 嵌入式处理器
主要特点
要求
• 熟悉8051F410内部硬件资源 • 掌握主要部件的设置应用 – 并行口与交叉开关 –看门狗
– – – – – 定时计数器 ADC、DAC、基准源 PCA 中断 FLASH存储器
–时钟
–复位
• 熟练掌握JTAG仿真器、 Silicon IDE和 Configuration的使用
F410
F410 优先权 交叉开 关
I/O端口初始化
• I/O端口初始化包括以下步骤:
– 第一步:用端口输入方式寄存器(PnMDIN)选择所有 端口引脚的输入方式(模拟或数字)。 – 第二步:用端口输出方式寄存器(PnMDOUT)选择所 有端口引脚的输出方式(漏极开路或推挽)。 – 第三步:用端口跳过寄存器(PnSKIP)选择应被交叉 开关跳过的那些引脚。 – 第四步:用XBRn寄存器将引脚分配给要使用的外设。 – 第五步:使能交叉开关(XBARE = 1)。
FLASH存储器
• • • • 程序存储器为可在系统编程的FLASH存储器 程序存储器 512 字节为一个扇区 容量 32K FLASH存储器可以作为非易失数据存储器使用
– – – – – 可以在系统擦除 用MOVX指令写入 用MOVC指令读出 擦除、写入按扇区操作。 擦写周期10万次
并行接口
• 24位I/O • 大电流驱动
模数转换器ADC
• 多种启动方式:
– 软件命令 – 定时器2溢出 – 定时器3溢出 – 外部信号输入等
• ADC数据比较寄存器可被配置为当ADC数 据位于一个规定的窗口之内时向控制器申 请中断。
可编程窗口检测器
ADC可编程窗口检测器不停地将ADC0输出与用户设定的极 限值进行比较,并在检测到所要求的条件时用中断通知系 统控制器。
仿真器接口
+5 V R1 1k +3 .3 V C2 POR T 1 3 5 7 9 2 4 6 8 10 R3 1k
C1
0 .1
R2
1k
U2 AS1 1 1 7 Vi n Vo u t 2
+3 .3 V
+5 V 1 2 3 4 5 6 7 8
P2 . 7 /C2 D
P2 . 6 P2 . 5 P2 . 4 P2 . 3 P2源自文库. 2 P2 . 1 P2 . 0
模数转换器ADC
• 由逐次逼近型ADC、多通道模拟输入选择 器和可编程增益放大器组成。 • 高精度 高速度
– 12位 100ksps
• 内部电压基准和内部温度传感器 • 多路输入 最多24路 • ADC工作在单端方式,所有信号测量都是 相对于GND的。
F410ADC0
• 27通道 输入 • 12位精 度 • 最高 200kps 速率
– 0.25mA – 0.5mA – 1mA – 2mA
• 输出方式
– 电流输出
• 输出引脚
– P0.0 P0.1
• 更新模式
– 写IDAC数据寄存器 – 定时器溢出 – 外部引脚边沿
比较器
• 2路电压比较器 • 可以用软件设置比较器的回差电压 • 每个比较器都能在上升沿、下降沿或在两 个边沿产生中断 • 比较器的输出状态可以用软件查询 • 比较器中断能将MCU从等待方式唤醒 • 可通过设置交叉开关将比较器的输出接到 端口I/O引脚
– 灌电流 25mA – 拉电流 10mA
• 耐5V电压
并行接口
• 多种工作方式
– 弱上拉 推挽 OC – 模拟 数字
• 优先权交叉开关:这是一个大的数字开关网络, 允许将内部数字系统资源分配给端口I/O引脚。
– 可通过设置交叉开关控制寄存器将片内的定时/计数器、 串行总线、硬件中断、ADC转换启动输入、比较器输 出以及微控制器内部的其它数字信号配置在端口I/O引 脚。允许用户根据自己的特定应用选择通用端口I/O和 所需数字资源的组合。
制作项目(一)
• 显示接口
– CH452驱动8位LED数码管 – 驱动LCD1602液晶模块 – 掌握并行接口及交叉开关配置
• 键盘接口
– CH452驱动4X4键盘 – 并行口驱动4X4键盘 – ADC驱动键盘
I/O资源分配
• 实现上述要求需要占用I/O资源:
– CH452+LED方案 CH452(包括8位LED、4X4键盘)与单片机连接
定时/计数器
• 四个16位定时/计数器
– 定时/计数器0与定时/计数器1与8051相同 – 定时/计数器2与定时/计数器3
• 具有自动再装入功能的16位定时/计数器
中断
• 多中断源
– F410 17个中断源
• 中断向量顺延 • 两个中断优先级 • 多个IE IP寄存器
F410 中 断 一 览 表
24
18 15 12 10 9.1 8.2 7.5 6.8
182
170 159 146 134 122 108 93 76
TO ADC
R8 R9 R10
250
200
R11 R12
150
R13
100
5.1
4.3 3.3 2.4 0
58
41 25 11 0
R14 R15 R16 R17
50
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
ADC0检测值大于下限寄存器(ADC0GTH:ADC0GTL) ADC0检测值小于上限寄存器(ADC0LTH:ADC0LTL)
模数转换器ADC
• 电压基准 (Vref)
– 内部基准电压
• 1.5V 或 2.2V
– 电源电压 – 外接基准电压
数模转换器DAC
• 2路DAC • 精度
– 12位
• DAC满度输出电流
– 前 32 个字节为 4个通用工作寄存器区 – 接下来的 16 字节既可以按字节寻址也可以按位寻址。
• 使用外部数据存储器地址空间的 扩充RAM(xdata)
– 容量 2048 Byte
F410特殊功能寄存器(SFR)
地址 F8 F0 E8 E0 D8 D0 C8 C0 B8 B0 A8 A0 98 90 88 80 0(8) SPI0CN B ADC0CN ACC PCA0CN PSW TMR2CN SMB0CN IP P0ODEN IE P2 SCON0 P1 TCON P0 可位寻址 1(9) PCA0L P0MDIN PCA0CPL1 XBR0 PCA0MD REF0CN REG0CN SMB0CF IDA0CN OSCXCN CLKSEL SPI0CFG SBUF0 TMR3CN TMOD SP 2(A) PCA0H P1MDIN PCA0CPH1 XBR1 PCA0CPM0 PCA0CPL5 TMR2RLL SMB0DAT ADC0TK OSCICN EMI0CN SPI0CKR CPT1CN TMR3RLL TL0 DPL 3(B) PCA0CPL0 P2MDIN PCA0CPL2 PFE0CN PCA0CPM1 PCA0CPH5 TMR2RLH ADC0GTL ADC0MX OSCICL CLKMUL SPI0DAT CPT0CN TMR3RLH TL1 DPH RTC0ADR P0MDOUT CPT1MD TMR3L TH0 CRC0CN 4(C) PCA0CPH0 IDA1L PCA0CPH2 IT01CF PCA0CPM2 P0SKIP TMR2L ADC0GTH ADC0CF PCA0CPM3 P1SKIP TMR2H ADC0LTL ADC0L IDA1CN RTC0DAT P1MDOUT CPT0MD TMR3H TH1 CRC0IN 5(D) PCA0CPL4 IDA1H PCA0CPL3 6(E) PCA0CPH4 EIP1 PCA0CPH3 EIE1 PCA0CPM4 P2SKIP PCA0CPM5 ADC0LTH ADC0H FLSCL RTC0KEY P2MDOUT CPT1MX IDA0L CKCON CRC0DAT CPT0MX IDA0H PSCTL PCON 7(F) VDM0CN EIP2 RSTSRC EIE2 CRC0FLIP P0MAT P1MAT P0MASK P1MASK FLKEY ONESHOT
– 除了 VDD监视器和复位输入引脚以外,每个复位源都 可以由用户用软件禁止。
数据存储器
• 有标准 8052 的数据存储器配置(data)
– 包括 256 字节的数据 RAM,其中高 128字节为两个地 址空间。
• 数据 RAM 的低 128 字节可用直接或间接寻址方式访问。 • 用间接寻址访问通用 RAM 的高 128 字节 • 用直接寻址访问 128 字节的 SFR 地址空间。
• SDA、SCL、INT 占用3位I/O线
– C2调试接口占1位I/O线(P2.7) – 若需要精确定时,还要外接晶振电路,占用2 位I/O线。 – 还有17位I/O线供其他应用。
I/O资源分配
• LCD1602方案
– LCD1602占用11位I/O线
• RS、RW、E • DB0~DB7
– 4X4键盘占用8位I/O线
F410 引脚图
LQFP 32
9mm X 9mm
410转接板
CPU
• 51单片机内核:
– 与 MCS-51 指令集完全兼容 – 采用流水线结构,机器周期由标准的 12 个系 统时钟周期降为 1 个系统时钟周期。 – 时钟频率最高25MHZ~100MHZ(F120)
CPU
• 时钟
– 内部可编程高频时钟振荡器