可调节的数字时钟.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可调节的数字时钟.doc

微机原理实验报告 实验名称: 可调节的数字时钟 院 系:物理与机电工程学院 专业班级: 学 号: 学生姓名: 指导教师: 完成时间: 报告成绩: 可调实时时钟 实验目的 1 进一步熟悉EasyARM2131开发板EasyARM2131开发板 实验程序代码 本次实验通过调节KEY1 KEY2 KEY3来调节时钟,其中KEY1用来选择要调节的位置,KEY2用来加一,KEY2用来减一,每次按键蜂鸣器都会蜂鸣一声,对应的LED灯会闪一下提醒按键有效。调时间时RTC会停走。RTC内容是通过串口发送到上位机软件上显示。 /*RTC万年历实验 ** 功能 :运行RTC进行计时,将时间值通过串口向上位机发送。 ** 上位机使用EasyARM软件,在仿真的万年历显示器显示结果。可通过按键调整时钟 ** 说明 :通讯波特率115200,8位数据位,1位停止位,无校验。*/ #include config.h const uint32 key1=116; const uint32 key2=117; const uint32 key3=118; const uint32 beep=17; const uint32 LEDS8 = (0xFF 18); const uint32 LED1 = (1 18); const uint32 LED2 = (1 19); const uint32 LED3 = (1 20); uint8 moshi; typedef struct UartMode // 定义串口模式设置的数据结构 { uint8 datab; // 字长度 5/6/7/8 uint8 stopb; // 停止位 1/2 uint8 parity; // 奇偶校验 0-无校验, 1-奇校验, 2-偶校验 }UARTMODE; /* 函数名称 :DelayNS() ** 函数功能 :长软件延时 ** 入口参数 :dly 延时参数,值越大,延时越久 ** 出口参数 :无*/ void DelayNS (uint32 dly) { uint32 i; for ( ; dly0; dly--) for (i=0; i4200; i++); } /* 函数名称 :UART0_Init() ** 函数功能 :初始化串口:设置工作模式和波特率。 ** 入口参数 : baud 波特率 ** set 模式设置(UARTMODE数据结构) ** 出口参数 :返回1表示成功,0表示参数出错。*/ uint8 UART0_Init (uint32 baud, UARTMODE set) { uint32 bak; // 参数过滤 if ((0 == baud) || (baud 115200)) return (0); if ((set.datab 5) || (set.datab 8)) return (0); if ((0 == set.stopb) || (set.stopb 2)) return (0); if (set.parity 4) return (0); // 设置串口波特率 U0LCR = 0x80; // DLAB=1 bak = (Fpclk 4) / baud; U0DLM = bak 8; U0DLL = bak 0xff; // 设置串口模式 bak = set.datab - 5; if (2 == set.stopb) bak |= 0x04; if (0 != set.parity) { set.parity = set.parity - 1; bak |= 0x08; } bak |= set.parity 4; U0LCR = bak; return (0); } /*函数名称 :SendByte() ** 函数功能 :向串口UART0发送字节数据,并等待发送完毕。 ** 入口参数 :data 要发送的数据 ** 出口参数 :无*/ void SendByte (uint8 data) { U0THR = data; while ((U0LSR 0X20) == 0); // 等待数据发送 } /*函数名称 :PC_DispC

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档