智能车实验室7.21-7.31计划
给新一届实验室成员的培训计划,希望下届能弥补今年我们留下的遗憾吧....
GPIO的使用(7.21):
分别介绍普通IO口作为输入和输出功能的实现方式,完成以下实验:
(1)流水灯实验:用摄像头组的实验板,电路中LED0-LED3分别连接到PORTB0--PORTB3引脚上,完成流水灯实验,即依次点亮一个LED灯,中间用一个延时,要求用尽可能多的方式实现。
(2)拨码开关控制LED实验:实验板中有四个拨码开关分别接到PORTB4--PORTB7引脚上,用这四个拨码开关分别控制四个LED灯的亮灭。综合了端口的输入和输出功能。
第一次实验,主要熟悉如何在CodeWarrior IDE下建工程、编辑、编译以及下载程序,了解在线调试的基本方法。掌握单片机的GPIO的功能及编程方法,注意编程细节。
锁相环倍频(7.22):
介绍倍频的意义,参考芯片手册第八章讲解倍频的设置方法,要求完成将芯片频率提高到16M、32M、40M等频率。比较在不倍频和将频率提高到16M,上次写的流水灯实验流动的速度,并理解倍率的意义。
PWM实验(7.22--7.23):
介绍PWM在控制舵机转向和电机转速方面的原理,结合芯片手册第13章讲解PWM波形设置的方法,完成实验:
(1)产生一个频率为30KHz、占空比为1/3的波形,由引脚PP7输出,并在示波器下观察此波形。
(2)引脚第二功能实验:通过设置相关RoutingRegister,将上个实验波形由引脚PT7 产生。
(3)PWM级联实验:理解级联的作用,将PWM2和PWM3级联之后,产生一个频率为2KHz、占空比为1/2的波形,由PP3输出,并在示波器下观察此波形。
(4)分别将设置好的不同的PWM波送给电机和舵机,观察车子速度以及转角的变化。
ECT模块实验(7.24--7.25):
结合芯片第16章介绍单片机定时/计数器模块,完成以下实验:
(1)输入捕捉实验:捕捉PT0引脚电平的变化,如果有一个高电平触发,将单片机的LED点亮。穿插介绍摄像头的工作原理及信号采集方法。
(2)输出比较实验:改写第一次流水灯实验,实现精确延时1s钟灯流动一次。重点介绍中断的概念,以及中断程序的编写方法。
(3)脉冲计数实验:用单片机的PT7口进行脉冲计数,用一个5v的电平触碰PT7角,单片机将所计的脉冲数用LED显示出来。穿插介绍编码器的测速的工作原理。
SCI模块(7.26--7.27):
介绍串口通信的概念,结合芯片手册第14章讲解相关串口的设置,完成以下实验:
(1)从单片机每隔一段时间发送一个数据到上位机,使用串口助手接受发回的数据。
(2)上位机发一个指令给下位机,如果是设置的指令则发回相关的数据,如要求上位机如果发来的是0x01,下位机发特定数据回来,否则不发送。
(3)使用串口控制电机转速、舵机转角,如发送05+**控制电机转速;发送06+**+**,控制舵机转角。
AD实验(7.28--7.29):
自学AD模块,并能采集到光电组或电磁组某个灯或电感的数字量,有能力的话可以找到黑线所在的位置。
综合实验(7.30--7.31):
(1)试着写摄像头采集图像的程序,不要求提取黑线的位置,并将数据发回上位机,在Matlab下观察发回来的图像。
(2)试着写光电组或电磁组采集赛道的程序,将黑线的位置在相应的单片机的LED上显示出。
邮箱:haifenglinying#yahoo.cn (#->@)
个人主页:www.hazirguo.com