




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告课程名称: 微机原理与应用 指导老师: 马钧华 成绩: 实验名称: 32位CPU定时器0中断实验 实验类型: 同组学生姓名: 一、实验目的和要求(必填)二、实验内容和原理(必填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得装 订 线一、实验目的1、通过实验熟悉TMS320F2812的定时器;2、掌握F2812定时器的控制方法;3、掌握F2812的中断结构和对中断的处理流程;4、掌握C语言中断程序设计以及运用中断程序控制程序流程二、实验原理(见实验课本P74P76)三、实验内容1、完成基本的定时闪灯功能同时,跑马灯2、Timer:显示格式000000.00 : 秒表3、Clock:显示格式小时-分钟-秒数: 时钟4、按键功能设计-8/C 小时:增加/减小9/D 分钟:增加/减小A/E 切换:时钟/秒表B/F 秒表时的启动/停止四、实验过程打开软件,连接DSP后,导入文件:CpuTimer0.pjt。同时打开keydisplay.pjt,ADC.pjt,找到源文件,备用。(设CpuTimer0.pjt为active)【1】跑马灯及定时闪烁1、编译CpuTimer0.pjt后,运行程序,发现LED22和LED23在依次闪烁,频率均为0.5HZ,程序运行正常。【2】秒表功能难点:秒表的精度是0.01s,所以必须修改输入时钟频率。思路:1、修改分频语句: ConfigCpuTimer(&CpuTimer0, 150, 10000),即去掉2个0。 2、定义变量a,b,c,d,e,f,g,h分别为显示输出的8位数字,格式为Int。在中断中加入a,b,c,d,e,f,g,h的变换规则,比如:a=a+1;if(a=10)a=0;b=b+1;if(b=10)b=0;c=c+1;if(c=10)c=0;d=d+1;注意时钟计数的60进制和24进制,需要修改if中的条件。3、显示输出复制显示程序spi_intial()和gpio_init(),以及LED显示子程序LEDdisplay()。在主程序中添加spi_intial()和gpio_inti()的初始化语句。在中断中继续添加LEDdisplay()显示语句。注意初始化语句要卸载关闭外围中断之后:spi_intial(); /SPI初始化子程序 gpio_init(); /GPIO初始化子程序添加Write_LED子程序。LEDdisplay内变量分别为:(h,g,f,e,d,c,b,a)。由于格式中第6位有小数点,查找格式表(Write_LED程序中有):Uint16 LEDcode30=0xc000,0xf900,0xA400,0xB000,0x9900,0x9200,0x8200,0xF800, 0x8000,0x9000,0x8800,0x8300,0xc600,0xa100,0x8600,0x8e00, 0x8c00,0xbf00,0xa700,0xff00,0x4000,0x7900,0x2400,0x3000, 0x1900,0x1200,0x0200,0x7800,0x0000,0x1000;/共阳字形码0f, P,L,灭,0.9.于是将c改为:c+20。检查无误后编译运行。【3】时钟功能思路:总的来说和秒表差不多,具体操作与【4】连在一起解说。【4】按键功能设计难点:1、在时钟状态下秒表不会工作,而在秒表状态下时钟需要正常运行,而不能停止。2、秒表的归零、暂停等操作不能影响到时钟的运行。思路:1、新定义7个变量:aa,bb,cc,dd,ee,ff,gg,格式为Int。其中gg作为二次分频用。2、仿照秒表,写出aa,bb,cc,dd,ee,ff的关系:gg=gg+1;if(gg=100)gg=0;aa=aa+1;if(aa=10)aa=0;bb=bb+1;3、定义秒表/时钟的切换开关为clock,1/0分别为秒表/时钟,设定初始值为0;定义秒表的运行/暂停为flag1=1/0,设定初始值为0。在秒表计数的程序之前添加if条件语句:if(flag1=1)在LEDdisplay语句外添加if条件语句:if(clock=1)LEDdisplay(h,g+20,f,e+20,d,c+20,b,a);if(clock=0)LEDdisplay(ee/10,ee%10,17,dd,cc,17,bb,aa);4、添加归零功能:由于没有多余的按键来设置归零键,于是只能当clock=0时强制令秒表清零。即在if(clock=0)下添加ah的清零语句。5、设置按键语句。从keydisplay.pjt中复制按键命令程序,只需要复制K9K16即可,注意复制#define的一部分内容。再复制K9K16的键扫描程序和键散转子程序。由于程序中有延迟命令,所以不能加在中断语句中。于是操作如下:for(;) if (Keyscan2() = 1) / 调用键扫描K9K16子程序 KeyFunction2(KeyReg2); ;6、添加命令语句根据要求,修改内容如下:case K9: ee=ee+1; /秒数加1 break;case K10: cc=cc+1;/分钟加1 break;case K11: clock= 0;/切换为时钟 break;case K12: flag1 = 1;/秒表开启运转 break;case K13: ee=ee-1;/秒数减1 break;case K14: cc=cc-1;/分钟减1 break;case K15: clock=1;/切换为秒表 break;case K16: flag1=0;/秒表暂停 break; 7、编译完成后,点击Debug,打开Realtime模式,并在Watchwindow中添加a,b,c,d,e,f,g,aa,bb,cc,dd,ee,ff,flag1,clock作为观察对象,并打开Watchwindow中的Continues Refresh模式,并运行,通过操作键盘操作观察实验结果及数据变化情况。五、实验记录【1】定时闪灯及跑马灯运行正常【2】【3】【4】中数字管的显示出现问题,无法将信号传输到数码管显示上。原因可能是数码管的输出通道与其他信号冲突导致的。不过在watchwindow上模拟出来的结果一切正常。具体程序见:cputime0.pjt。补充:在11.14(周五)下午我们组重新调试了文件,发现了显示问题的真正原因,是Write_LED子程序中的判断语句无故删除。添加语句后恢复正常: while(SpiaRegs.SPISTS.bit.INT_FLAG != 1) 编译运行一切正常。由于之
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025高级家政员以及法律顾问聘用合同3篇
- 公司不续签劳动合同3篇
- 新解读《GB-T 31059-2014裱花蛋糕》
- 户外大型广告位租用合同书3篇
- 橱柜衣柜定制合同范本
- 现场保安监理合同7篇
- 封闭超市转让合同范本
- 平台系统租赁合同范本
- pvc板施工合同范本
- 群众工作心得体会甄选集
- DB11∕T 1700-2019 洗染企业等级划分与评定
- 生理健康课件教学课件
- 《商业模式创新》教学大纲
- DB34T∕ 2615-2016 公路沥青路面同步碎石封层施工技术规程
- 公司数字化与信息化管理制度
- 2024年新湘少版三年级上册英语全册教学课件
- 部编四年级道德与法治上册全册教案(含反思)
- 《成人有创机械通气气道内吸引技术操作》标准解读
- 2024年教师招聘考试公共基础知识复习提纲
- 中考英语688高频词大纲词频表
- DL-T-301-2011发电厂水汽中痕量阳离子的测定离子色谱法
评论
0/150
提交评论