飞思卡尔单片机应用实验指导书

合集下载

Freescale单片机实验指导

Freescale单片机实验指导

Freescale单片机实验指导实验一编程入门、仿真调试实验目的:熟悉飞思卡尔MCU仿真与调试环境的使用方法,掌握汇编语言程序的编辑书写规范,学习单片机汇编程序调试手段,进一步编制应用程序,体会MCU应用程序特点。

实验环境:CodeWarrior IDE仿真调试软件;编程语言选择:汇编语言(Assembly);调试连接选择:Full Chip Simulation + P&E Multilink;工程目标选择:全软件仿真(Full Chip Simulation);实验内容:1、熟悉CodeWarrior IDE 的工程建立、菜单、工具、窗口、状态等。

2、编辑、编译简单样本程序:两个4字节无符号数相加。

已知:($2000)=被加数开始,($2004)=加数开始;具体值预先在Memory区通过手工设定。

仿真调试:分别利用单步、全速、停止、断点、复位等运行调试手段,观察寄存器A、B、X、Y、PC、CCR等的状态与变化,以及观察FALSH中指令地址和RAM中数据变化情况,验证运行结果。

(该仿真调试方法将运用于以后的各次实验中)附:样本程序代码3、使用查表法将A中的某2位BCD码(如58)转换为ASCII码,存入RAM$2080、$2081中。

仿真调试:分别利用单步、全速、停止、断点、复位等运行调试手段,观察寄存器A、B、X、Y、PC、CCR等的状态与变化,以及观察FALSH中指令地址和RAM中数据变化情况,验证运行结果。

(该仿真调试方法将运用于以后的各次实验中)4、RAM中有10个无符号数,找出其最大值和最小值,结果存放到MAX、MIN单元中实验参考:S12仿真与调试.pdf文档;实验二编程提高、并行I/O口实验目的:熟悉MCU指令及其应用规则,巩固汇编语言程序编程方法,熟悉数据传输、算术逻辑处理、分支、循环、软件延时、并行I/O等应用程序编制技巧,初步熟悉硬件连接调试方法。

实验环境:CodeWarrior IDE仿真调试软件+ XDT512开发板套件;编程语言选择:汇编语言(Assembly);调试连接选择:Full Chip Simulation + P&E Multilink;工程目标选择:硬件连接调试(P&E Multilink);实验内容:1、任意设定RAM$2040~$2049单元中10个无符号数,按由小到大重新排放(X、Y指针,双重循环,冒泡法)。

飞思卡尔单片机快速上手指南说明书

飞思卡尔单片机快速上手指南说明书

Freescale Semiconductor, Inc.Document Number: 用户指南 Rev. 0, 09/2014Confidentiality statement, as appropriate to document/part status.___________________________________________________________________飞思卡尔单片机快速上手指南作者:飞思卡尔半导体IMM FAE 团队飞思卡尔半导体是全球领先的单片机供应商,其单片机产品包含多种内核,有数百个系列。

为支持用户使用这些产品,飞思卡尔提供了丰富的网站资源、文档及软硬件工具,另外,我们还有众多的第三方合作伙伴及公共平台的支持。

对于不熟悉飞思卡尔产品和网站的初学者来说,了解和使用这些资源这无疑是一个令人望而生畏的浩瀚工程。

本指南的目的,就是给初学者提供一个指导,让他们不被这些海量信息淹没;用户根据本指导提供的操作步骤,能迅速找到所需的资源,了解如何使用相关的工具。

在本指南中,我们以飞思卡尔的新一代Kinetis 单片机K22系列为例,介绍了如何获取与之相关的资源,如何对其进行软硬件设计和开发。

实际上,这些方法也适用于其它的单片机系列。

当然,对于其它有较多不同之处的产品,我们也会继续推出相应的文档,供广大用户参考。

