实验指导书精选.docVIP

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验指导书精选

目 录 实验一 I/O口交叉开关设置实验 1 实验二 配置内部和外部振荡器实验 4 实验三 二进制转换成十进制实验 7 实验四 无符号数十进制加法实验 9 实验五 数据传送实验 10 实验六 数据排序实验 11 实验七 I/O口输入、输出实验 13 实验八 定时器实验 14 实验九 计数器实验 15 实验十 8279扩展键盘显示实验 16 实验十一 8255模块实验 18 实验十二 动态显示模块实验 19 实验十三 键盘模块实验 20 实验十四 IO扩展模块实验 21 实验十五 交通灯控制实验 22 实验十六 双色LED点阵显示实验 24 实验十七 液晶显示实验 26 实验十八 打印机实验 31 实验十九 RS232通信实验 33 实验二十 RS485通信实验 35 实验二十一 SRAM外部数据存储器扩展实验 37 实验二十二 SPI串行Flash存储器数据读写实验 39 实验二十三 外部中断实验 41 实验二十四 模拟多路开关实验 43 实验二十五 可编程增益放大器实验 45 实验二十六 片外12位A/D转换实验 46 实验二十七 片内ADC实验 48 实验二十八 片外12位D/A转换实验 50 实验二十九 片外12位 AD及D/A转换实验 51 实验三十 片内DAC实验 53 实验三十一 直流电动机驱动实验 54 实验三十二 步进电机驱动实验 57 实验三十三 USB通信实验 59 实验三十四 以太网测控实验 62 实验三十五 数字电子秤实验 64 实验三十六 μC/OS-Ⅱ实时操作系统移植实验 67 实验一 I/O口交叉开关设置实验 一、实验目的 熟悉C8051F优先权交叉开关译码器,掌握I/O口交叉开关设置和如何配置 优先权交叉开关译码器,或称为“ 交叉开关”,按优先权顺序将端口0-3的引脚分配给器件上的数字外设(UART、SMBus、PCA、定时器等)。端口引脚的分配顺序是从P0.0开始。下图为数字外设分配端口引脚的优先权顺序表。 优先权交叉开关译码表(EMIFLE=0;P1MDIN=0XFF 当交叉开关配置寄存器XBR0、XBR1和XBR2中外设的对应允许位被设置为逻辑‘1’时,交叉开关将端口引脚分配给外设,相关的特殊功能寄存器的定义见数据手册或相关书籍。给I/O口分配数据外设的方法有两种:第一、按照“优先权交叉开关译码表”并参考相关特殊功能寄存器的值来定义(参考下面的例子)。另一种方法是用配置向导,在Cygnal IDE中,选择Tools-Cygnal Configuration Wizard,进入配置向导界面进行I/O口配置。 三、实验内容 本实验将配置交叉开关,为UART0 SMBus UART1/INT0和/INT1分配端口引脚(共8个引脚)。另外,将外部存储器接口配置为复用方式并使用低端口。并将P1.2、 P1.3 和P1.4配置为模拟输入,以便用ADC1测量加在这些引脚上的电压。配置步骤如下: 按UART0EN=1 SMB0EN=1 INT0E=1 INT1E=1和EMIFLE=1设置XBR0、XBR1和XBR2 ,则有XBR0=0x05,XBR1=0x14,XBR2=0x022。 将外部存储器接口配置为复用方式并使用低端口,有:PRTSEL=0,EMD=0。 将作为模拟输入的端口1引脚配置为模拟输入方式:设置P1MDIN为0XE3(P1.4、P1.3和P1.2为模拟输入,所以它们的对应P1MDIN被设置为逻辑‘0’)。 设置XBARE = 1 以允许交叉开关:XBR2=0X42。 - UART0有最高优先权,P0.0被分配给TX0,P0.1被分配给RX0。 - SMBus的优先权次之,P0.2 被分配给SDA,P0.3被分配给SCL。 - 之后是UART1,P0.4被分配给TX1。由于外部存储器接口选在低端口(EMIFLE=1)所以交叉开关跳过P0.6(/RD)和P0.7(/WR),又因外部存储器接口被配置为复用方式,下一个未被跳过的引脚P1.0被分配给RX1。 - 之后是/INT0,被分配到引脚P1.1。 - 使P1.2、P1.3 和P1.4被配置为模拟输入,导致交叉开关跳过这些引脚。 - 下面优先权高的是/INT1,所以下一个未跳过的引脚P1.5被分配给/INT1。 - 在执行对片外操作的MOVX指令期间,外部存储器接口将驱动端口2和端口3。 将UART1 的TX 引脚(TX0,P0.0)、UART1的TX引脚(TX1,P0.4),ALE /RD、/WR(P0.[7:3])的输出设置为推挽方式,通过设置P0MDOUT=0xF1来实现。 通过设置P2MDOUT=0XFF和P3MDOUT=0XFF,将EMIF端口(P

文档评论(0)

feixiang2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档