




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、四川大学网络教育学院专业课课程设计题 目 办学学院 四川大学电气信息学院 学习中心 黔江奥鹏 专业层次 专升本 年 级 0903 学生姓名 石胜良 学 号 aDH1091g1032 2010年 7 月 15 日四川大学网络教育学院实验报告实验名称: 实时时钟实验 学习中心 姓 名 学 号 实验内容:根1、实验题目分析1.1 问题描述结合实时时钟,IIC(控制小键盘和数码管等)来做具备定期功能的实时时钟。1.2功能分析至少完成以下功能: (1)能显示每秒的时刻 (2)按下功能键能切换显示日期 (3)能设置定时闹钟,定时到产生某种输出 (4)可以扩展考虑加入外部中断,如停止闹钟功能等。1.3 开发
2、平台及工具介绍 实验器材有:CITK2410开发板,JTAG连接线,RS-232直通连接线RVDS集成开发环境,超级终端工具,2、实验概要设计2.1 实验基本原理IIC总线:IIC总线的器件分为主器件和从器件。主器件的功能是启动在总线上传送数据,并产生时钟脉冲,以允许与被寻址的器件进行数据传送。SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。 I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。超始和停止信号图 数
3、据传送时序图IIC总线(IICSDA、IICSCL)经过VDD33的上拉后,进入ZLG7290数码管:实验使用的数码管是广州周立公司单片机发展有限公司自行设计的一款数码管显示驱动及键盘扫描管理芯片。下面是介绍该数码管的特点还有电路图:1 I2C 串行接口提供键盘中断信号方便与处理器接口2 可驱动8 位共阴数码管或64 只独立LED 和64 个按键3 可控扫描位数可控任一数码管闪烁4 提供数据译码和循环移位段寻址等控制5 8 个功能键可检测任一键的连击次数6 无需外接元件即直接驱LED 可扩展驱动电流和驱动电压7 提供工业级器件多种封装形式PDIP24 SO24采用24 引脚封装引脚图如图所示其
4、引脚功能分述如下:实时时钟(Real Time Clock):2410提供了一个实时时钟,该时钟使用独立的一路1.8V供电,保证主电源切断时能正常维持RTC工作。2410的RTC支持两个中断:Time Tick(固定在一个频率内发出的时钟中断) 和Alarm中断(在某个时刻产生闹铃中断)。利用这两个中断可以设置每一秒中断一次显示变化时间,用Alarm中断实现闹钟功能。以下为S3C2410内部RTC模块结构图:2.2 实验电路图ZLG7290功能电路图:IIC总线接口电路图:2.3 实验主要步骤1.初始化配置(各种寄存器)。2.编写各种相关的中断程序。3.主函数调用这几个中断程序。4.编译程序,
5、在zoc串口工具进行测试。5.使用zoc下载和调试。3、实验详细过程3.1 具体实验过程和内容(1)实现实时时钟功能 设置rRTCCON、rTICNT、rRTCALM寄存器 TICNT6:0=127;可以设置rTICNT=(17)|(127)实现每秒中断一次。 可以设置闹铃寄存器,例如每秒的第几秒中断一次,实现定时闹钟的功能。 要设置初始化当前时间。 这里还包括编写Time Tick中断和Alarm中断的中断服务程序。(2)初始化IIC总线 编写一个IIC的操作库。包括发送和接受功能。 编写可以向ZLG7290发出指令的函数。(3)编写键盘中断处理程序 通过键盘中断,实现数码管显示日期和时间的
6、切换,还有停止。(4)使用RVDS集成开发环境编译调试程序(5)使用ZOV软件测试3.2 程序流程图程序入口点2410初始化显示时间主函数闹钟停止显示日期是否切换初始化Alarm中断Time tick中断键盘中断输出当前时间数码管显示日期或时间闹钟3.3 实验和程序问题分析这次试验实际上是融合了三个实验的要求,要实验实时时钟的功能,包括显示当前时间,还有设置闹钟,主要使用到2410的RTC的两个中断:Time Tick和Alarm中断。而要实现在数码管上显示当前时间,并且按键盘时实现时间与日期的切换,需要用到数码管和IIC总线的知识。而实现的难处在于如何把几个内容融合在一起并且实现所需的功能,
7、这也是实验要求做的。4、实验输出界面选取主要界面的截图。5、总结这次实验其实是包含了几个内容的,有实验5的实时时钟(RTC)实验,实验6的IIC总线与数码管实验。试验7的IIC总线与键盘实验。而实现的功能也相应增加了,因此难度加大了一点。要分别掌握RTC,IIC,还有数码管的知识。但是通过这次实验,我对它们的知识得到了巩固。 在没有学RTC的时候,我就对某些事情感到好奇,我的手机拥有定时开机和关机功能,闹钟功能,疑惑的是,既然手机都关了,为何能够自动开机甚至是在关机的情况下相应闹钟功能。通过学习RTC的知识,我明白了2410提供了一个实时时钟,该时钟使用独立的一路1.8V供电,保证主电源切断时
8、能正常维持RTC工作。手机相应闹铃和自动开机都有着相似的原理,帮我解惑不少。要想设计一个实时时钟和闹钟的功能,只需要RTC的两个中断,Time Tick和Alarm,需要设置一些寄存器的初值。另外,通过使用数码管,还有自己上网搜索一些资料,了解到如何使晶体管发亮,而形成自己所要显示的字符或者数字形状,例如显示时间。而这次实验就是要用数码管显示时间或者日期。由于发光是用硬件实现的,而要控制得到我们要的输出,要通过我们编写代码,幸好中间的过程已经被实现了,我们实际上在键盘上打入数字,我们只需要初始化一些寄存器的值,数码管就会有显示。而ZLG7290产生的中断,主机通过IIC总线可以读取。而IIC总
9、线协议是需要了解过程的。学习嵌入式系统的时间并不长,而且又是第一次接触,因此有很多东西还是不太了解,虽然说时间不长,但是还是很有收获的,这次毕竟使自己有机会去学习一些贴近硬件的知识,如果将来有机会再学习,我还是很乐意的。毕竟一个真正学习计算机的人不能只知道软件的知识。附录:主要程序代码:#include 2410addr.h#include target.h#include 2410lib.h#include iic.hvoid iic_init(void)rGPEUP |= 0xc000;/ 禁止上拉rGPECON |= 0xa00000;/ 设置 GPIO 为 IIC 总线/ Enable
10、 ACK, Prescaler IICCLK=PCLK/16, Enable interrupt, Transmit clock value Tx clock=IICCLK/16/rIICCON = (17) | (06) | (15) | (0xf); /rIICADD = 0x10;/ 2410 从设备地址 /rIICSTAT = 0x10;/ IIC 总线输出有效void iic_send_master(unsigned char *buf, int size)/ IIC 总线 Master 模式数据发送函数int fc1;/ ZLG7290要求IIC传输速率不大于32Kbit/s,即T
11、x clock不大于32KHz/ 设置IICCLK=PCLK/512 Tx clock=IICCLK/4,则/ 如果FLCK=200MHz,则最大Tx clock = 24kHz,处于可接受范围/ 初始化 IICrIICCON = (17) | (16) | (15) | (04) | (30)/ 发送 buf 数据rIICDS=*(buf+);size-;/ 等待 IICSCL 到达触发沿for(fc1=0;fc110;fc1+);if(size!=0)rIICCON = rIICCON & IIC_PENDING_MASK;else/ 最后发送不需要应答rIICCON = rIICCON
12、& IIC_PENDING_MASK & IIC_ACK_MASK;/ 等待发送完成while(!(rIICCON & IIC_PENDING_BIT);/ 停止 IICrIICSTAT = 0xD0;rIICCON = rIICCON & IIC_PENDING_MASK;Delay(10);void iic_receive_master(unsigned char *cmdbuf, int cmdsize, unsigned char *buf, int size)/ IIC 总线 Master 模式数据接收函数int fc1;/ ZLG7290要求IIC传输速率不大于32Kbit/s,即
13、Tx clock不大于32KHz/ 设置IICCLK=PCLK/512 Tx clock=IICCLK/4,则/ 如果FLCK=200MHz,则最大Tx clock = 24kHz,处于可接受范围int slave_addr;rIICCON = (17) | (16) | (15) | (04) | (30)/ 发送 buf 数据rIICDS=*(cmdbuf+);cmdsize-;/ 等待 IICSCL 到达触发沿for(fc1=0;fc10)if(size1)rIICCON = rIICCON & IIC_PENDING_MASK;else/ 最后接收不需要应答rIICCON = rIIC
14、CON & IIC_PENDING_MASK & IIC_ACK_MASK;/ 等待接收完成while(!(rIICCON & IIC_PENDING_BIT);/ 取出数据*(buf+) = rIICDS;size-;/ 停止 IICrIICSTAT = 0x90;rIICCON = rIICCON & IIC_PENDING_MASK;Delay(10);void _irq isr_keyboard(void)unsigned char cmdbuf4;unsigned char key5;/ 关闭1号外中断rINTMSK = rINTMSK | BIT_EINT1;/ 清除中断位rINT
15、PND = BIT_EINT1;rSRCPND = BIT_EINT1;/ 等待 IIC 总线空闲while(rIICCON & IIC_PENDING_BIT);/ 读取键值cmdbuf0=IIC_ADDR_ZLG7290;cmdbuf1=IIC_ADDR_ZLG7290_KEY;iic_receive_master(cmdbuf,2,key,4);/ 判断是否有效按键if(key1 = 0x01)/ 数字左移2位for(fc1=0;fc14;fc1+)cmdbuf1=IIC_ADDR_ZLG7290_DPM0+datefc1;cmdbuf2=0xff;iic_send_master(cmd
16、buf,3);else if(key1 = 0x02)/ 数字左移2位for(fc1=0;fc14)*10 + (rBCDYEAR & 0x0F);month = (rBCDMON & 0x10)4)*10 + (rBCDMON & 0x0F);date = (rBCDDAY & 0x70)4)*10 + (rBCDDAY & 0x0F);hour = (rBCDHOUR & 0x70)4)*10 + (rBCDHOUR & 0x0F);minute = (rBCDMIN & 0x70)4)*10 + (rBCDMIN & 0x0F);second = (rBCDSEC & 0x70)4)*1
17、0 + (rBCDSEC & 0x0F);day = (rBCDDAY & 0x07);readtime+;while(second=0 & readtime=1);date0=year;date1=month;date2=date;time0=hour;time1=minute;time2=second;Uart_Printf(Time is now: %.2d.%.2d.%.2d %.2d:%.2d:%.2d, %dn,year,month,date,hour,minute,second,day);/ 恢复中断rINTMSK = tmpintmsk;void main(void)iic_i
18、nit();/ Init target board (call this function before anything can go!)Target_Init();Uart_Printf(CITK2410 RTC demo using RTC.n);/ 初始化 RTC 和“嘀嗒”中断控制器rRTCCON = (13) | (02) | (01) | (0);/ RTC 设置只读(为了 RTC 稳定,需要写的时候再打开写允许位)rTICNT = (17) | (127);/ 允许“嘀嗒”中断,每1秒中断一次rRTCALM = (16) | (05) | (04) | (03) | (02) | (01) | (1);/ 设置闹铃计时器只对秒有效/ 设置闹铃寄存器(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 配电房设备知识培训课件
- 90house咖啡屋可行性分析报告
- 徐州幼儿师范高等专科学校《建设监理概论》2023-2024学年第二学期期末试卷
- 福建医科大学《体育赛事运作实务》2023-2024学年第二学期期末试卷
- 广西南宁市江南区三十四中2025届初三第三次教学质量检测试题考试物理试题含解析
- 幼儿合作班本课程
- 大连交通大学《电子商务概论》2023-2024学年第二学期期末试卷
- 遂宁工程职业学院《韩语听读》2023-2024学年第一学期期末试卷
- 气管切开护理查房
- 通化医药健康职业学院《农药生物测定(实验)》2023-2024学年第二学期期末试卷
- 江西住建云-建设项目数字化审图·项目监管一体化平台-建设单位用户手册
- 【计算机应用基础试题】上海中侨职业技术学院2022年练习题汇总(附答案解析)
- 中国近代化历程课件
- 产品防错措施一览表
- 氟橡胶基本课件
- 上海市一模二模或中考数学答题纸
- 幼儿绘本故事:爱书的孩子
- 煤化工技术概述教学课件(40张)
- [中建]市政基础设施工程质量标准化图集ppt
- 安徽省省级环境保护科研项目申报书.docx
- HSF无有害物质管理程序-最全版
评论
0/150
提交评论