欢迎来到天天文库
浏览记录
ID:61487848
大小:26.50 KB
页数:7页
时间:2021-02-05
《ARM时钟显示器实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、一、实验目的本实验设计一种基于ARM的嵌入式微处理器S3C44BOX和LCD显示器的电子时钟,实现电子时钟的功能,并在LCD上显示类似的时钟界面,动态显示当前时间,包括年、月、日、是、分、秒。本课程设计主要为软件设计,硬件部分使用EL-ARM-830教学实验箱上的S3C44BOX和LCD模块。软件设计采用模块化设计方法,分为μC/OS-Ⅱ系统模块、LCD初始化模块、时钟应用系统模块等。其中,时钟系统应用模块包括时钟计时模块、时钟显示模块等。各模块之间功能独立,协同完成本课程设计的全部功能。二、实验内容μC/OS-Ⅱ系统模快设计:本模块主要功能为将μC/OS-Ⅱ系统移植到S3C44BO
2、X上,作为调用硬件各项功能的基础,同时也完成S3C44BOX的功能。LCD初始化模块设计:本模块主要功能完成LCD的初始化,加载LCD驱动程序,是LCD与S3C44BOX实现对接,完成显示功能。时钟应用系统模块设计:本模块是电子时钟功能实现的主要模块,也是本次程序设计的核心模块,本模块实现的主要功能有:时间计时,数字时间显示。计时使用S3C44BOX内部时钟脉冲和分频实现,在LCD上显示数字时钟使用LCD数字显示功能实现。三、实验结果LCD显示“数字钟”样式,动态显示年、月、日、时、分、秒。LCD显示完成人姓名及学号信息。四、实验体会经过此次实验,我们对嵌入式系统的硬件和软件的基本原
3、理、基本特点和关于嵌入式系统设计的基本方法有了一个初步的理解和掌握。完成实验的过程是困难的,由于基本功的不扎实,我不仅要自己查找许多关于S3C44BOX和LCD的资料,同时也参考了网上的一些相关的内容,在老师和同学们的帮助下,顺利完成了本次实验,达到了预期目的。五、源代码#include"config.h"#defineSPI_CS0x/*P0.8*/#defineSPI_DATA0x/*P0.6*/#defineSPI_CLK0x/*P0.4*/#defineSPI_IOCON0x/*定义SPI接口的I/O设置字*//*定义串口模式设置数据结构*/typedefstructUart
4、Mode{uint8datab;//字长度,5/6/7/8uint8stopb;//停止位,1/2uint8parity;//奇偶校验位,0为无校验,1奇数校验,2为偶数校验}UARTMODE;uint8send_buf[16];//UART0数据接收缓冲区/*****************************************************************************名称:UART0_Ini()*功能:初始化串口0。设置其工作模式及波特率。*入口参数:baud波特率*set模式设置(UARTMODE数据结构)*出口参数:返回值为1时表示初化
5、成功,为0表除参数出错****************************************************************************/uint8UART0_Ini(uint32baud,UARTMODEset){uint32bak;/*参数过滤*/if((0==baud)
6、
7、(baud>))return(0);if((set.datab<5)
8、
9、(set.datab>8))return(0);if((0==set.stopb)
10、
11、(set.stopb>2))return(0);if(set.parity>4)return(0);/*设置串口波
12、特率*/U0LCR=0x80;//DLAB位置1bak=(Fpclk>>4)/baud;U0DLM=bak>>8;U0DLL=bak&0xff;/*设置串口模式*/bak=set.datab-5;//设置字长度if(2==set.stopb)bak
13、=0x04;//判断是否为2位停止位if(0!=set.parity){set.parity=set.parity-1;bak
14、=0x08;}bak
15、=set.parity<<4;//设置奇偶校验U0LCR=bak;//禁止访问除数锁存寄存器return(1);}/*************************************
16、****************************************名称:SendByte()*功能:向串口UART0发送字节数据,并等待发送完毕。*入口参数:data要发送的数据*出口参数:无****************************************************************************/voidSendByte(uint8data){U0THR=data;//发送数据while((U0
此文档下载收益归作者所有