实验五SPI主机实验——7段数码管显示.docVIP

实验五SPI主机实验——7段数码管显示.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理实验报告 实验名称: SPI主机实验—7段数码管显示 院 系:物理与机电工程学院 专业班级: 08电子信息工程 学 号: 2008041501 学生姓名: 陈琳琳 指导教师: 涂二生 完成时间: 2011年5月10日 报告成绩: SPI主机实验-7段数码管显示 实验目的 学习SPI的通信方式和74HC575的SPI接口应用,比较I2C 、SSP与SPI通信方式的区别。 实验仪器 Easy-Arm2132开发板套件 装有ADS1.2及EasyJTAG仿真器的计算机一台 实验原理 1、概述 LPC2131 具有一个硬件SPI(SPI,Serial Peripheral Interface)接口,它是一个同步、 全双工串行接口,最大数据位速率为时钟速率的 1/8,可以配置为主机或者从机。 在同一总线上可以有多个主机或者从机,但同一时刻只能有一个主机和一个从机能够进 行通信,在一次数据传输过程中,主机向从机发送一字节数据,从机也向主机返回一字节数据。 SPI 可应用于: 串行存储器,如 DataFlash、三线 EEPROM 等; 串行外设,如 ADC、DAC、LCD 控制器、CAN 控制器、传感器等; 外部协处理器。 2、特性 两个完全独立的SPI控制器 遵循串行外设接口(SPI)规范 同步、串行、全双工通信 组合的SPI主机和从机 最大数据位速率为输入时钟速率的1/8 3、管脚寄存器 管脚连接设置 当进行如下设置时将P0.4、P0.5、P0.6和P0.7选择SPI功能: SPI管脚如下表所示 4、寄存器描述 SPI包含5个寄存器,见下表,所有寄存器都可以字节、半字节和字段形式访问。 硬件连接图 程序流程图 程序 程序说明 程序实现功能描述:按键KEY1控制7段数码管显示0~F,每按一次键十六进制加一,KEY2控制7段数码管显示LPC2138一次显示,程序初始化数码管显示零,合理利用SPI通信方式控制数码管显示。 实验程序(字体加粗部分为增加修改程序) #include config.h #define HC595_CS (1 29) // P0.29口为74HC595的片选 const uint32 KEY1 = 1 16; const uint32 KEY2 = 1 17; /******************************************************************************************************** ** 函数名称:DelayNS() ** 函数功能:长软件延时 ** 入口参数:dly 延时参数,值越大,延时越久 ** 出口参数:无 ********************************************************************************************************/ void DelayNS(uint32 dly) { uint32 i; for(; dly0; dly--) for(i=0; i50000; i++); } /******************************************************************************************************** ** 函数名称:MSPI_Init() ** 函数功能:初始化SPI接口,设置为主机。 ** 入口参数:无 ** 出口参数:无 *********************************************************************************************************/ void MSPI_Init(void) { PINSEL0 = (PINSEL0 0xFFFF00FF) | 0 // 设置管脚连接SPI PINSEL0 = (PINSEL0 (~(0xFF 8))) | (0x55 8) ; SPCCR = 0x52; // 设置SPI时钟分频

文档评论(0)

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

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

1亿VIP精品文档

相关文档