华东师范大学计算机科学技术系上机实践报告剖析.doc

华东师范大学计算机科学技术系上机实践报告剖析.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华东师范大学计算机科学技术系上机实践报告剖析

华东师范大学计算机科学技术系上机实践报告 课程:级::创新成绩:名称: 上机实践日期:2009/6/9 上机实践编号:组:12学时 实验目的 利用MSP430的基本结构和外围模块来设计一个较为完整的作品 实验设备 硬件:PC机 软件:IAR Embedded Workbench IDE 集成开发环境,Windows XP。 实验原理 这次实验设计了一个带校时和闹钟的时钟系统。通过K1~K4四个按键,LED3~LED4两个LED,外接蜂鸣器,和MSP430 来实现整个系统。 这个软件一上电就开始从00:00:00记时,可以通过键操作set_alarm,和set_time,当time到达和alarm中的预设值相同时,蜂鸣器响2s后停止(time还是在不断累加)。 1.硬件部分: K1~K4四个按键和LED3(P1.0),LED4(P5.1)都是开发板上已经连接好的。因为实验板上没有提供蜂鸣器,所以外接了一个蜂鸣器。参考实验原理图(图1)上的DVSS2 端口99接蜂鸣器的GND,并插上开发板上提供的一个VCC,来为蜂鸣器提供电源。然后再用(图2)P1.1作为蜂鸣器的信号来控制其发声。 图1 图2 实际物理连接如下图(图3),黄色的线为P1.1,给蜂鸣器提供信号,红色的线接到开发板上露出的VCC上,绛红色的线接到DVSS1上,为地。 图3 蜂鸣器部分如下图,就是用了某个板上的蜂鸣器部分。 图4 LED3和LED4,Keyboard部分如下图(图5) 图5 八位数码管部分如下图(图6) 图6 2.软件部分: 定义LED3 作为时间指示器,每一秒钟改变一次状态(亮--灭 / 灭--亮)。 定义LED4 作为set time或者set alarm的指示器,若亮则表示在set time状态,若灭则表示在设置alarm状态。开机默认状态是set alarm状态。 定义K1 作为改变成set time 状态的键,按下K1后,进入set time 状态。 定义K2 作为改变成set alarm 状态的键,按下K2后,进入set alarm 状态。 定义K3 作为改变设置第几个数 定义K4 作为改变设置数的value 使用WDT的普通定时器功能,为时钟和蜂鸣器来提供时钟信号。因为时钟需要的频率为1HZ,蜂鸣器在低频率下无法出声。则在WDT的中断函数中有如下处理: 设置WDTCTL = WDT_MDLY_0_5,即2KHZ,然后设置static second_cnt = 0,当它到达2000,即1s,再修改全局变量time_1s_ok,当主程序读到time_1s_ok这个标志,就对时间进行更新(在数码管上增加1s)。 当alarm_ok == 1(即闹钟设定的时间和当前时间相等时)就按照2KHZ的频率来让蜂鸣器发声,并通过alarm_cnt == 4000来控制蜂鸣器只响2s。 #pragma vector = WDT_VECTOR __interrupt void WDT_Interrupt(void) { static int second_cnt = 0; static int alarm_cnt = 0; if(alarm_ok) { P1OUT ^= 0x02; // P1.1 output Toggle alarm_cnt++; if(alarm_cnt==4000) alarm_ok = 0; } second_cnt++; if(second_cnt==2000) { time_1s_ok = 1; second_cnt = 0; P1OUT ^= 0x01; } } 读取键值部分就参照例程KB12,通过延时来消除抖动。进行实验,了解有中断和轮询两种方式来读取键值。 /************************************************************ * key_Event(),检

您可能关注的文档

文档评论(0)

1520520 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档