电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

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

  • 资源ID:56611168       资源大小:858KB        全文页数:98页
  • 资源格式: PPT        下载积分:10金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要10金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

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

嵌入式系统应用技术,三、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.0P2.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 = 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左向、右向流水点亮。,实例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=内部偏压发生器工作(使用 ADC 时该位必须为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 输入引脚配置,注意: 作为 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 = 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值 = ( ) * 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); / 等待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)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.