嵌入式系统课程设计实验报告

嵌入式系统课程设计实验报告

ID:14812708

大小:97.00 KB

页数:7页

时间:2018-07-30

嵌入式系统课程设计实验报告_第1页
嵌入式系统课程设计实验报告_第2页
嵌入式系统课程设计实验报告_第3页
嵌入式系统课程设计实验报告_第4页
嵌入式系统课程设计实验报告_第5页
资源描述:

《嵌入式系统课程设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式系统课程设计必做部分学院:电控学院专业:通信工程-7-设计名称:IIC同步串行通讯1、设计的目的:1.掌握S3C44B0IIC控制器的编程方法2.编程实现串行EEPROM存储器24C16的数据存储和访问。2、设计的内容:1.学习S3C44B0IIC控制器的原理与编程方法;2.学习IIC存储器24C16的编程方法;3.理解IIC存储器24C16的与S3C44B0的电路连接原理;4.掌握C语言中断程序设计方法;5.编程实现对24C16的数据存储和访问。3、设计思路、遇到的问题及解决方法:此次试

2、验,我们结合《嵌入式系统原理及应用》教材以及老师提供的各种pdf和word资料,了解到了各种寄存器的配置方法,如IICDS等。对于例程中的各种函数,如Wr24C16(),Rd24C16(),__irqIicInt()等,通过对程序的仔细研读,最终了解了它们的各自用途,并在此基础上,编写了主函数。实现了从0-255共256个字节的写入及读取操作。这次实验我们遇到了不少的难题,像开始使用ARM-ProjectManager平台一开始,由于对此平台的不了解,我们走了许都弯路。像对于头文件的配置问题,总

3、是配置不对,后来发现头文件为程序自主生成,无需配置。还有关于程序中的一些.s文件,开始并不知道是有何作用,后来在老师的指点下,发现有必要将其加入到sourse文件栏中调用,同时调用的同时,由于不理解调用的路径问题,多次编译失败,后来发现了问题,是路径配置不当,最终更改了路径,解决了问题。再有,在对老师提供的例程进行阅读时候,发现了不少的啰嗦以及错误语句,例如Uart_Printf("%d",k);语句就不应该为Uart_Printf("%d",&k);这些问题我们都通过调试最终给予了改正

4、。-7-4、设计的结果及验证正确输出结果如下截图,从超级终端中回显显示了正确数据,实验成立。开始5、程序流程图如下:Uart端口初始化,rPCONF,rPUPF,rINTCON,pISR_IIC,rINTMSK,rIICCON各个寄存器初始化,向量端口设置,设置循环变量i=0;用Wr24C16函数写入0-255。共256个数据,其中将数值I写入到地址为I的bank0中,方便读取Rd24C16函数读取,Uart_Printf函数打印0-255共256个数,地址分别为0-255结束-7-6、全部源代

5、码如下(可验证)#include#include"C:ARM25144b044b.h"#include"C:ARM25144b044blib.h"#include"C:ARM25144b0Def.h"#include"C:ARM25144b0iic.h"#include"C:ARM25144b0Option.h"#include#include#include#include

6、.h>#include#defineWRDATA(1)#definePOLLACK(2)#defineRDDATA(3)#defineSETRDADDR(4)#defineIICBUFSIZE0x20U8_iicData[IICBUFSIZE];volatileint_iicDataCount;volatileint_iicStatus;volatileint_iicMode;int_iicPt;void__irqIicInt(void);voidWr24C16(U32slvA

7、ddr,U32addr,U8data){_iicMode=WRDATA;_iicPt=0;_iicData[0]=(U8)addr;_iicData[1]=data;_iicDataCount=2;rIICDS=slvAddr;//0xa0,写移位寄存器rIICSTAT=0xf0;//MasTx,Start//Clearingthependingbitisn'tneededbecausethependingbithasbeencleared.while(_iicDataCount!=-1);//

8、中断完成,总线不忙,可以传送,同时移位寄存器已经准备好两个数据量_iicMode=POLLACK;while(1){rIICDS=slvAddr;//0xa0,写移位寄存器_iicStatus=0x100;rIICSTAT=0xf0;//MasTx,Start-7-rIICCON=0xaf;//resumesIICoperation.IIC-BUS控制寄存器while(_iicStatus==0x100);//rIICSTAT数值发给iicStatus,0xf0if(!(_iicStatus&0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。