飞思卡尔车模竞赛基础.docVIP

  • 7
  • 0
  • 约9.12千字
  • 约 10页
  • 2016-09-18 发布于河南
  • 举报
飞思卡尔车模竞赛基础

车模竞赛基础 综合实验报告 实验名称: XS128平台综合实验 班 级: 学 号: 姓 名: 指导老师: 2012年 12 月 25 日 1. 实验目的 结合这个学期我们学到的知识,应用于单片机XS128平台,测试并展示自己学习实验班的成果,增强我们的自学能力。 2. 实验要求 (1)流水灯(矩阵键盘控制速度) (2)定时中断 (3)串口通信,比较查询和中断方式效率 (4)5110液晶显示 (5)PWM产生正弦波形,在液晶上显示 (6)综合实验:串口选择PWM波形并回显,LCD显示,按键调整频率及幅值 3. 实现方法 (1)流水灯的控制实际上是对B口的控制。 (2)这里通过中断函数计数,溢出后,翻转LED等,并清零,重新开始计数。相应的定时器设置参考xs128技术手册,然后在同学或是。 (3)先进行基本的波特率和一些必要的设置;主要过程是对SCI0SR1_TDRE的监测和判断,当空的时候SCI0SR1_TDRE=1,当接受传输数据未结束时SCI0SR1_TDRE=0。中断法不同于查询法的地方时,前者不同于后者一直在占用内存执行查询,前者只是中断的时候执行查询程序。同时我们可以比较在相同的时间里完成中断然后进行从1的自加。比较这两种方法的效率,中断法较好。 (4)N5110D的部件的应用需要了解部件的初始化,对其进行一些一些基本的初始化,然后加上一些自己定义的函数,然后加载到程序的主要步骤中。 (5)PWM波的产生方法科协的学长给我们上过课,范例也给了,应用到这里基本不用改变多少语句。如何将PWM波的波形显示到5110上是通过对占空比的控制实现的。 (6)通过串口选择,我们可以提高速度,达到实时性要求目前达到1兆每秒数据存储。 4. 程序清单 每一个子程序上面都要有详细说明 里面代码 注释。。。 #include hidef.h /* common defines and macros */ #include derivative.h /* derivative-specific definitions */ #include 5110.h #include key.h #include LCDshow.H byte flag=0; byte Width=20; void main(void) { N5110_Init(); for(;;) { LCD_show(); Key_Init(); } } 说明: P1口产生周期为5毫秒的PWM波 #ifndef _PWM_H_ #define _PWM_H_ #include hidef.h /* common defines and macros */ #include derivative.h /* derivative-specific definitions */ void PWM_Init(void) ; #endif #include PWM.h void PWM_Init(void) { PWME_PWME0 = 0 ; // 禁止要设置的通道 , 因为要级联 , 该通道被屏蔽即使打开也没波形 PWME_PWME1 = 0 ; // 禁止要设置的通道 PWMCTL_CON01 = 1 ; // 合并通道0和1形成16位PWM通道 , 通道0和通道0的设置被屏蔽 PWMPOL_PPOL1 = 1 ; // 设置通道极性 , 起始输出高电平,占空比就是高电平 PWMCAE_CAE1 = 0 ; // 设置对其方式 , 左对齐方式 PWMCLK_PCLK1 = 0 ; // 设置参考时钟 , A时钟为参考时钟 PWMPRCLK_PCKA = 0 ; // 设置A时钟的分频系数 PWMPER01 = 40000 ; // 设置周期计数值 PWMDTY01 = 20000 ; // 设置占空比 , 初始为0 PWME_PWME1 = 1 ; // 使能通道3 , 即开启PWM } #ifndef _KEY_H_ #define _KEY_H_ #include hidef.h /* common defi

文档评论(0)

1亿VIP精品文档

相关文档