电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

讲稿《嵌入式系统应用技术》“三”

98页
  • 卖家[上传人]:xzh****18
  • 文档编号:56611168
  • 上传时间:2018-10-14
  • 文档格式:PPT
  • 文档大小:858KB
  • / 98 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、嵌入式系统应用技术,三、C8051F310+C51应用实例赵玉昆,实例,实例1 通用I/O端口 实例2 A/D转换 实例3 温度测量 实例4 定时器及中断 实例5 UART应用 实例6 SMBus应用(24C0X) 实例7 I2C应用(ZLG7290) 实例8 I2C应用(PCF8563T),实例1 通用I/O端口,1.1 C8051F310端口的特殊性 1.2 通用I/O端口实例 1.3 提高题,1.1 C8051F310端口的特殊性,C8051F310有29个 I/O 引脚(P0、P1、P2、P3-5脚) 通过交叉开关可以使引脚分配给数字外设、模拟外设 未分配给的管脚作为通用 I/O(GPIO) (1)端口相关寄存器 (2)I/O 端口初始化 (3)I/O 端口初始化举例,(1)端口相关寄存器,Pn: 端口寄存器 PnMDIN: 输入方式 1=数字输入,0=模拟输入 PnMDOUT: 输出方式 0=开漏输出,1=推挽输出 PnSKIP: 端口跳过 0=不跳过, 1=跳过 XBR0、XBR1: 交叉开关 0=不分配, 1=分配数字外设其中n=03 为复位值,(2)交叉开关,P0.0P

      2、2.3管脚,通过交叉开关,分配给GPIO或数字外设 P2.4P3.4管脚,不通过交叉开关,不分配给数字外设。,UART SMBus 等,P0.07 P1.07 P2.03,交叉 开关,P0.0脚,P2.4脚,P3.4脚,P2.47 P3.04,。,P2.3脚,.,XBR0,XBR1,PnSKIP,(3)I/O 端口初始化,端口 I/O 初始化(教科书P47) 1 输入方式(PnMDIN),端口引脚的输入方式(模拟或数字)。 2 输出方式(PnMDOUT),端口引脚的输出方式(开漏或推挽)。 3 端口跳过寄存器(PnSKIP),交叉开关跳过的引脚。 4 将引脚分配给要使用的外设。(XBR0、XBR1) 5 使能交叉开关(XBARE =1)。 说明:通用I/O端口(P0.0-P2.3)的初始化要做第1、2、5步。通用I/O端口(P2.4-P3.4)的初始化只要做第1、2步。,(3)I/O 端口初始化举例,例如:C8051F310目标板上的发光管D2接到了P3.3脚,按钮S2接到了P0.7脚,模拟量接到了P2.4脚。P3.3做数字输出、 P0.7做数字输入、 P2.4做模拟输入P3MDIN

      3、= 0xff; /P3.3做数字输入(默认)P3MDOUT = 0x08; /P3.3推挽输出P0MDIN = 0xff; /P0.7做数字输入(默认)P2MDIN = 0xef; /P2.4做模拟输入,1.2 通用 I/O 端口应用实例,例题:C8051F310目标板上的发光管D2接到了P3.3脚,按钮S2接到了P0.7脚,模拟量接到了P2.4脚。要求:松开S2则D2慢闪,按住S2则D2快闪。,1.2 通用 I/O 端口应用实例(续),#include / C8051F310的SFR定义 sbit LED =P33; / LED位定义 sbit SW =P07; / SW位定义 /- 延时 - void delay(unsigned long v) while(-v); /- 主程序 - void main(void) PCA0MD /SW按下则快闪,否则慢闪 ,1.3 提高题,(1)按一下S2,D2亮,再按一下S2,D2灭,依此类推。 (2)按下S2,D2闪亮3次,松开S2,D2闪亮2次,依此类推。 (3)用C8051F310带动DP-51实验箱,使8个LED左向、右向流水点亮。,

      4、实例2 A/D转换,2.1 C8051F310的AD转换器简介 2.2 左右对齐的例子 2.3 ADC相关寄存器 2.4 ADC 输入引脚配置 2.5 A/D转换实例 2.6 提高题,10位ADC原理框图,除P0口,2.1 C8051F310的AD转换器简介,10 位逐次逼近型 ADC, 最高采样率200ksps AMX0P:正输入:23 选 1:P1.0P3.4、温度传感 器、VDD AMX0N:负输入:22 选 1:P1.0P3.4、GND 单端方式:GND作为负输入,其余为差分方式 (略)。 ADC0H、ADC0L:转换结果 AD0LJST 位:决定转换结果左对齐或右对齐Justified 输入范围: 0 VREF*1023/1024 AD值与输入电压( VIN)的关系:,AD值 = ( ) * 1024,2.2 左右对齐的例子,单端方式时左、右对齐的例子,2.3 电压基准VREF,REF0CN: 电压基准控制寄存器REFSL:0=选择外部电压基准(来自P0.0脚)1=或内部电压基准(VDD) TEMPE:1=允许内部温度传感器工作 BIASE:1=内部偏压发生器工作(使用 AD

      5、C 时该位必须为1),2.3 ADC相关寄存器,AMUX0P:ADC 正输入通道选择寄存器AMX0P(正端选择):可选P1.0P3.4、温度传感 器、VDDAMUX0N:ADC 负输入通道选择寄存器AMX0N(负端选择):可选P1.0P3.4、GND,2.3 ADC相关寄存器(续1),ADC0CF:配置寄存器每次AD转换约需11个AD时钟脉冲 AD0SC(选择AD时钟):复位后,AD时钟=系统时钟/32 AD0LJST(左对齐) :0=右对齐最低采样率 = 24.5MHz / 32 / 11 = 70ksps 最高采样率200ksps,此时AD0SC = ?11,AD时钟频率=,2.3 ADC相关寄存器(续2),ADC0CN:控制寄存器 地址=0xE8,可位寻址AD0EN(ADC允许):1=允许ADC AD0TM(跟踪方式) :0=正常方式,一直跟踪 AD0INT(结束标志) :1=AD转换结束 AD0BUSY(忙标志):若 AD0CM000,AD0BUSY置1则启动AD转换 AD0CM(启动方式):000=向AD0BUSY 写1时启动AD转换,2.4 ADC 输入引脚配置,注意: 作

      6、为 ADC 输入的引脚应: 配置为模拟输入( PnMDIN对应位置 0 ), 使交叉开关跳过(如果是P0.0-P2.3,PnSKIP对应位置 1 ) 。,2.5 A/D转换实例,例题:按图在C8051F310目标板的J6上接一个电位器,要求:向P2.5输出高电平(=VDD),从P2.4读入模拟电压。当输入电压小于VDD一半时,发光管D2慢闪,否则快闪。,2.5 A/D转换实例(续1),#include / C8051F310的SFR定义 sbit LED=P33; / LED位定义 sbit P25=P25; / P2.5位定义 bit bKuai; / 快慢标志 /- 延时 - void delay(unsigned long v) while(-v); /- 初始化 - void First(void) PCA0MD / 允许 ADC0 ,2.5 A/D转换实例(续2),/- 主程序 - void main(void) unsigned int ad; / AD转换结果First (); / 初始化P25 = 1; / 向电位器送出+3.3V电压while(1)AD0BUSY =

      7、1; / 启动 ADC0while(!AD0INT); / 等待AD转换结束AD0INT = 0; / 清除AD转换结束标志LED = !LED; / LED闪烁delay(bKuai ? 5000 : 20000); / 快慢闪ad = ADC0H*256 + ADC0L; / 读取AD值bKuai = (ad 512); / 决定快慢 ,2.6 提高题,(1)用电位器改变输入电压,电压越高,D2闪烁越快,直至全亮;电压越低,D2闪烁越慢,直至全暗。 (2)用C8051F310带动DP-51实验箱,使8个LED流水点亮。当电压大于2/3满量程,LED左向流动,当电压1/32/3满量程,LED闪烁,当电压小于1/3满量程,LED右向流动。,实例3 温度测量,3.1 片内温度传感器简介 3.2 温度测量实例 3.3 提高题,3.1 片内温度传感器简介,要使用内部温度传感器,REF0CN.2(TEMPE)必须置1。 正端输入 AMX0P=0x1E,选择温度传感器 负端输入 AMX0N=0x1F,选择GND 温度传感器的传输函数 :mV温度=3.35*(温度)+897mV,AD值 = ( )

      8、 * 1024,当Vref = VDD = 3.3V时, 1 - 3.35mV - 3.35/3300*1024=1.04 AD值,3.2 温度测量实例,例题:利用C8051F310目标板,编程测量环境温度。当温度较低(如低于20)时,发光管D2慢闪,否则快闪。 解:Vref = VDD = 3.3V20的mV温度=3.35*20+897=964mV20的AD值=964/3300*1024=351,3.2 温度测量实例(续1),#include / C8051F310的SFR定义 sbit LED=P33; / LED位定义 bit bKuai; / 快慢标志 /- 延时 - void delay(unsigned long v) while(-v); /- 初始化 - void First(void) PCA0MD / 允许 ADC0 ,3.2 温度测量实例(续2),/- 主程序 - void main(void) unsigned int ad; / AD转换结果First (); / 初始化while(1)AD0BUSY = 1; / 启动 ADC0while(!AD0INT);

      9、 / 等待AD转换结束AD0INT = 0; / 清除AD转换结束标志LED = !LED; / LED闪烁delay(bKuai ? 5000 : 20000); / 快慢闪ad = ADC0H*256 + ADC0L; / 读取AD值bKuai = (ad 351); / 决定快慢,根据实际情况修改 ,3.3 提高题,(1)用手指给C8051F310加温,温度越高D2闪烁越快。 (2)用C8051F310带动DP-51实验箱,使8个LED流水点亮。温度越高,流动越快。,实例4 定时器及中断,4.1 定时器的时钟 4.2 定时器的相关寄存器 4.3 定时器的初值 4.4 定时器中断实例 4.5 提高题,4.1定时器的时钟,内部振荡频率=24.5MHz, 系统时钟=24.5MHz / 振荡器分频 T0时钟=系统时钟 / 定时器分频,4.2 定时器的相关寄存器,内部振荡频率=24.5MHz, 系统时钟=24.5MHz / 振荡器分频 OSCICN:内部振荡器控制寄存器IOSCEN:1=内部振荡器使能。 IFRDY:内部振荡器就绪标志。1=就绪 IFCN :内部振荡器到SYSCLK的分频位缺省分频数为8。 系统时钟=24.5/8=3.0625MHz,

      《讲稿《嵌入式系统应用技术》“三”》由会员xzh****18分享,可在线阅读,更多相关《讲稿《嵌入式系统应用技术》“三”》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.