DSP综合实验4.docVIP

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

实验四综合实验 一、实验目的: 1、熟悉CCS编程的整体结构; 2、熟悉存储器的扩展; 3、熟悉串口通信。 二、实验内容: 对给出的测试程序进行修改,以达到预期的要求。 三、实验程序说明: 1、所有子程序的函数都在init.c文件中测试程序的每一部分都做成了函数,只要调用子函数就能执行相应的程序,子程序包括:I/O口、步进电机、直流电机、蜂鸣器等。 2、chkmem.asm文件为存储器测试程序的汇编文件,包括扩展的RAM和ROM,地址分别为0x8000、0x18000、0x28000,编写了完整的读写程序; 3、还有一部分就的串口通信程序,主要是完成和51单片机的通信,因51单片机控制着键盘、8个数码管和液晶显示,和其通信主要是为了控制输入输出。 四、实验内容: 1、修改蜂鸣器测试部分程序,当测试蜂鸣器时使其响5声,若不响查看JP14是否为弹起状态,在init.c文件中的sp()中修改; 2、修改存储器测试程序,使其读写次数改为32,在chkmem.asm中修改; 3、修改液晶显示程序,修改结果为:程序运行后按2进入第二屏,修改这一屏的显示,修改后为:1.存储器,2. 步进电机,3.直流电机,4.交通灯,5. 喇叭,按相应的键进入相应的程序中执行; 4、修改交通灯测试程序,使其符合生活中的十字路口交通灯;在init.c文件中的traffic_led()中修改,要巧妙运用Led_Traffic[18]、Led_Delay[18],两个数组,只要修改这两个数组的数据就能实现结果。 实验程序段: #include string.h #include stdio.h #include stdlib.h #include math.h #define IMR_ADDR 0 int s; char *b; #define UART_COUNTER 0x62 #define KEYIN_COUNTER 0X61 #define LCD_SIZE 23 #define KEY_SIZE 6 #define LED_SIZE 14 ioport unsigned port8000; /* for CTRL word */ ioport unsigned porte000; /* for DC MOTOR run */ ioport unsigned portc000; /* for LEDs show */ ioport unsigned portf000; /* for STEPMOTOR */ unsigned int CtrlWord=0; char LCD_Buffer[LCD_SIZE]= {0x55,0x66} ; /* LCD SHOWs buffer */ char KEY_Buffer[KEY_SIZE]; /* KEY INPUTs buffer */ int Iskey=0; /* if Iskey!=0,then have KEY in */ /* its high 8 bits are key code ! */ char LED_Buffer[LED_SIZE]= {0x55,0x77}; /* LED SHOWs buffer */ int NowLine=1,NowCol=0; int IsQuitKey=0,First_input=1; /* if == 1, quit key input */ float Result,Input_number; char In_number[10],Now_in=0; /* in calculater, input number save it */ char Last_Cal,Lastbuf[3]={ }; int Led_Traffic[24]={0x030c,0x28a,0x208,0x28a,0x208,0x28a,0x861, 0x0451,0x041,0x0451,0x041,0x0451,0x030c,0x28a,0x208,0x28a,0x208,0x28a,0x861, 0x0451,0x041,0x0451,0x041,0x0451}; int Led_Delay[24]={60,5,5,5,5,5,60,5,5,5,5,5,60, 5,5,5,5,5,60

文档评论(0)

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

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

1亿VIP精品文档

相关文档