下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1的的)入门实验,引导学生学习开发工具和构建简单的实验,以致掌握O口的入门知识;第4C机高端做串行通信C的实验,以致掌握简单的通信入门知识;第5章为O的基础实验,可以掌握系统的O口基本知识;第6握统章1013章、第12P、2C、2、C9h握a的1高容量D握14选取了1个的和第一章CODEWARRIORFORFREESACLEKINETIS集成开发环 CW10.2环境安装和设 第二章ARMCORTEX-M4KINETIS硬件实验系 SD-EXTBOARD-D型扩展 AT45DB041D的SPI接 备用SPI接 PCF8563的IIC接 备用IIC接 CAN驱动电 CAN接 USB接 Zigbee模块接 飞思卡尔Kinetis微控制器写入 SD-PRG-Kinetis写入器简 SD-PRG-Kinetis写入器的使 第三章程序框架和GPIO口的实 第六章定时器相关模 实验六PDB模块定时溢出实 实验 实 实验八输入捕捉实 实验九输出比较实 第七章A/D、D/A和TSI模 实验十模拟量数字量(A/D)实 实验十一12位D/A转换模块实 第八章通 实验十三SPI实 实验十四I2C实 实验十五I2S实 第九章FLASH编程实 第十章K60CAN总线开发方 实验十七CAN总线实 第十八章高容量SD卡 实验十八SDHC实 第十二章USB2.0编 实验十九USB通信实 第十三章基于K60的以太 实验二十以太网通信实 第十四 毕业设计范例-射频卡读写系 四.PC方设计实 附录:实验报告样 实验名称:串口通信(SCI)实 第一章CodeWarriorforFreesacleKinetis叉编译和调试环境,即编辑和编译在通常的PC机上进行,而编译好的需要通过写入工具到目标机上执行,如K60目标机。由于主机和目标机处理器的体系结构彼此不EclipseCodeWarriorDevelopmentStudioforMicrocontroller作为一V10.2license问题,在稳定性和对系统使用CWv10.2进行FreecaleKinetis产品的开发。本文将对使用CW些license都是要的。鼠标就可以自动完成。具体安装过程,请参考http://s Cortex-M4Kinetis】->【CodeWarrior10.2简明手册(V1.1)CodeWarriorforFreesacleKinetis 用,均点击“是”即可。另外还有一种简单的方法,找到工程最里一层的工程文件夹,例如上例的(2)编译、源码工Project->BuildConfigrations->SetActive->项目,如图1-3所示。理ProjecPg完成对工程的重新编译,如图1-4所示。理1-4利用苏州大学“飞思卡尔Kinetis微控制器写入器”写程序时,若写入器不升级,将无法将程序写入中,将出现图1-5所示的升级提示。1-5KinetisJ10两脚的短排针焊接上,并给它加6提示框的“OK”按钮。1-6点击中“”工具图选“FlashFileTo 出现编程框。xxx.afx(1-7第二章ARMCortex-M4Kinetis硬件实SD开发套件是针对飞思卡尔ARMCortex-M4Kinetis系列的开发工具,提供与PC机连接,通过BDM接口与板连接(如图2-1。在集成开发环境的支持下,通过P板2-1SD-ExtBoard-D座接口如图2-2所示。图2-2板底座接口示意板底座接口共有四个双排插座:Core1、Core2、Core3Core4。为方便接线,每个插座对应一个40引脚的单排插座。口、USB、CAC、SPI、以太网口、Zigbee、RFIDUSB等。此外,扩展板上还提供了六列插孔,元件进行实验。下面对各模块进行详细描述。2-312LM2576T-ADJ5伏和3.3伏两种电源,电路原理图分别如图2-4和图2-5所示。根据实际电路(如AD)LM2576T-ADJTO-220封装,输入电压范7V40V3.0A。P2-C1120uF75V铝电解电容;P2-C21000uF25V铝电解电容;P2-D1为肖特基二(=2-52-4P2-R2P3-R2的阻值不同。输出电压=Vref*(1+P3-R2/P3-R1)=1.23*(1+1.7/1)=3.321V≈3.3V,其中Vref=1.23V。表测量12V、5V以及3.3V是否正常;黑点的一端为1号脚;二极管的白端为负。2-6所示,其中,RST-K为复位按钮。RESET为复位信号,已与即处于未按下状态。若RST-K按下,则RESET为低电平。测试步
2-62-782-7所示。D-JK16引脚(8对)插孔,供用户导线,将相应引脚与GPIO端口引脚连接。D-R1为39Ω的排电阻,D1~D8为指RQ1导通,D1D-JK的①或②脚为低电平,则三极管RQ1截止,D1指示灯熄灭。除电源和地线外,调试小灯模块与外界没有任何连线。测试步测试小灯模块不需要板。按照次序焊接好元件后,接通12V电源,用导线的一端接+5V,另一端依次点接插孔D-JK的1~16脚,观察1~8盏小灯是否能够点亮。PNP,箭头向里;9013和9014为NPN,箭头向外;)(3)排电阻带点端为1号脚(公共;2-8K1K1向上拨动,则K-JK的①脚输出低电平;若向下拨动,则K-JK的①脚输出高电平。2-8测试步测试开关K1:将导线的一端接插孔K-JK的1脚,另一端接调试小灯模块中的插孔D-JK中的任意一孔,拨动开关,观察小灯是否出现下列情况:开关拨到下方,对应小灯点数码管(42056(a~h,(CS0~CS32-92-1hgfedcba0001111111000001102010110113010011114011001105011011016011111017000001118011111119011011112-10LED1为共阴数码管,LED-LDx=1时对应的段点亮。LED-LDx=0时对应的段熄灭。LED1-CS0LED1-CS34个片2-10表2-2数码管模块与板接口连接对应关LED1-LD0310LED1-LD4214LED1-6LED1-LD11111LED1-LD5515LED1-7LED1-LD2812LED1-LD61016LED1-8LED1-LD3413LED1-LD7617LED1-9测试步首先,测试最左端8段显示:用一根导线将LED1-CS0(Core3的第6脚)接5V,用另一根导线依次将LED1-LD0(Core310脚)~LED1-LD7(Core317脚)5Va~h段是否依次点亮。然后,按照上述方法依次测试另外3个8段显示。线圈,输出电流为10A。继电器模块的电路原理图如图2-11所示。JDQ-JKMCUI/O若JDQ=0(默认状态则JD1截止,继电器的4脚和5脚之间无电流,1脚与继电器控制引脚JDQCore35脚已连接。JDQ-JK处进行连线之外,也可以在Core3的第5脚处进行连线。测试步
2-11用万用表检查IN(2脚插孔)与Close(2脚插孔)是否连接(应该连接与Close(2脚插孔)是否断开,而IN(2脚插孔)与Open(2脚插孔)是否连接;测试步
2-12电位器模块的原理图如图2-13所示。其中,V1和V2为电位器,调节V1,V2阻值相应变用户可在接插槽ADV1-JK或另外,ADV1-JKADV2-JK分别Core334脚连接
2-13测试电位器模块不需要板。在接插槽ADV1-JK或ADV2-JK处连线至一盏小灯的ADV1-JK或ADV2-JK处的电压,观察电压变化情况。1Key1、key2、Key3Key4MCU的输出端口连接;Key5、key6、Key7
2-14的键面符号与键值的对应关系如表2-3所示。2-32扩展板提供两种键盘连接方自动接板接口Core2已有如表2-4所示的连接关系。KeyBoard-KeyBoard-126530227631328732429833手动接若在KeyBoard-SD处键盘,则用户需人工连线。在扩展板上,由于KeyBoard-SD1~8脚已分别与接插槽KeyBoard-SD-JK的各引脚已连接,因此用户可在接插槽3测试步液晶16160216个引脚,引脚定义如表2-5。12电源34寄存器选择;1-0-5读写操作选择:1-0-6E使能信号:R/W=0,ER/W=1,E=178地2-15扩展板提供两种LCD自动接若在LCD-ZD处液晶模块,则不必人工连线。扩展板上LCD-ZD插座与板接口Core2已有如表2-6所示的连接关系。LCD-LCD-LCD-LCD-414LCD-717LCD-1121LCD-515LCD-818LCD-1222LCD-616LCD-919LCD-1323LCD-1525LCD-1020LCD-1424手动接将RS、RW、E、D0~D7信号线与板接口的相关引脚连接即可。测试步1用以接温度传感器。插座AD1和AD2用以接其它类型的传感器。接线插孔AD1-JKAD2-JKVCC-Input可通过电源模块中的开关PW-Sel选择为3.3V或5V传感器转换输出AD1AD2、AD3AD4已分别与Core2的第2~5脚连接。2-16灰度传感而由黑到白之间的明暗度均匀地划分为256个等级。A/D值在反射光线很弱(也就是地面为深色)700KΩA/D图2-17灰度传感器实 图2-18灰度传感器模块电路温度传感器模电阻器,其电路原理图如图2-20所示。 A/D图2-19温度传感器实 图2-20温度传感器模块电路 R=R×e[B× R1是25℃时热敏电阻的阻值 B值为T1是25℃的绝对温度:25+273=298; 假如当前温度为30℃,T2=30+273=303,则热敏电阻的阻值是:2R=10×e[3435×(1/303-2取采样点的A/D值,计算热敏电阻的阻值,从而反推出温度值。在应用中,常常将A/D值和对应的温度值以表的方式保存,用查表就非常快地得到温度值。红外传感器模着一种神奇的光线,人眼无法看见这种光线,但它的物理特性与可见光线极为相似,有很宽,介于0.75~1000微米之间,频率低于可见光。二极管,外形与普通φ5mm发光二极管相同,它发出的是红外线而不是可见光。本模块中的红外发射电路如图2-22所示。-I- 可 发2-222-21ISR接的I/O引脚,当引脚产生40KHZ的时,发射管会发射红外光。通过改2测试步1扩展板的右上角 电机控制接口,其原理图如图2-23所示。插 12用于电机。接插槽 1-JK和 2-JK用于连线,它们已分别与Core1的第32和33引脚连接。用户可连线至MCU的I/O口,作为控制电机运行的控制信号。2测试步
图2-23控制接口原理扩展板的左上部提供了TTL电平与RS-232C电平的转换MAX232,图2-24是MAX232的引脚图。MAX2322组电平转换(2-7):TTL电平(T1IN)→RS-232C电平(T1OUT)TTL电平(T2IN)→RS-232C电平(T2OUT)
2-24MAX232电平的输入、输出引脚分别与其它设备(如PC机)2脚12脚13脚3脚11脚14脚4脚10脚7脚5脚9脚8脚2-25所示。图中T1OUT和T2OUT信号各接一盏小灯,当微处测试步
2-25串口转RS232USB模块,用PL2303HX(28脚贴片SOIC封装该的工作频率为12MHZ,符合USB1.1通USB75~1228800bps22种波特5、6、7、8、1652-26中,RXD0Core12脚连接;TXD0已与Core13脚连接。测试步
USBUSBPC机连接。扩展板上电后,PC机右下角是否多了一项COMx(如、5等。AT45DB041D的SPI接AT45DB041D的SPI接口电路原2-27所示。AT45DB041D0-7扇区(Sector每(Block(Page(Byte2-27AT45DB041DSPI接口电路原测试步备用SPI接考虑到用户可能使用SPI接口与其它进行通信,扩展板上还提供了两组备用表2-8备用SPI接口与板接口的连接关SPI1-24SPI2-28SPI1-25SPI2-29SPI1-26SPI2-30SPI1-27SPI2-31PCF8563的IIC接测试步
图2-29PCF8563电路原理2-30IIC表2-9备用IIC接口与板接口的连接关IIC1-20IIC2-22IIC1-21IIC2-23CAN表2-10CAN驱动模块与板接口的连接关CAN1-16CAN2-18CAN1-17CAN2-19测试步1)DZ60板将DZ60板的PTE7与扩展板CAN1-J1的2脚(右边,Rx)连接;将DZ60板的PTE6与扩展板CAN1-J2的2脚(右边,Tx)连接。写入并运行DZ60板测试程序CAN_selfCAN接2-32CAN接口原理2-33表2-11网络接口与板接口的连接关68107911测试步USB接表2-12给出了两组USB接口与板接口Core1的连接关系USB1-USB2-USB-J1-12USB-J2-14USB-J1-13USB-J2-15最基本的RFID系统由3部分组成:电子(内含和内置天线、阅读器(向标签发射信号,并接收的应答、天线。扩展板上提供的RFID电路原理图如图2-35区的A(6个字节、存取控制(4个字节、B(6个字节。在状态下,尾块16个字节数据为:0x000000000000FF078069FFFFFFFFFFFF图2-35中,RF-JK是RC531与其它模块通信的SPI接口,需人工连线。RF-ANT测试步测试步
Zigbee模块的RX1TX1(均在上排)TTL-0RXD0和TXD0启动PC串口调试工具,按下复位按钮ZB-RST,若有提示信息表示程序写入板对于不同MCU,需要设计相应的板,板的实质是的最小系统,包含晶振引到相应的接口上,这需要和扩展板配合工作。苏州大学飞思卡尔实验中心设计了些构件复用的引脚少许改变而已。比如LED、LCD、键盘等使用GPIO端口引脚不同。本节讲述以ARMCortex-M4Kinetis系列微控制器K60-A为例的板。有的者可以参考《系统原理与实践—ARMCortex-M4Kinetis微控制器》一书,并试着SD-K60板实物图如图2-37所示
(1)最小系“..\WYH-K60-BookA-CD(V1.0)\整体资料\K60_Core_HW_Project。(2)板引脚说板引出了所有的GPIO和其他非K60最小系统的引脚。具体的引脚如图2-示。2-38Core1、Core2、Core3(3)K60板通过Core1、Core2、Core3分别与扩展板的Core1、Core2、Core3连接,其引脚使用情况分别如图2-39所示。型板,请去http://s 【教学与培训】->【ARMCortex-M4Kinetis教 ponents(K60构件)(V1.6).rar1)板导入第一个样例程序—小灯测试程序2)串口测试程序将板串口与PC机串口连接写入并运行“SCI”测试程序,启动PC端串口调试工具程序使用UART3和PC机通信。每隔1秒钟发送" o!World!"到PC机,同时等待接收PC机发送的数据,当接收到了来自PC机的数据后立即回发。键盘测试程序1)将板串口与PC机串口连接2)若将键盘接上排插座KeyBoard-ZD,无需任何接线;若将键盘接下排插座KeyBoard-SDKeyBoard-SD-JKKeyBoard-SD-JK1~8脚依次与3)写入并运行“KB”测试程序,启动PC端串口调试工具,按键盘上任意键后,数码管测试程序液晶测试程序YM1602CLCD-ZDYM1602C接下排插座LCD-SDLCD-SD-JKLCD-SD-JKD0~D7PTA口的别与PTC4脚、6PTF6脚(Core2LCD-RS、LCD-RWLCD-E)定时器相关模块测试将板串口与PC机串口连接程序使用UART3和PC7测试程序: 输入捕捉测试程序将板串口与PC机串口连接将配置为输入捕捉的引替连接地和3.3V程序使用UART3和PC输出比较测试程序 1)将板串口与PC机串口连接写入并运行 pare”,启动PC端串口调试工具观察串口调试工具显示框中显示“SuccessfulAD测试程序将板串口与PC机串口连接DA测试程写入“ADTSI测试程将配置为TSI写入“TSI”测试程序并运行,启动PC端串口调试工具。触摸传感器,观察串SPI测试程将两个SD-K60-A型板相连,注意连线正确,并将其配置为主从模式两个板分别写入“SPI”测试,启动PC端串口调试工具。观察串口显示框 oWorld!”,若是,则表明通信正常。I2C测试程查电路是否正确并将板置于扩展板上。扩展板通过串口线连置PC机。K60设为主机,PCF8563设为从机写入“I2C”测试程序并运行,启动PC端串口调试工具明I2C模块测试正常。I2S测试程将板串口与PC机串口连接写入“I2S”测试程序并运行,启动PC端串口调试工具Flash测试程序将板串口与PC机串口连接写入“Flash”测试程序并运行,启动PC端串口调试工具CAN总线测试程序将板串口与PC机串口连接写入“CAN_SeftTest”测试程序并运行,启动PC端串口调试工具正常,表明CAN模块测试正常。SDHC模块测试程序USB2.0测试程序将板的USB接口与PC机USB接口连接写入“USB”测试程序并运行,启动PC端USB通信测试根据USB通信测试的输入文本框提示,在“字符输入框”中输入相应命令,以太网模块测试程序将板与PC机通过网线相连接,并且请切记两者处于同一网段中写入“TCP”测试程序并运行,启动PC端TCP通信测试根据TCP通信测试的输入文本框提示,在“字符输入框”中输入相应命令,点SD-PRG-KinetisSD-PRG-KinetisFreescaleARMCortex-M4KinetisK60MCU。开发环境使用FreescaleCodeWarriorIAR。写入器使用USB线缆连接PC,使用OSJTAG排线连接目标板。如图2-40所示。该写入器配有苏州大学飞思卡尔系统研发中心开发的独立写入,主要供生产时使用。
2-40SD-PRG-III实物PCUSB口相连,系统弹出“发现新硬件”的提示,并弹出“找驱动 SD-PRG-KinetisCodeWarrior下使用中的Flash编程器擦除和写入程序即可擦写程序,非常简单方便。使用F11快捷键能够实现调试。选择将程序到FLASH中。如图2-41所示。驱动中选如图2-42所示。2-42Options
图2-43图2-44Flash第三章程序框架和GPIOGPIO3、理解样例中GPIO口的编程方4、掌握利用GPIO构件进行再编程的方法置GPIO口为输出。01。c)若是输入引脚,则通过“数据输入寄存器”获得引脚的状态。若指定位为0,表示GPIO口输入状态为低电平,GPIO1、硬件设通过开关开合通过MCU控制小灯亮暗。用口的号引脚连接小灯,用口的号引脚连接开关,开关+3-1+3-12、设 (画小灯驱动程序的流MCU)=((pin,GPIO_PDDR_REG(pt)设置为0,即设置为输入BCLR(pin,GPIO_PDOR_REG(pt)),设置为输出低电平。Clight.h头文件和数。源文件对初始化函数和驱动函数进行定义。具体实现代码见光盘。2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线第四章25芯已渐渐淘汰。串口的通信协议遵循RS-232标准,本实验着重介绍了它的使用UART2、理解样例中UART口的编程方法3、掌握利用UART构件进行再编程的方法4、学会在PC机上用C#语言编写高端界面1、练光盘资料中提供读者串口通信UART实例(在SD-FSL-K60Prg(V1.0)\Ch04-该开关量后通过GPIO口控制小灯的亮灭。UART模块涉及到的波特率寄存器、控制寄存器、状态寄存器和数据寄存器。要成功 功时,状态寄存器(UARTxS1)的发送数据空标志TDRE(7)为1,数据可以写入数据寄存器高端PC高端界面采用VisualStudio与C#MCU发送此实验是在原有构件基础上,增加了PC控制MCU端小灯的功能1、硬件设K60GPIO口相连。小灯的连接是用口的号引脚和一个小灯接口连接。硬件连接图如4-1所示。2、设MCU(UART发送一个字节程(UART接收一个字节程(画UART中断程序流编程采用规范要求编写,在MCUUART独立成一个构件,如C语言中,形成UART.h头文件和UART.cUART模块的所用寄存器及其寄存器所用的BGET(ReTestBit,ReSendStatusR(uartch)//判断接收缓冲区是否datReSendDataR(uartch)ReSendDataR(uartch)=ch//发送数据示发送成功与否的状态在PC界面上,方便用户调试。(C#语言编写开关控制程序)2)下面填写主程序main实验前应该首先确认所使用硬件设备的正常与否。MCU测试、UART测试方法如第二2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线4、串行UART通信有哪些中断?各在什么情况下发生,作用是什么第五章GPIO1、进一步掌握CodeWarrior10.1开发系统环境及其调试方式,熟练的使用C脚依次与和PORTD7。行扫描法是使键盘的某一行输出为低电平,其余行为高电平,然后列值,高端PC
高端界面采用VisualStudio与C#button控件,在Group框中绘制一4*4数据帧。MCU接收成功后解析数据帧。数据帧格式可由用户自己定义,比如:A(帧头此实验是在原有样例构件基础上增加在PC显示键值功能。1、硬件设此实验使用苏州大学飞思卡尔中心的Kinetis写入器K60板SD-扩展(带用“手工”接线,键盘的数据线分别接在MCU口的号引脚、MCUUART3发送引脚口的MAX232TTL电平接收引脚(号),MCUUART3接收引脚口的MAX232的TTL电平发送引脚(号)。2、设MCU端程序(画键盘扫描程序流(画键盘中断程序流hw_gpio_init(KBPort,KBPin[i],0,0)//设置行线所连的端口为输入CR_PS_MASK;//行线上hw_gpio_initKBPortKBPin[i1,0)//设置列线所连的端口为输出2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线LED1、进一步掌握CodeWarrior10.1开发系统环境及其调试方式,熟练的使用C理解8段数码管(LED)展板上的四连排的LED显示。据线共享,CS3、CS2、CS1、CS08段阴极的公共引脚。为了使每个时刻只亮度,将位选线各自经过三极管连接,提选线的电流。 ,看起来则是同时显示的,放原理也如此。LED所用的接口IO口,功IO口的普通功能。所以编程也是先确定接口的方向,然后将所显示的开关量送给LED,LED是将成形的小灯组相应的数字。高端PC高端界面采用VisualStudioC#PictureBox控件,在Group4个值,且4个数字量通过组帧方式,由高端通过串口MCU发送数据帧。MCU接收成功度)+(有效数据)+D(帧尾。这里,这4个数字量就由帧的有效数据。此实验是在原有样例构件基础上增加在PC端模拟数码管显示功能1、硬件设2、设MCU端程序 hw_gpio_init(LedData,LED_D[i],1,0)//数据口定义为为输出,数据口输出constuint8Dtable[22]01234567890123456789 LED(其实就是小灯点亮的原理)hw_gpio_setLedCSLED_CS[j]0)位选全部置0temp=(c>>j)&0x01hw_gpio_set(LedData,LED_D[j],temp)//数据上线hw_gpio_setLedCS,LED_CS[i1)//选择的位选置12、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线LCD互通信。要求在高端文本框中输入文本信息后,该信息通过帧格式发送出去,PC端的虚拟LCD和SD扩展板上的LCD同时显示该文本信息。MCUHD44780LCD。LCD7~14脚(D7~D0)MCUPTE11、PTE8、PTE9连接,MCU与液晶接线图如图5-5所示。RS=1、R/W=0DB7~DB0上的数据写入数据寄存器DR,同时DR的数据由操作自动写入DDRAM或CGRAM。当RS=1R/W=1时,操作将DDRAM或CGRAM送到DR中,通过DR送到数据总线个数,所使用的地址不同,具体详见《系统原理与实践—ARMCortex-M4Kinetis微控制器》第五章节LCD小节。高端界面采用VisualStudioC#TextBox控件,在Group框中绘制一个虚LCDLCD显示相应文本信息,且这写信息通过组帧方式,由高端通过串口向MCU发送数据帧。MCU接收成功后解析数此实验是在原有样例构件基础上增加在PC端模拟LCD显示功能1硬件设此实验使用苏州大学飞思卡尔中心的Kinetis写入器K60板SD-扩展(带用“手工”接线,LCD的数据线接在K60MCU的口的 线分别接在口的号引脚、口的号引脚、口的号引脚。MCU的UART3发送引脚口的号引脚接MAX232的TTL电平接收引脚(号),MCU的UART3接收引脚口的号引脚接MAX232的TTL电平发送引脚(号)2设1)MCU CLCD.h头文件和1)MCULCD连接的引脚,再发送给LCD控制器命令hw_gpio_init(LcdData,LCD_D[i],1,0);//定义数据口为输出hw_gpio_init(LcdControl,LCDRS,1,0);//定义控制口为输出hw_gpio_init(LcdControl,LCDRW,1,0);hw_gpio_init(LcdControl,LCDE,hw_gpio_setLcdControl,LCDRS0设置指令,RS,R/W00,mand(0x385*7点阵模式,2行显示,8位数据总线mand(0x08);//关显示,关光标显示,不闪烁mand(0x01);//清屏mand(0x0C);//开显示,关光标显示,不闪烁2)LCD显hw_gpio_set(LcdControl,LCDRW,mand(0x80);//7位为DDRAM地址(0x00)hw_gpio_set(LcdControl,LCDRW,0);hw_gpio_set(LcdControl,LCDRW,mand(0xC07位为DDRAM地址(0x40)hw_gpio_set(LcdControl,LCDRS,1);2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线本实验在HD44780LCD显示屏基础上进行,MCULCD输送指令和数据,是通次为“failLCD显示“GAMEOVER”,否则“GAMEWIN6、设计一个打字机,即规定时间(如:20秒钟)内,由4×4键盘的输入LCD上failDELDEL第六章PDB-FTM-LPTMR-PDB-PIT-RTC)程序文件夹下)PDBDAC输出的可控延时功能实现定时计时。配置PDB状态控制寄存器SC可选择DAC8路触发源、/PDBCNTPDBIDLY设置的延时值时,将产生触发中断,判断中断标志PDBIF,在原有构件基础上,再封装一个时分秒计时构件,放在延时。了解功能参照K60手册和《系统原理与实践—ARMCortex-M4Kinetis微控制器》。1硬件设LED的数据线接在K60MCU 口注:若使用苏州大学飞思卡尔中心设计的SD-扩展板与K60板相连,则无2设(画定PDB0定时溢出时分秒(画定PDB0定时溢出时分秒 MCU编程要使能PITPDB0定时溢出时分秒程序hw_pdb.c源文件。头文件对所用端口寄存器或引脚进行宏定义以及初始化函数和驱动函数。源文件对初始化函数和驱动函数进行定义。2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线实验七实 要求高端能够控制MCU,改变占空比,并将波输出引脚连接至一盏小灯,观高端界面采用VisualStudio与C#MCU发送主要阐述边沿对齐模式的工作原理。 FTMx_SCFTMx_MOD寄存器决定。SC状态控制寄存器可配置选择时钟源、分频因子以确定计数频率。MOD寄存器决定计数终值,当计数达到设定终值即将进入下一个计数时,计数器清零同时输出翻转。周期=(TIN+1)*时钟周期。这里,要注意输出周期范围。时钟源可选系统时钟(96Mhz)、总线时钟()(48Mhz)、计数值范围0-65535。2)占空FTMx模块的通道计数值寄存器V V所设定值时, 1硬件设此实验只需将MCU的 户需查手册的引脚复用)。同时,用USB转串口线将PC机与MCU相连。2设 (画PC端主函数的 MCU编程要例如FTM0输 的寄存器配置(参考FTM0时SIM_SCGC6|=SIM_SCGC6_FTM0_MASK;//使能FTM0时FTM0_MODE|=FTM_MODE_WPDIS_MASK;//写保护(此步很重要,必须在写设置周FTM0_MOD=period; FTM0_C0V=(period/100)*duty;FTM0_C0SC|= FTM0_C0SC&= FTM0_SC (填写PCSCI接收函数PC端的发送函(填写PCSCI发送函数注:编程采用规范要求编写,将定时器独立成一个构件,如C语言中,形成hw_.hhw_.c源文件。头文件对所用端口寄存器或引脚进行宏定义以及初始化函数和驱动函数。源文件对初始化函数和驱动函数进行定义。实验前应该首先确认所使用硬件设备的正常与否。MCU测试、 2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线4、该实例是通过对占空比的调节,实现小灯的渐亮的功能,当占空比为100%时再从0%逐渐增加。的周期一定要足够的快,否则其输出电压的波动范围很大,且不带缓冲和带缓冲 思考如何用定时器的功能设计D/A转换编程注意通道寄存器与预置寄存器数据不要有什么关系,否则不能得的1、练习光盘资料中提供的InCapture模块实例(在SD-FSL-K60Prg(V1.0)\Ch06-要求高端能够实时显示MCU捕捉的波形。高端界面采用VisualStudioC#VisualStudio工具箱的控件ZedGraph实现(若工具箱无此控件,请自行去网上搜查)。ZedGraph在描画折线图的时候,将所有的坐标点都保存在PointPairList中,在画线的时候以这个为X,Y坐标。要作动态的折线图,实际上就是不断在这个PointPairList中添加点坐标,然后刷新就可以了。号发生变化时,在指定的输入捕捉引脚发生一个指定的沿跳变(由FTMx_CSC寄存器的ELSnB和ELSnA域指定是上升沿还是下降沿)。定时器捕捉到特定的沿跳变后,会把计数此次实验,在样例构件基础上,底端增加构件,高端封装ZedGraph显示构件1硬件设此实验只需将MCU的输出引脚连接至输入捕捉引脚即可(具体如何配置输出、输入引脚,用户需查手册的引脚复用决定)。同时,用USB转串口线将PC机与2设(FTM1输入捕捉中断程序的(FTM1输入捕捉中断程序的 MCU端编程要SIM_SCGC5|=PORTA_PCR8=FTM1_C0SC FTM1_SC=0x0C;FTM1输入捕捉中断程序hw_in_cap.c源文件。头文件对定时器输入捕捉初始化进行申明。源文件对定时器输2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线、理解 、掌握利 pare-PIT-RTC)程序文件夹下较一次。当两个值相等时,输出比较模块置定时器通道n状态和控制寄存器( CHnF位为1,并且在该通道的引脚上输出预先规定的电平。如果输出比较中断允许,还会产生一个中断。验证FTM2通道0(PTB18引脚)输出比较中断的产生,当计数寄存器的值与通道寄存器的值相等时,FTM2通道0(PTB18引脚)的电平翻转。高端界面采用VisualStudioC#给高端。高端串口接收中断函数该数值。PC界面上可以用TextBox控件观察此值。1硬件设为了正确显示收到脉冲构造的数字,需要调整PC机的SCI波特率2设MCU SIM_SCGC3|=SIM_SCGC3_FTM2_MASK;//FTM2时钟FTM2_MODE|=FTM_MODE_WPDIS_MASK;//写保护FTM2_MOD=0xEA60;//设置模数寄存器计数,周期20msFTM2_C0V=period;//设置通道0计数值寄存器FTM2_C0SC|= FTM2_C0SC|= SC_MSA_MASK;//设置输出比较功能FTM2_C0SC FTM2_C0SC FTM2输出比较中断程序(填写PCSCI接收函数注:编程采用规范要求编写,将定时器独立成一个构件,如C语言中,形pare.h头文件和 2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线4、为了正确显示收到脉冲构造的数字,需要调整PC机的SCI波特第七章A/D、D/A和TSI(A/DA/D转换模块(ogToDigitalConvertModule)即模/数转换模块,其功能是将电压掌握单片机A/D理解逐次近式A/D转换器工作原理理解中A/D构件的程序代码掌握利用A/D1、练习光盘资料中提供A/D模块实例(在SD-FSL-K60Prg(V1.0)\DAC-TSI))程序文件夹下)端能够显示底端MCU连续来的A/D转换值。K60共有2个ADC模块,同时ADC具有差分输入和单端输入两种模式。差分输入模式具有24路,每路可以分别配置为16位、12位、10位和8位四种精度。(ADCstatusandcontrolregisters1)、ADC配置寄存器CFG1和CFG2(ADCconfigurationMCU开始外部模拟量,并将此模拟量转换为数字量以数据帧格式发送至高端。数据帧”##”(帧头)+(命令类型)+(数据长度)+(数据)**”(帧尾),这里的有效数据就是ADC的模数转换值。高端界面采用VisualStudio与C#实现。可以由下拉列表选择模块号、通道号并通MCU发送数据帧。MCU接收成功后解析数据帧。数据帧格这里的有效数据就是ADC的模块号、通道号。1硬件设脚,用户需查手册的引脚复用)。同时,用USB转串口线将PC机与MCU相连。2设 MCU端编程要在开始ADC之前,需要初始化ADC模块。ADC模块初始化的顺序如下配置ADC配置寄存器(CFG),选择用于产生时钟输入时钟源和分频因子同时可以配置ADCADC状态和控制寄存器(SC1n),选择转换是否是单端或差分模式,使能当转换结果送到数据结构寄存器中转换就完成了。可以通过查看 当转换结束后,结果寄存器中的值即为转换结果。最后需要清除标志寄存器的2)填写PC端程序代码hw_adc.c源文件。头文件对所用端口寄存器或引脚进行宏定义以及初始化函数和驱动函数。源文件对初始化函数和驱动函数进行定义。具体实现代码见光盘。实验前应该首先确认所使用硬件设备的正常与否。MCU测试、A/D测试方法如第二章2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线在进行电路设计时,面对众多的AD/DA,如何选择你所需要的器件请思考A/D值转换为实际物理量值有哪些基本方法电位,LCD为显示屏,显示实际的电压值,小数后面保留两位有效数字。12位D/ADAC(Digital-to-ogConverter)ADCMCU需要把处理模转换器,亦称DAC。理解D/A掌握单片机D/AK60的D/A理解中D/A构件的程序代码掌握利用D/A1、练习光盘资料中提供D/A模块实例(在SD-FSL-K60Prg(V1.0)\DAC-TSI))程序文件夹下)DAC120-4095的数字量,底端获取该数字量后转换为实验选择VDDA作为参考电压。制寄存器DAC_C2(DACControlRegister2)DACBFUPDAC使能以帧数据形式发送至高端PC接收显示。由高端经串口,以帧数据形式发送至MCU。实际上就是DACDAT[11:0]的值。1硬件设USBPCMCUMCUDAC输出引脚用户需查手册的引脚复用)。2设 MCU端编程要(DataLowRegister)、DACx_DATH(DataHighRegister)、DAC(DACStatusRegister)K60DAC模块了,读者若要了解其寄存器详细信息请参见手册或本章阅读资料。下面着重介绍DAC模块编程要点。在开始DAC之前,需要初始化DAC模块。DAC模块初始化的顺序如下配置DAC控制寄存器(CX),选择用于缓冲区置底中断、缓冲区置顶中DAC0DAC状态寄存器(SR),选择用于缓冲区水印标志、缓冲区读指针置顶标2)填写PC端程序代码hw_dac.c源文件。头文件对所用端口寄存器或引脚进行宏定义以及初始化函数和驱动函数。源文件对初始化函数和驱动函数进行定义。具体实现代码见光盘。实验前应该首先确认所使用硬件设备的正常与否。MCU测试、D/A测试方法如第二章2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线TSI触摸感应输入TSI(TouchSensingInput)作为一种新型的人机交互,不同于传统理解TSI掌握单片机TSI理解中TSI构件的程序代码掌握利用TSI1、练习光盘资料中提供TSI模块实例(在SD-FSL-K60Prg(V1.0)\DAC-TSI))程序文件夹下)TSI模块的机制可以实现对电极电容值的检测,不同的滑动动作,得到的感应值是不同的。样例实验制作使用的电容型触摸感应电极在完全碰触下感应值大0x3000-0x50000x3000。所以样例实验将该阈值设定0x3000,当检测到1硬件设TSI的数据线接在K60MCU 口 口 2设 MCU端编程要K60TSI模块432位功能设定与状态寄存器2组通道7-1中列出实现对TSI模块的功能。TSIChw_tsi.h头数。源文件对初始化函数和驱动函数进行定义。具体实现代码见光盘。实验前应该首先确认所使用硬件设备的正常与否。MCU测试、TSI测试方法如第二章2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线第八 SPI简洁,编程容易实现,多半半导体公司的产品都支持该通信协议。SPI常用来实现之间的数据通信。本实验中,两个MCU分别作为主机和从机,实现一次SPI通信。理解中SPI构件的程序代码2、两个K60板间的SPI通信。两个K60板通过串口连到PC机。一台PC机K60SPIK60,送到高端PC机显示。—K60MCUSPI2个,SPI04根引脚SPSCK、MOSI、MISO、SSA—15、17、16、14引脚;SPI14根引脚SPSCK、MOSI、MISO、SS分别对应E口的21、3、4引脚。SPI的使用涉及到分频寄存器、控制寄存器、状态寄存器、数据寄存器。为接收和发送数据,如设置SPI控制寄存器(SPI1Cx)CPOLCPHA,有相同的通信时序模式。同时确定SPI模块为允许或、SPI中断为允许或。—的IO口按照原理图互连。原理图参加《系统原理与实践—ARMCortex-M42设(画SPI发送一字节程序(画SPI发送一字节程序 (画SPI接收一字节程序 SIM_SCGC6|=PORTA_PCR14=0|PORT_PCR_MUX(0x2)|PORT_PCR_DSE_MASK;//PCS0PORTA_PCR15=0|PORT_PCR_MUX(0x2)|PORT_PCR_DSE_MASK;//SCKPORTA_PCR17=0|PORT_PCR_MUX(0x2);//SINSPI_CTAR_REG(BaseAdd,0)=0||SPI_CTAR_PDT_MASK//延时因子为|||SPI_CTAR_CPHA_MASK;|||SPI_CTAR_SLAVE_CPHA_MASK;||||该引脚在连续发送数据位都为10,电平发生明显变化,说明SPI运行工作了。2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线3、请问,用万用表测试SPI的SPSCK引脚随着SPI时钟不同,引脚的电平变化吗I2CPHILIPS2080PHILIPSI2C兼容。目前I2C总线标准已经成为世界性的工业标准。1、苏州大学飞思卡尔中心的Kinetis写入器、K60板、SD-扩展板(需要自行焊接时钟PCF8563)I2S-SPI))文件夹下在本实验中,K60设为主机,PCF8563K60主机通过I2C总线写入PCF8563的Flash的地址空间。K60向时钟PCF8563写入时间和日期数据,然后PCF8563的时间,如果与上一次已结果不同,则将新时间值通过串行口发送给PC机。在物理结构上,I2C系统由一条串行数据线SDA和一条串行时钟线SCL组成。主机按主机使数据在SDASCL线传输时钟。信息传输的对象和方向以及信如LCD驱动器或者是可接收也可发送的器件(例如器。发送器或可在主或从模式下操作,这取决于是否必须启动数据的传输还是仅仅被寻址。I2C总线通信过程主要如下所0AA0AAA 8-1应答信 应答信 应答信 非应答信 从机0A地A重新从机1A数A R主机读数8-21硬件设本实验需要读者在SD-扩展板上自行焊接PCF8563以及匹配的电容、电阻。检查电路是否正确并将板置于扩展板上。扩展板通过串口线连置PC机。2设(画I2C从从(画I2C从从机写1字节程序 (画I2C从从机读1字节程序流能I2C模块工作;1字节(hw_i2c_read1)实验前应该首先确认所使用硬件设备的正常与否。MCU测试、I2C测试、SCI2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线I2SI2S总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该1、了解I2S基础知I2S总线通信的驱动构件实例。该实例在(SD-FSL-K60Prg(V1.0)\Ch08-PRG(I2C-从串口发出显示在PC界面上。K60的I2S模块是一个全双工的串行端口,允许和各种各样的串行设备通信。I2S模式(同步协议、I2S模式、AC97模式(固定/可变模式(TXSR个数据传送给发送移位寄存器,在帧同步到达时由STXDSRXD1硬件设此实验需将板通过USB转串口线连接至PC端,同时根据I2S通信原理,正确连接3跟信号线。2设(画I2S接收数据(画I2S接收数据 (画I2S发送数据 2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线第九章 Flash1Flash模块实例(SD-FSL-K60Prg(V1.0)\Ch09-要求能够从高端一张容量在一定范围内的至MCU,并且也能够由高端把该后高端界面采用VisualStudioC#(1)载入:利用OpenFileDialog类将显示在PictureBox中,再利用Stream类(2):对于Flash的,一定要先擦后写。擦除完的扇区号后才量为512K,所以在选择时应当注意避免过大。现的。MCU发送数据帧。MCU接收成MCU串口接收中断函数,高端串口接收函数,1硬件设此实验无需硬件连接。只需将板通过USB转串口线连接至PC机2设(画PC(画PC端主函数的 MCU编程要FTFL_FSTAT=ACCERR|FTFL_FSTAT=Flash的写操作必须提前准备好该组数据,擦除Flash器中相应区域后再进行MCUMCUmain(填写PCSCI接收函数PC端的载入函(填写PC机的载入函数PC端的函(填写PC机的函数PC端的函(填写PC机的函数注:编程采用规范要求编写,将定时器独立成一个构件,如C语言中,形hw_flash.hhw_flash.c源文件。头文件对所用端口寄存器或引脚进行宏定义以及初始化函数和驱动函数。源文件对初始化函数和驱动函数进行定义。2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线提示:参数放置位置和main位置。第十章K60CANCANCAN总线是一种应用广泛的串行通信协议之一,主要应用于对数据完整性有严格需求的和工业控制领域。因为CAN总线具有差分接受与发送的特点,使其在以3、理解中CAN构件的程序代码练习CAN总线通信的SelfTest回环测试实例。此实验目的为测试的FlexCANMB10间隔一秒发送一个数据帧,然后通过MB8进行接收,并将PCMB8接收到的数据。该实例在SD-FSL-K60Prg(V1.0)\Ch10-PRG(CAN)文件夹下。CANCANBustCAN节点进行通信。三个节点可使用3块带FlexCAN通口的K60实验板来代替。该实例在SD-FSL-K60Prg(V1.0)\Ch10-PRG(CAN)文件夹下。CAN模块由协议驱动和信息缓冲及控制组成,CANCAN总线上接收和发送状态与错误信息。在CAN总线上检测到的任何信息都要进行错误检查,然后与过滤器进行最简明的CAN硬件连接如图10-1所示。所有的CANTX线路经过快速二极管(如1N4148,CANRX图10-1无需CAN收发器的电路连ID指定,但只有最高优先权报文的节点可获得总线权。这是因为,CAN总线用显性、隐1硬件设CAN总线非回环通信测试:此实验需将板通过USB转串口线连接至PC端,同时,根据图15-1所示,将三个K60板焊接在一起。2设(画CAN数据帧接收(画CAN数据帧接收 (画CAN数据帧发送流OSC_CR|=OSC_CR_ERCLKEN_MASK|//CAN模块SIM_SCGC6 //CAN中断实验前应该首先确认所使用硬件设备的正常与否。MCU测试、CAN测试、SCI测试,2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线1、编程:CANBusCANA通过串口接收高端命令,控制节点B和节点C。节点B接收到节点A命令后,返回节点A数据“IamNodeBC接收到节点A命令后,返回节点A数据“IamNodeC第十八章高容量 卡SDHCSD卡是一种基于Flash器的新新型设备,被广泛地应用于便携式装置上,诸练习SDHC模块测试工程实例。使用K60SDHC模块对SD卡卡进行基本的读写操作:a.SD10取模得到尾数显示出来;b.SD卡的第一个扇区数据读出并显示,看到与第一次读出数据的变化。该实例在SD-FSL-K60Prg(V1.0)\Ch11-PRG(SDHC)文件夹下。SD卡定义了两种通信协议:SD接口协议和SPI接口协议。但是K60的SDHC模SD模式总线通信协议。根据协议说明,SD包含:aCLK:主机向卡发送的时钟信号是卡的信号,为所有卡提供连续的点对点连接。Command:由host发送到卡设备,使用CMD线发送Response:SDhost发送一个应答信号,表示已经接收到1硬件设SDK60SD卡槽内,再通过USB转串口线连接至PC2设 (画SDHC发送n个字节流1)初始化SDHC模块设置引脚服复用为SDHC功能设置SDHC(BTTR2)一个数据块区为单位(512字节检测SD卡是否3)发送一个数据块检测SD卡是否2、送电实验前,先将所编写的程序编译后,至MCU中,接着将所需部件和导线时通过串口把数据写入SD卡。第十二章USB2.0USBUSB通口具有易于使用、数据传输快速可靠、灵活、成本低和省电等优点,已成为PC机与设备最主要的数据通信方式。本实验从应用角度引导读者了解掌握USB的2、了解USB通信基本概念、USB通信基本原理及USB通信协议2、理解中USB构件的程序代码3、掌握利用USB构件进行再编程的方法1、练光盘资料中提供读者USB通信程序实例。该实例在(SD-FSL-K60Prg(V1.0)\2、在样例构件基础上编程,K60USBUSB操作界面,使得能与设计的高端界面相互通信。要求能够从高端一张容量在一定范围内的至K60的Flash中,并且也能够由高端把该后的回来,显示在高端。最多支持7层的级联。以PC机为USB主机,以USB连接的设备为USB设备,组成了信息包有:令牌包、数据包、握手包。事务处理有:IN事务处理、OUT事务处理、SETUP事务处理。每个事务处理都包含三个不同的信息包。USB数据传输有四种基本传输方式:如此建立通信通道,PCMCUUSB连接,PCC#界面发送字符,MCU接收,又读回发给MCU的数据至PC机,相互一致说明通信成功。USB数据注释:(1)图中两个灰色上拉电阻的阻值均为1.5kΩ;两个白色下拉电阻的阻值均为15kΩ(2)VBUS为+5V,VCC为+3.3V具体USB通信协议简明操作步骤USB基本工作过程:上电、检测设备、检测设备是低速全速或高速、复位设备、主机高端界面采用VisualStudioC#2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工结晶工岗前品质考核试卷含答案
- 制材工操作知识测试考核试卷含答案
- 纹版复制工班组评比评优考核试卷含答案
- 高三英语虚拟语气专项复习教学设计
- 高中信息技术选修5三维角色设计原则教学设计
- 高中劳动技术运动会服务实践教学设计
- 初中生物七年级上册认识生命单元教学设计
- 2027届高一化学离子反应教学设计
- 氟化盐生产工安全生产能力评优考核试卷含答案
- 爬行类养殖工岗中知识水平考核试卷含答案
- T/CMSGS 001-2025低空无人驾驶航空器起降点气象观测设施建设和维护要求
- 2027届广州市天河区普通高中毕业班适应性训练作文题目解析及范文:长期规划是对未来的研判与谋划
- 2026年书记员招聘考试公共基础知识专项试题附答案
- 长春初中语文九上《短文两篇-孔子世家赞》
- 道路维修验收标准方案
- 植物源性产品物种鉴别方法 Sanger测序法(征求意见稿)
- 2026年小学英语学科专业知识(含新课标核心素养)测试卷含答案(三套)
- DB37T5312-2025 建筑施工安全防护设施技术标准
- 鱼类育种课件
- 供热运维管理合同模板(3篇)
- 《JBT 7257-2018 行车式提板刮渣刮砂机》(2026年)实施指南
评论
0/150
提交评论