目录1 如何获取技术资料与支持 ..........................................................2 2 如何选择产品、申请样片及购买少量芯片和开发工具 ........... 93 飞思卡尔单片机的开发环境、开发工具和生态系统 ............. 224 如何阅读飞思卡尔的技术文档 ................................................ 45 5 飞思卡尔单片机硬件设计指南 ................................................ 55 6飞思卡尔单片机软件开发指南 (67)飞思卡尔单片机快速上手指南, Rev. 1, 09/20142Freescale Semiconductor, Inc.1 如何获取技术资料与支持1.1 概述当用户使用飞思卡尔单片机芯片时,如何获取芯片的数据手册(Datasheet )、参考设计(Reference Manual )和官方例程等资源呢?另外当用户遇到了技术问题该如何获得帮助和解答呢?这里以Kinetis 的K22系列芯片为例为大家介绍如何解决这些问题。

飞思卡尔单片机实验

飞思卡尔单片机实验

freescale单片机实验一、题目说明:1. 飞思卡尔(freescale)单片机分为8位和16位单片机两大类,每一类中包括多种型号,学生在制作项目时,需要和指导教师沟通。

注:8位单片机主要有MC9S08AW60和JM Badge Board胸卡,16位单片机主要有MC9S12DG128、MC9S12XS128等。

2. 飞思卡尔(freescale)芯片为80或更多引脚的贴片封装,自主焊接freescale单片机的最小系统板(含外围晶体振荡电路、复位电路、连接插件等)难度比较大。

因此学生制作项目时,可以有两种选择:(1)利用现有的飞思卡尔单片机(8位/16位)最小系统板;(2)领取已经设计好的最小系统板的PCB板及配套元器件,自己焊接最小系统板。

3. 除飞思卡尔(freescale)最小系统板外,每个项目中的其他电路,有些可以利用由飞思卡尔公司赠送给实验室的实验板,有些则需要学生自行设计并焊接电路板。

4. 主要采用C语言进行编程。

二、题目1. 键盘与数码管显示采用8位或16位freescale单片机,设计小键盘与显示(数码管或液晶)电路,实现复杂键盘输入与显示功能。

2. 温度检测与显示采用8位或16位freescale单片机,选择一种温度传感器(例如:PT100)并设计温度检测电路,最后将温度值显示在数码管或液晶屏上。

可以选做控制单元。

3. 烟雾检测与显示采用8位或16位freescale单片机,选择烟雾传感器并设计烟雾检测电路,最后将烟雾值显示在数码管或液晶屏上。

可以选做控制单元。

4. 超声波测距与显示采用8位或16位freescale单片机,设计一种超声波方法并将距离值在数码管或液晶屏上。

5. 实时时钟显示采用8位或16位freescale单片机,选择一种实时时钟芯片并在数码管或液晶屏上显示日期、星期和时钟。

可以选做控制通过键盘设置相关参数功能。

6. 录音与播报采用8位或16位freescale单片机,选择一种语音芯片设计实现录音功能,通过键盘选择播放功能。

单片机原理应用实验指导书

单片机原理应用实验指导书

《单片机原理与应用》课程实验指导书电子、机电及电气项目与自动化专业适用吴茂屈莉莉王飞编佛山科学技术学院二00 九年十月前言以往我校的单片机实验教案通常是使用启东DAIS 系列单片机微机仿真实验系统进行单片机实验教案的,DAIS 系统可以做二十多项实验,系统机构十分复杂,功能非常强大,但是在使用过程中也发现了一些不足的地方那个: 厂家为了技术保密,把核心电路都屏蔽了,我们不能了解实验系统的工作原理,另外系统庞大,不方便学生带回宿舍实验,不方便学生课外学习。

根据我校学生对单片机课程学习的需求, 我们在参考其他公司的产品的基础上,结合课程的实际情况,开发了适合学生入门学习的单片机学习板,FD-51 学习板,该学习板设置了包括LED数码管、LCD1602液晶、AD\DA转换器件等单元电路,可以做几十个单片机实验,而且本实验板我们是以配件的形式提供给学生,让学生自己焊接调试线路板。

