预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共26页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

单片机原理及接口技术(实验教程)动力装置电控所编哈尔滨工程大学前言单片机是一款功能强大的实用工具,其本身的性质就决定了学习单片机最为有效的途径—实践。而实践的缺乏同时也是造成大多数人学习单片机比较困难的主要原因。本实验课程设置的目的旨在部分解决上述问题,为同学们提供相关实验设备,通过实践的方式解决理论学习中存在的疑惑,以期达到整个课程设置的目的:帮助同学们完成单片机入门知识的学习。实验预习及实验步骤请参考第一章实验手册实验课程分数分配请参考第二章考核方式相关软件以及驱动安装请参考第三章实验箱使用说明第一章实验手册实验一单片机通用输入输出端口应用实验(一)实验目的1、熟悉实验箱的组成与使用。2、掌握程序的下载与调试的基本流程。3、了解单片机通用端口工作的基本原理。(二)实验器材主机试验箱组件接插线(三)实验说明本实验旨在通过使用GPIO(通用输入输出端口)检测拨码开关状态和点亮LED小灯的形式使学生了解单片机工作的基本原理。(四)实验原理1、LED原理如下图所示,8个LED(D1—D8)一端接VCC5,另一端接三极管(RQ1—RQ8)的集电结。三极管发射结接地,基区经电阻(RD1—RD8)接插孔D-JK。16个插孔每两个一组,分别对应8个LED,同组的两个插孔等价。由三极管的工作原理可知。将插孔,即三极管的基区电压接低。使得三极管集电节反相偏置,LED正向导通后点亮。图1-1LED原理图2、拨码开关原理如图所示四个拨码开关(K1—K4),“1”脚接地,“3”脚悬空,“2”脚一方面经1K电阻与VCC-Input连接,另一方面与插孔K-JK相连。通过拨动拨码开关改变插孔K-JK的输出电平。当“2”脚与“1”脚连接时,插孔K-JK被拉低。当“2”脚与“3”脚连接时,插孔K-JK被置高。图1-2拨码开关原理图(五)实验步骤1、安装CodeWarrior5.0(上课前务必安装好)。2、由实验指导老师介绍实验原理,注意事项。3、连接下载器与主机,参考本教程第三章第二节的步骤3、4安装下载器的相关驱动。5、将子版上PB端口的8个插针分别与8个调试小灯(D-JK)相连,将拨码开关K4与子板上PA的第0端口相连。图1-3实物连线图5、连接烧写器与目标板。7、经指导老师检测无误后上电。8、在CodeWarrior开发环境中打开实验资料/程序/CodeWarrior5.0编写/Project01GPIO,并将编译无误的程序烧写到目标板中。9、点击全速运行按钮后拨动拨码开关,观察LED灯亮灭变化。12、修改代码改变LED灯的点亮逻辑,诸如左边四个与右边四个交替点亮,或是8个灯交叉点亮。10、关掉电源,从子板上拔掉下载器。11、重新上电,拨动拨码开关,再次观察实验现象。(六)程序流程图开始配置端口方向寄存器否PA0端口是否为高是LEDLED明灭交替流水灯结束图1-5程序流程图(七)源程序代码voidmain(void){/*putyourowncodehere*/bytek=0,temp=0;inti=0,j=0;//变量声明//配置端口方向寄存器DDRB=0xFF;//PortB全为输出DDRA=0xFE;//PortA的第0端口为输入EnableInterrupts;for(;;){if((PORTA&0x01)>0)//如果PortA的第0端口为高{for(i=0;i<1000;i++)for(j=0;j<1000;j++);//软件延时PORTB=~PORTB;//将PortB端口数据寄存器值按位取反}else//如果PortA的第0端口为低{for(k=0;k<8;k++){temp=0x01<<k;//逻辑左移k位PORTB=temp;//赋值PortB端口数据寄存器for(i=0;i<1000;i++)for(j=0;j<500;j++);//软件延时}}}/*waitforever*//*pleasemakesurethatyouneverleavethisfunction*/}实验二输入捕捉和PWM输出模块编程实验(一)实验目的1、了解TIM(ECT)与PWM模块的基本工作原理。2、熟悉并掌握对输入捕捉模块的控制与使用。3、能够进行输入捕捉技术的C语言编程。(二)实验器材主机试验箱组件接插线(三)实验说明本实验完成PWM模块和输入捕捉模块的使用,在程序中使用PWM模块产生矩形波,其中PWMPER0寄存器用于设置PWM的周期,PWMDTY0寄存器用于设置PWM的占空比,PWM模块的运行频率是总线时钟16分频,即1MHz,如果PWMPER0=200,相当于PWM模块输出波形的周期为PWM模块运行周期的200倍,周期为200μs。将PWM模块的输出与输入捕捉模块相连,输入捕捉用于PWM周期检测,程序中设置的输入捕捉进行下降沿捕捉,由于输入捕捉