欢迎来到天天文库
浏览记录
ID:26926338
大小:315.48 KB
页数:8页
时间:2018-11-30
《uestc微机原理实验报告3》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、微机原理实验报告一电子科技大学UNIVERSITYOFELECTRONICSCIENCEANDTECHNOLOGYOFCHINA微处理器系统结构及嵌入式系统设计实验报告实验题目:ARM汇编实现串口通信实验学生:学号:指导老师:8微机原理实验报告一一、实验室名称:科研楼B-239二、实验项目名称:ARM汇编实现串口通信实验三、实验原理:1.异步串行I/O异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。数据的各不同位可以分时使用同一传输通道,因此串行I/O可以减少信号连线,最少用一对线(输入,输出)即可进行。图为异步串
2、行通信中一个字符帧的传送格式。数据传送开始前,线路处于空闲状态,送出连续“1”。传送开始时,首先发一个“0”作为起始位。然后出现在通信线上的是字符的二进制编码数据,每个字符的数据位长可以约定为5位、6位、7位或8位。然后是奇/偶校验位,用奇/偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。也可以设置为不要奇/偶校验,这样就取消奇/偶校验位。最后是表示停止位的“1”信号,这个停止位可以约定持续1位、1.5位或2位的时间宽度。至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。每一个
3、数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为110,150,300,600,1200,2400,4800,9600,115200等。接收方按约定的格式接收数据,并进行检查,可以查出以下三种错误:(1)奇偶错:在约定奇/偶检查的情况下,接收到的字符奇/偶状态和约定不符。(2)帧格式错:一个字符从起始位到停止位的总位数不对。8微机原理实验报告一(3)溢出错:若先接收的字符尚未被微机读取,后面的字符又传送过来,则产生溢出错。2.S3C2440处理器相关寄存器介绍(1)UART行控制寄存器(2)UART发送/接收状态寄存器8
4、微机原理实验报告一(4)UART接收寄存器一、实验目的:1.掌握ARM的串行口工作原理。2.学习编程实现ARM和PC机的UART通信。3.掌握ARM裸机下汇编语言编程方法。二、实验内容:1.学习串行通信原理,了解串行通信控制寄存器。2.编程实现ARM和计算机之间的串行通信。六、实验器材(设备、元器件):1、硬件:ARM嵌入式开发板,PC机Pentium100以上,并口线,JTAG板,JTAG连接线2、软件:Windows操作系统,RVDS软件8微机原理实验报告一七、实验步骤:(一)串口汇编实验1.打开CodeWarriorforRVDS,建
5、立一个工程,通过查S3C2440处理器手册的UART通信寄存器,serialcommutication.s文件中添加代码实现串口通信传输,需添加的代码参考流程图如下:2.设置工程配置选项,LanguageSetting->RealviewAssembler和RealviewCompiler中的Architecture设置为ARM920T,配置RVDS下的连接器Linker->RealviewLinker中的ROBase为0x300000003.编译和调试工程。4.连接PC和实验板的并口,串口;并口连接至ARM的JTAG口,串口连接至COMP
6、ORT口;打开电源;打开H-JTAG程序(。5.点击调试器Dubeg->Run,运行程序,打开超级终端,在开始->程序->附件->通讯里打开超级终端,使用COM1,设置波特率115200,8位数据位,无奇偶校验,1位停止位,无数据流控制。6.从键盘输入数据,观察超级终端是否打印出字符。如有正确的字符打印,则通信成功。二)串口C语言实验(选做)8微机原理实验报告一八、实验数据及结果分析串口通信源代码及实现:;**************SerialCommunicationExperiment*****************;相关寄存器地址
7、定义CLKDIVNEQU0x4C000014;CLKDIVNforPCLKandFCLKCAMDIVNEQU0x4C000018;CANDIVNULCON0EQU0x50000000;UARTlinecontrolregister0UCON0EQU0x50000004;UARTcontrolregister0UFCON0EQU0x50000008;UARTFIFOcontrolregister0UMCON0EQU0x5000000C;UARTmodemcontrolregister0UBRDIV0EQU0x50000028;UARTbaud
8、ratedivisorregister0UTRSTAT0EQU0x50000010;UARTTX/RXstatusregister0UTXH0EQU0x50000020;UART
此文档下载收益归作者所有