您好,欢迎访问三七文档
实验报告1.2串行通信设计实验成员:金婷婷0910210205胡丽红0910210204杨猛0910210244赖鹏飞0910210230一、实验目的(1)掌握UART部件的使用与接口扩展方法;(2)掌握嵌入式系统的仿真设计技术。二、实验内容本次实验利用电路仿真软件Proteus与嵌入式开发环境KeilforARM进行嵌入式系统的仿真。在Proteus中进行嵌入式系统的UART接口硬件电路设计,并在KeilforARM中完成串行通信程序的编写和编译,最后将编译成的可执行代码装载到嵌入式微处理器中进行电路的仿真运行。三、预备知识C语言的基础知识,Proteus与KeilforARM软件的基本使用方法和设置。四、实验设备硬件:PC机(或笔记本电脑)软件:Windowsxp以上操作系统,Proteus7.8以上版本,KeilforARM3.0以上版本。五、实验步骤(1)在Proteus中建立嵌入式系统电路实验小组编号实验成绩图1.2.1嵌入式系统原理图(2)在KeilforARM中编写系统测试程序测试程序源代码如下:#includeLPC21xx.H#defineCR0x0DcharledDown[]={TheLEDisdown!\n};charledUp[]={TheLEDisup!\n};intputchar(intch){/*向串口输出一个字符*/if(ch=='\n'){//发送回车符while(!(U0LSR&0x20));//等待发送完成U0THR=CR;}while(!(U0LSR&0x20));return(U0THR=ch);}voiddelay(void){//延时函数inti,j;for(i=0;i60000;i++)for(j=0;j10;j++);}voidserialPuts(char*p){/*向串口输出字符串*/while(*p!='\0'){putchar(*p++);}}intmain(void){/*开始初始化串口*/PINSEL0=0x00000005;/*设置引脚,开串口功能每个IO功能选择占2bit,0x00050000,0101(pin8,pin9二进制)代表使能串口0*/U0LCR=0x83;/*8位数据,无效验,一个停止位*/U0DLL=122;/*VPB15MHz的时候波特率为9600*/U0LCR=0x03;/*DLAB=0*//*结束初始化串口*/IO0DIR=0x0000015;/*将P0.5设置为输出*/while(1){IO0CLR=0x0000015;serialPuts(ledUp);//通过UART0进行串口通信,CPU把灯亮和暗的信息传递给PC(这里用虚拟终端代替),并显示信息delay();IO0SET=0x0000015;serialPuts(ledDown);delay();}}(3)下载调试结果记录如图1.2.2所示。图1.2.2实验结果图一开始,只设置了虚拟端的波特率为9600,没有设置CPU频率,导致出现乱码,如下图所示,后来调整CPU频率为15MHz,得到理想结果,另外,经过理论和实践发现,接入CPU的时钟频率对实验结果无任何影响。注:在串行通信中,必须保证发送方和接收方的波特率一致,这样才能正常通信,因此调整芯片频率是为了保证CPU与虚拟端波特率一致,具体波特率计算方法查找芯片资料可以获得。2.3A/D接口实验实验成员:金婷婷0910210205胡丽红0910210204杨猛0910210244赖鹏飞0910210230一、实验目的了解在linux环境下对S3C2410芯片的8通道10位A/D的操作与控制。二、实验内容学习A/D接口原理,了解实现A/D系统对于系统的软件和硬件要求。阅读ARM芯片文档,掌握ARM的A/D相关寄存器的功能,熟悉ARM系统硬件的A/D相关接口。三、预备知识�有C语言基础�掌握在Linux下常用编辑器的使用�掌握Makefile的编写和使用�掌握Linux下的程序编译与交叉编译过程。四、实验设备硬件:UP-NETARM2410-S嵌入式实验平台,PC机。软件:PC机操作系统REDHATLINUX9.0+ARM-LINUX开发环境。五、实验步骤(1)阅读理解源代码(2)编译应用程序(3)下载与调试实验结果如下:实验小组编号实验成绩初始时,a0,a1,a2三个端口的对应的值如下图所示:调节一号电位器后,a0端口数值变化,a1,a2数值基本不变,如下所示:调节二号电位器后,a1端口数值变化,a0,a2数值基本不变,如下所示:调节三号电位器后,a2端口数值变化,a0,a1数值基本不变,如下所示:实验截图中,调节三号电位器后,a1端口值也发生了变化,可能是随机扰动所致。注:在调节过程中要注意端口的电压值不会超过3.3V(最大值),另外此次实验前必须加载A/D驱动,否则得不到实验结果。加载驱动方式是到host/kernel-2410s/drivers/char/目录下找到s3c2410-exio.o,使用insmod命令进行加载2.4D/A接口实验实验成员:金婷婷0910210205胡丽红0910210204杨猛0910210244赖鹏飞0910210230一、实验目的�掌握MAX504D/A转换芯片的使用方法�掌握不带有D/A的CPU扩展D/A功能的主要方法�了解D/A驱动程序加入内核的方法二、实验内容了解实现D/A系统对于系统的软件和硬件要求。阅读MAX504芯片文档,掌握其使用方法。三、预备知识�有C语言基础�掌握在Linux下常用编辑器的使用�掌握Makefile的编写和使用�掌握Linux下的程序编译与交叉编译过程。四、实验设备硬件:UP-NETARM2410-S嵌入式实验平台,PC机。软件:PC机操作系统REDHATLINUX9.0+ARM-LINUX开发环境。五、实验步骤(1)阅读理解源码(2)编译应用程序(3)下载调试实验结果如下:实验小组编号实验成绩如上图所示,当超级终端运行读出当前电压值为3V、2.14V和1.8V时,对应用万用表测量得到的电压值为2.95V、2.11V和1.77V,误差均在1%左右,所以运行的结果是正确的。同样,在进行该实验时也要先加载驱动,进入到NFSmount开发主机的/arm2410s到host目录下,然后进入host/exp/05_da/drivers,用insmodexio.o加载驱动exio.o
本文标题:嵌入式实验报告
链接地址:https://www.777doc.com/doc-2406090 .html