基于arm的伪windows时钟选编.doc

信息工程学院 嵌入式系统设计课程设计报告 题目 : 伪windows电子时钟的设计与实现 学号 : 1312230142 学生姓名 : 王盼 专业名称 : 物联网工程 班级 : 物联13本1 目录 1. 课题研究意义和现状 - 1 - 1.1 课题研究意义 - 1 - 1.2 课题研究现状 - 1 - 2. 系统总体方案设计及功能模块介绍 - 1 - 2.1 总体方案设计 - 1 - 2.2 数字时钟功能模块介绍 - 3 - 3. 系统硬件平台及接口设计 - 3 - 3.1 系统硬件平台设计 - 3 - 3.2 系统硬件接口设计 - 4 - 4. 系统软件设计与实现 - 5 - 4.1 主程序设计与实现 - 5 - 4.2 数字时钟程序设计与实现 - 7 - 5. 系统测试 - 10 - 5.1 系统软件测试 - 10 - 5.2 系统硬件测试 - 12 - 6. 总结和展望 - 14 - 7. 参考文献 - 15 - 1. 课题研究意义现状 图1 系统设计图 2.2 数字时钟功能模块介绍 数字实时时钟单元是处理器集成的片内外设,由开发板上的后备电池供电,可以在系统电源关闭的情况下运行,RTC发送8位BCD码数据到CPU。传送的数据包括秒、分、时、星期、日期、月份和年份。RTC单元时钟源频率由外部32.768 kHz晶振提供,可以实现闹钟(报警)功能及时间片中断、置0计数功能。RTC最重要的功能就是显示时间,是通过读/写寄存器实现的。要显示秒、分、时、日期、月、年,CPU必须读取存于BCDSEC、BCDMIN、BCDHOUR、BCDDAY、BCDDATE、BCDMON与BCDYEAR寄存器中得值。时间的设置也是通过以上的寄存器实现的。 3. 系统硬件平台及接口设计 3.1 系统硬件平台设计 图2 硬件平台图 3.2 系统硬件接口设计 图3 LCD接口图 图4 蜂鸣器接口图 4. 系统软件设计与实现 4.1 主程序设计与实现 关键代码如下 void Main(void) { char *mode; int i,ii,j; U32 jj=100; unsigned char Temp1,Temp2; unsigned int Addr=0; U16 freq;// lci 1000 U32 x,y; double offset=0;//x坐标偏移量 U32 z; //================init FCLK=400M, so change MPLL first=========================== U8 key = 14; U32 mpll_val = (9212)|(14)|(1); //============================================================================== Lcd_Init(); Port_Init(); Isr_Init(); ChangeMPllValue((mpll_val12)0xff, (mpll_val4)0x3f, mpll_val3); ChangeClockDivider(key, 12); cal_cpu_bus_clk(); consoleNum = 0; // Uart 1 select for debug. Uart_Init( 0,115200 ); Uart_Select( consoleNum ); Beep(2000, 100); Uart_SendByte(\n); Uart_Printf(***************************************\n); Uart_Printf( TQ2440 Test Program\n); Uart_Printf( \n); Uart_Printf(***************************************\n); rMISCCR=rMISCCR~(13); // USBD is selected instead of USBH1 rMISCCR=rMISCCR~(113); // USB port 1 is enabled. rDSC0 = 0x2aa; rDSC1 = 0x2aaaaaaa; //Enable NAND, USBD, PWM TImer, UART0,

文档评论(0)

1亿VIP精品文档

相关文档