学生不但可以学习软件编程技术,还可以学习硬件焊接及调试技术,可以更好地锻炼学生的动手操作能力。

目录系统介绍 (2)软件实验:实验一清零程序............. (4)实验二拆字程序.................... .. (5)实验三拼字程序.................... .. (5)实验四数据区传送子程序 (6)实验五查找相同数个数 (6)硬件实验:实验A 工业顺顺序控制 (7)实验B 简单IO口扩展实验 (8)实验一P1 口输出流水灯实验 (11)实验二P1 口输出交通灯实验 (11)实验三八段数码管显示实验 (12)实验四键盘实验.................. . (12)实验五遥控解码实验 ............. .. (12)实验六计数器实验..................... .. (13)实验七继电器控制实验 .................... (13)实验八定时器实验 (14)实验九单片机串行口通讯实验 (14)实验十电子时钟 (14)实验十一外部中断实验<急救车与交通灯) (15)实验十二AT24C02读写实验...... .......... . (15)实验十三93C46读写实验....... ........... (16)实验十四LCD1602字符型液晶控制显示实验 (16)实验十五LCD12864点阵型液晶控制显示实验 (17)实验十六A/D转换(数字电压表>实验 (17)实验十七D/A转换(波形发生器>实验 (18)实验十八计算机温度数据采集与处理 ............... . (19)系统介绍一、FD-51单片机学习板简介为了适应我校单片机课程教案的需要,我们在参考其他厂家学习板的基础上,再根据我校单片机课程教案大纲的要求,基于简单、使用的原则,开发了FD-51 单片机实验板。

飞思卡尔8位单片机实用教程课程设计

飞思卡尔8位单片机实用教程课程设计

飞思卡尔8位单片机实用教程课程设计一、课程设计概述本次课程设计旨在让学生深入了解飞思卡尔8位单片机的基本原理和使用方法,掌握其应用开发技能,为自主研发嵌入式系统打下基础。

在设计过程中,学生可以自由选择项目主题,包括但不限于:•智能家居控制系统•电子秤设计•数码钟表设计•电子琴•LED矩阵显示屏•红外遥控器除了项目主题选择自由,学生也需要在设计过程中独立完成软硬件开发,并能够撰写设计报告并进行实验现场讲解。

二、课程设计要求1. 硬件要求•飞思卡尔8位单片机开发板•液晶显示屏•七段数码管或LED矩阵显示屏•简易电路板•相关电子元器件:电阻、电容、LED、按键等2. 软件要求学生需要下载并安装相关软件进行开发,包括:•CodeWarrior软件•P&E Micro的USB Multilink接口3. 设计报告要求学生需要撰写完整的课程设计报告,报告内容包括:•选题背景及意义•设计思路及实现步骤•软硬件设计图及接口说明•代码编写及调试过程•实验现场演示三、课程设计流程1. 硬件连接将飞思卡尔8位单片机开发板与液晶显示屏、七段数码管或LED矩阵显示屏、简易电路板以及相应的电子元器件进行连接,并将P&E Micro的USB Multilink接口插入电脑上的USB接口。

2. 编写程序使用CodeWarrior软件编写程序,并进行调试。

需要注意的是,程序中需要包括板子上所有的设备,比如液晶显示屏、七段数码管或LED矩阵显示屏、按键等的驱动程序。

程序编写完成后,可以将程序烧录到单片机中。

3. 实验现场演示学生在课程设计报告演示时,需要准备好实验现场演示。

在演示过程中,需要详细讲解所设计的主题、实现效果以及编写程序的过程等,并针对现场观众的问题进行回答。

学生还需将实验现场演示过程录制下来,并与课程设计报告一起提交。

四、注意事项•编写程序时,需要注意代码规范,确保代码的可读性和维护性。

•在连接硬件时,需仔细核对电路板上的元器件及连接方式,避免出现电路连接错误。

飞思卡尔单片机实验

飞思卡尔单片机实验

/*延时子程序 */void delay(void){ unsigned int i,j;for(i=0;i<100;i++)for(j=0;j<5000;) j++;}void main(void) {/* put your own code here 主程序*/PORTB=0x7f;DDRB=0xff;for(;;){delay();PORTB>>=1;PORTB|=0x80;if(PORTB==0xFF){PORTB=0x7F;}}/*延时子程序 */void delay(void){ unsigned int i,j;for(i=0;i<100;i++)for(j=0;j<5000;) j++;}void main(void){/* put your own code here 主程序*/ int i;PORTB=0x7f;DDRB=0xff;for(;;){for(i=0;i<7;i++){delay();PORTB>>=1;PORTB|=0x80;}for(i=0;i<7;i++){delay();PORTB<<=1;PORTB|=0x01;}}}复位+IO******************************************* 实验内容:MCU复位2011-11-06实验现象:运行后,PB口指示灯连续闪烁五次后灭,按复位键后,再闪烁五次。

******************************************* #include<hidef.h>#include"derivative.h"unsigned char k; //用于计数void delay(void){unsigned int i,j;for(i=0;i<5;i++)for(j=0;j<50000;j++);}void main(void) {DisableInterrupts;DDRB =0xff; //PB口输出PORTB =0xaa; //你可以改变PB口数据,显示不同形式的闪烁,如,x0F,xAA,x55等EnableInterrupts;for(k=0;k<5;k++) //5次闪烁{delay();PORTB=~PORTB;delay();PORTB=~PORTB;}for(;;); //死循环。

飞思卡尔MC9S12单片机实验程序

飞思卡尔MC9S12单片机实验程序
DDRB=0xff; //B口用于输出脉冲值
PORTB=0xff; //led灯全暗
TIOS=0x00; //设置定时器通道0为输入捕捉
TSCR1=0x80; //定时器使能
TSCR2=0x01; //设置自由计数器2分频,且禁止定时器溢出中断
TCTL4=0x02; //捕捉器仅下降沿捕捉
TIE=0x01; //允许定时器通道0的中断
}
}
void main(void) {
DDRB=0xff;
PORTB=0x00;
for(;;)
{
fun();
}
}
SCI
#include <hidef.h>
#include <mc9s12db128.h>
#pragma LINK_INFO DERIVATIVE "mc9s12db128b"
unsigned char pp=0xf0; //欲发送的数字
/*********串口初始化*********/
void init() {
DDRB=0xff;
PORTB=0xff; //开始led灯暗,即数据尚未接收
SCI0BD=52; //初始化波特率为9600
SCI0CR1=0x00; //八位无奇偶校验模式
SCI0CR2=0x2c; //接收中断允许
}
/**************写数据***********/
void interrupt 20 funck() {
unsigned char k;
k=read();
PORTB=~k;
}
SPI
不会,以后补充。
LED
#include <hidef.h> /* common defines and macros */

飞思卡尔8位单片机MC9S08JM60开发板实践教程

飞思卡尔8位单片机MC9S08JM60开发板实践教程

第一章搭建实验环境系统时钟设置#include "App\Include\App.h"#ifndef _MCG_C#define _MCG_C//oscillator 12MHZ 倍频为24MHZ()先8分频后16倍频void S_MCGInit(void){/* the MCG is default set to FEI mode, it should be change to FBE mode*//************************************************************************** ***********MCGC2[7:6] BDIV总线频率分频因子–选择由MCGC1寄存器中CLKS位决定的时钟源的分频。

这控制总线频率。

00 编码0 –时钟1分频01 编码1 –时钟2分频(复位后默认)10 编码2 –时钟4分频11 编码3 –时钟8分频[5] RANGE频率范围选择–选择外部振荡器或者外部时钟源的频率范围。

1 选择1MHz到16MHz外部振荡器的频率范围。

(1MHz到40MHz的外部时钟电源)的高频率范围0 选择32kHz到100kHz外部振荡器的频率范围。

(32kHz到1MHz的外部时钟电源)的低频率范围[4] HGO高增益振荡器选择–控制外部振荡器操作模式。

1 配置外部振荡器为高增益运行0 配置外部振荡器为低功耗运行[3] LP低功耗选择–控制在忽略模式中FLL(或者PLL)是否为无效1 FLL(或PLL)在忽略模式(低功耗)中为无效的。

0 FLL(或PLL)在忽略模式中为无效的。

[2] EREFS外部参考时钟选择–为外部参考选择时钟源1 选择振荡器0 选择外部时钟源[1] ERCLKEN外部参考时钟使能–使能外部参考时钟作为MCGERCLK1 MCGERCLK激活0 MCGERCLK 无效[0] EREFSTEN外部参考时钟停止使能MCGC2 0b0011 0110 激发外部时钟(晶振)(没有使能)*************************************************************************** ***********/MCGC2=MCGC2_RANGE_MASK|MCGC2_HGO_MASK|MCGC2_EREFS_MASK|MCGC2_ERCLK EN_MASK;while(!MCGSC_OSCINIT);//MCGSC寄存器中OSCINIT(第1位)为1,表示由EREFS位选择的晶振被初始化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

飞思卡尔单片机应用实验指导书机械工程学院机械电子工程教研室实验一飞思卡尔嵌入式实验系统入门—GPIO控制实验一、实验目的:熟悉CodeWarrior集成开发环境及飞思卡尔嵌入式实验开发系统掌握AW60的GPIO结构及控制方法掌握CodeWarrior工程结构及创建汇编工程熟悉汇编指令及应用汇编语言编程方法二、实验内容1.运用CodeWarrior新建工程,进行工程程序编辑、编译、下载、调试2.利用飞思卡尔嵌入式实验开发系统根据实验需要进行硬件连接3.根据连接在PTD口上的两个拨动开关的状态,控制接中PTB口上的八个LED处在以下四种不同状态:八个LED亮—灭循环;四个灯交替亮—灭;一个LED左移流水灯;两个LED右移流水灯。

实验接线原理图图1-1 I/O 口实验接线图三、实验步骤1.将飞思卡尔嵌入式实验开发系统实验箱接上电源,写入器BDM 接头插接入核心卡BDM 座,USB 头接入PC 机USB 口。

2.PC 机上启动CodeWarrior ,新建工程LED.mcp(注意设置工程保存路径) 3.观察工程文件结构,查看相应文件。

4.在main.asm 中编辑工程主文件 5.编辑相关子程序6.编译,如果有错误修改,直至编译通过 7.链接、下载,调试观察LED 灯现象四、思考题1.CodeWarrior 建立工程有什么工程框架文件,这些文件的作用?2.嵌入式开发系统有哪些主要元器件?3.如果采用模块化设计方法,将系统初始化、LED 灯控制、延时程序等各自形成文件,工程应用这些文件时应注意什么?GNDPTB 口 Vcc4.上拉电阻和下拉电阻分内置的和外接的,内置的电阻一般只有几K或十几K,外接电阻可以是几M、十几M甚至更大。

当要求功耗较低时,应该怎样选择内置的还是外接的电阻?5.该实验的开关通过I/O口控制小灯的程序,分别叙述断点调试和单步调试的步骤,其中包含:利用汇编语言时,注意观察寄存器值的变化并记录寄存器中每次的值实验二 串口通信(SCI )实验一、实验目的:1.进一步熟悉嵌入式开发系统环境、汇编、C 语言、调试方式。

2.加强串口通信(SCI )基本原理及编程原理的理解。

3.理解C 语言工程结构,掌握运用08C 建立工程的方法。

4.分别运用查询方式、中断方式实现通信。

二、实验要求:1.仔细阅读本实验指导书。

2.复习有关的串行通信(SCI )的章节3.熟悉AW60串行通信(SCI )的工作方法及编程。

4.根据实验内容要求编写好程序,为实验做充分地准备。

实验原理图如下:三.实验设备及其连接1.PC 机一台2.飞思卡尔嵌入式实验开发系统 一台 3.串行通信线 一根 4.万用表一只四.实验内容1.理解串行通信(SCI )原理。

2.运行与理解各子程序。

3.主程序运行课本的样例程序。

4.编制一个查询方式通信程序。

将字符通过SCI 一个一个地发送,发送完一个字符后,控制接在PTB0~PTB7的8个LED 灯显示PC被发送字符的ASCII码。

5.编制一个中断方式通信程序。

编程要求同上一条。

五.编程提示1.按照结构要求写好编程代码和注释。

2.计算波特率,SCInInit(SCI初始化子程序)设置SCI比特率寄存器(SCInBDH,SCInBDL),设置允许SCI、正常码输出、8位数据、无校验,即设置SCI控制寄存器1(SCIxC1)相应位,设置是否允许发送与接收、是中断接收还是查询接收,即设置SCI控制寄存器2(SCIxC2)相应位。

3.查询方式通信程序的主程序主体是一个死循环,循环体中是不断检测SCI是否发送完毕,即检测SCI状态寄存器1(SCIxS1)第七位是否为1,为1则将字符的ASCII码输出到接在PTB口的LED上,并延时一会。

4.中断方式通信程序的主程序也主体是一个死循环,但该循环体是一个空循环体,所有接收和发送数据程序代码放在中断程序中,这里没有检测代码,数据开始发送和接收的条件就是中断的条件。

六.实验报告要求1.小结AW60串行通信(SCI)的原理及编程,并画出其流程图和程序代码与硬件接线图。

2.小结中断方式和查询方式的编程方法,并画出其流程图和程序代码与硬件接线图。

3.回答下列问题(1)串行SCI通信有哪些中断?各在什么情况下发生,作用是什么?(2)如何知道串行口TX发送了信号?提示:方法一,利用万用表在TX端发送0或者255持续0.5秒钟时的电压值。

方法二,在TX端发送0或255持续0.5秒钟的波形时的小灯变化。

七.参考例程:void main(void) {unsigned char SerialBuff[]="Hello! World!"; //初始化存放接收数据的数组//1 关总中断DisableInterrupts; //禁止总中断//2 芯片初始化MCUInit();//3 模块初始化SCIInit(); //串行口初始化//4 开放中断EnableInterrupts; //开放总中断SCISendN(13,SerialBuff); //串口发送“Hello World!”//5 主循环while (1){if((SCI1S1&SCI1S1_RDRF_MASK)!=0) {PTBD=SCI1D ;if((SCI1S1&SCI1S1_TDRE_MASK)!=0)SCI1D=PTBD;}elsePTBD=0x00;}}void MCUInit(void){SOPT = 0b01100000; //$70 System Options Register(write once) ICGC2 = 0b00110000; //$30 internal clock generation 2ICGC1 = 0b01111000; //$78 internal clock generation 1//等待FLL稳定while(!ICGS1_LOCK);PTBDD=0xff ;PTBD=0xff ;}void SCIInit(){unsigned int ubgs,baud=9600;unsigned char sysclk=20;//1.计算波特率并设置:ubgs = fsys/(波特率*16)(其中fsys=sysclk*1000000)ubgs = sysclk*(10000/(baud/100))/16; //理解参考上一行,此处便于CPU运算SCI1BDH= (unsigned char)((ubgs & 0xFF00) >> 8);SCI1BDL= (unsigned char)(ubgs & 0x00FF);//无校验,正常模式(开始信号+ 8位数据(先发最低位) + 停止信号)SCI1C1= 0;//允许发送,允许接收,查询方式收发SCI1C2= (0| SCI1C2_TE_MASK| SCI1C2_RE_MASK );}void SCISend1(unsigned char ch){while(!(SCI1S1 & SCI1S1_TDRE_MASK));//判断发送缓冲区是否为空SCI1D = ch;}void SCISendN(unsigned char n, unsigned char ch[]){unsigned i;for (i = 0; i < n; i++)SCISend1(ch[i]);}unsigned char SCIRe1(unsigned char *p){unsigned int k;unsigned char i;for (k = 0; k < 0x0b; k++)//有时间限制if((SCI1S1 & SCI1S1_RDRF_MASK) != 0)//判断接收缓冲区是否满{i = SCI1D;*p = 0x00;break;}if (k >= 0x0b) //接收失败{i = 0xff;*p = 0x01;}return i;}unsigned char SCIReN(unsigned n,unsigned char ch[]){unsigned char m;unsigned char fp; //接收标志m = 0;while (m < n){ch[m] = SCIRe1(&fp);if (fp == 1){return 1; //接收失败}m++;}return 0; //接收成功}实验三键盘中断及LED数码块实验一、实验目的:1.熟练运用嵌入式开发系统环境、C语言及调试方式。

2.复习串行通信接口(SCI)的内容。

3.加强键盘中断基本原理及编程原理的理解。

4.理解“行扫描”法的原理并能进行键值识别和键值编码。

5.理解键盘接线原理图(如图3-1)。

6.理解LED数码块的显示原理,初步掌握LED数码块显示编程方法。

实验箱提供一个16键键盘,用于键盘中断信号的输入。

系统提供两种接线方式:①当将键盘接入上一排插孔时为固定接线,键盘接线原理图如图3-1所示。

②当将键盘接入下一排插孔时为手动接线,连线的位置在键盘的左边。

实验箱提供四个LED数码块,PB0~PB7为段码接口,PTD0、PTD1、PTD4、PTD5为位码控制接口。

PTG0PTG1PTG2PTG3PTG4PTD2PTD3PTD7二、实验要求:1.仔细阅读本实验指导书。

2.复习有关的键盘中断和串行通信接口(SCI)的章节。

3.熟悉AW60键盘模块的工作方法及编程。

4.根据实验内容要求编写好程序,为实验做充分地准备。

三.实验设备及其连接1.PC机一台2.飞思卡尔嵌入式实验开发系统一台3.串行通信线一根四.实验内容1.理解并运行按键扫描及键值键码发送样例程序(将按键的键值及键码从串行口发送到PC机端的串口工具软件);2.编制一个中断方式的16键键盘程序,使用“行扫描”法识别按键;采用键盘中断方式。

PTD7,3,2及PTG4接键盘4根列线,PTG3-0接键盘4根行线。

要求按下的一个键的键值和键面定义值(键的ASCII码值)通过串口在PC方软件界面显示,同时用小灯显示按键的键面定义值(键的ASCII码值),PTB7-PTB0口与小灯相连;3.理解并运行LED数码块样例程序(在LED数码块上显示“2011”);4.参考按键及LED数码块样例程序,设计一个按键显示程序。

将按键的键码在LED数码块上显示。

五.编程提示1.利用构件式方法编程,可以使程序结构清晰,可移植性好;2.矩阵式键盘采用扫描法来确定哪一个键被按下,键盘的接口硬件确定后,每个键的键值就确定了,但每个键的键码可以根据需要定义;3.PTD7,3,2及PTG4-PTG0与键盘中断输入引脚复用,设置键盘中断允许寄存器,当键盘有键被按下时,立即产生中断,中断程序处理按键事件,比如确定哪个键被按下,然后转换为该键的定义值。

相关文档
最新文档