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

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统应用技术 三、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=0~3 ☆为复位值 (2)交叉开关 P0.0~P2.3管脚,通过交叉开关,分配给GPIO或数字外设 P2.4~P3.4管脚,不通过交叉开关,不分配给数字外设。 (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.h // C8051F310的SFR定义 sbit LED =P3^3; // LED位定义 sbit SW =P0^7; // SW位定义 //------------- 延时 ------------------------- void delay(unsigned long v) { while(--v); } //------------- 主程序 ------------------------- void main(void) { PCA0MD = ~0x40; // WDTE = 0 (禁止看门狗) P3MDIN = 0xff; //P3.3做数字输入(默认) P3MDOUT = 0x08; //P3.3推挽输出 P0MDIN = 0xff; //P0.7做数字输入(默认) while(1) { LED = !LED; //LED闪烁 delay(SW ? 20000 : 5000); //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原理框图 2.1 C8051F310的AD转换器简介 10 位逐次逼近型 ADC, 最高采样率200ksps AMX0P:正输入:23 选 1:P1.0~P3.4、温度传感 器、VDD AMX0N:负输入:22 选 1:P1.0~P3.4、GND 单端方式:GND作为负输入,其余为差分方式 (略)。

文档评论(0)

dreamzhangning + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档