MC9S12XET256MMA普通IO口输入输出功能的使用:
IO口数据方向寄存器:设定0为输入模式,设定1为输出模式。复位后默认输入模式。
IO数据寄存器:输出模式下–设定1为高电平 设定0为低电平
输入模式下–检测1为高电平 检测0为低电平
上/下拉:
输入模式可以设定上/下拉功能,可以保证浮空引脚的输入值固定,对非浮空引脚可以提高响应速度,增强抗干扰能力
输出模式–禁用上下拉。
驱动能力:
输入模式–禁用
输出模式–可以降低引脚驱动功率,使驱动能力降低约50% ,降低功率消耗。

1、创建好工程后打开main.c文件,如下图所示:

2、通过硬件原理图找到LED对应的端口号和引脚号,以及按键对应的端口号和引脚号,我这里使用PORT B 的第0脚来控制LED的亮灭 以及PORT A的第0脚来检测按键的输入。
在MC9S12XET256.c文件中可以找到PORT AB的数据寄存器以及数据方向寄存器的对应的地址,如下图所示:

在MC9S12XET256.h文件中能够找到其定义,如下图所示:
PORT B的数据寄存器:


PORT AB 的数据方向寄存器:


3、在main.c文件中对端口引脚进行初始化。

#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */#define LED_dir DDRB_DDRB0   //使用宏定义LED引脚方便区分
#define LED_DATA PORTB_PB0   #define SWITCH_dir DDRA_DDRA0   //使用宏定义按键引脚方便区分
#define SWITCH_DATA PORTA_PA0 void main(void)
{/* put your own code here */LED_dir = 1;//初始化LED为输出LED_DATA = 0;SWITCH_dir = 0;//初始化按键为输入SWITCH_DATA = 1;EnableInterrupts;for(;;) {if(SWITCH_DATA == 0)//检测到按键按下{LED_DATA = ~LED_DATA;//LED状态改变}} /* loop forever *//* please make sure that you never leave main */
}

4、编写完成后进行编译,调试。

5、运行后,按键按下可以看到LED亮,再次按下LED灭,说明程序运行正常。

这里只进行了简单的输入输出配置,如要设置上/下拉,驱动能力配置可以在MC9S12XET256.h文件中找到对应的寄存器进行配置即可;

飞思卡尔S12XE系列---基础GPIO操作相关推荐

  1. 痞子衡嵌入式:飞思卡尔Kinetis系列MCU启动那些事(1)- KBOOT架构

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT架构. Bootloader是嵌入式MCU开发里很常见的一种专用的应用程序,在一个没有Boo ...

  2. freescale飞思卡尔 HC9S12 系列单片机 Flash擦写详解(一)之时钟设置

    Flash擦写的内容,个人做HC9S12系列单片机时觉得应该是各模块内容中最难而且是最麻烦的一步了.只有能够对Flash进行擦写以后,所做的Bootloader才有真正手段将串口或者其他通讯手段接收到 ...

  3. ftm模块linux驱动,飞思卡尔k系列_ftm模块详解.doc

    飞思卡尔k系列_ftm模块详解 1.5FTM模块1.5.1 FTM模块简介FTM模块是一个多功能定时器模块,主要功能有,PWM输出.输入捕捉.输出比较.定时中断.脉冲加减计数.脉冲周期脉宽测量.在K1 ...

  4. 飞思卡尔imx7 html5,【经验分享】飞思卡尔IMX6处理器的GPIO配置方式

    本帖最后由 FSL_TICS_A 于 2014-3-25 17:05 编辑 在linux或android系统中,假如我们要配置飞思卡尔IMX6处理器的GPIO管脚,比如是GPIO_19这个管脚,那么要 ...

  5. 飞思卡尔S12系列(基于MC9S12XET256MAA和/MC9S12XEP100)锁存器资料总结和分享

    最近在公司做项目,用到飞思卡尔S12系列芯片,为了让自己养成良好习惯,以后每做一部分,都会总结出来,方便自己和他人. 今天讲讲飞思卡尔锁存器部分. CRG时钟合成寄存器(SYNR) 读:任何时刻:写: ...

  6. 导航属性没有被赋值_excel编程系列基础:操作对象RANDE的属性介绍

    编按: 哈喽,大家好!在上篇的VBA文章中,我们提到了RANGE属性,简单介绍了它在选中单元格区域,以及对单元格区域赋值时的作用,但这仅仅是最基础的应用,今天我们继续来讲解RANGE属性. [前言] ...

  7. 飞思卡尔XS128系列(三) PIT

    刚报名参加了第五届飞思卡尔智能车竞赛的时候,知道要用飞思卡尔的16位单片机,当时也没在意,就随便买了本这方面的书,记得书名是:<基于HCS12的嵌入式系统设计>,我是因为这本书各模块后面的 ...

  8. 飞思卡尔MKL系列单片机用jlink烧写程序出现的Kinetis (connect): Timeout while halting CPU. CPU does not stop.问题

    最近用Jlink烧写飞思卡尔MKL16Z128单片机时发现经常出现不能连接成功的情况,用的是SWD接口,排查了好久后来发现问题在单片机的RESET脚上,因为之前用SWD接口的时候只接4线(SWD.SC ...

  9. 飞思卡尔MC9S12系列单片机地址影射以及分页问题

    对于用MCU的人来说,不一定要明白HCS12(x) memory map的机制和联系.因为如果没有系统地学习操作系统和编译原理之类的课程,确实有些难度.并且,对于DG128 XS128这样的MCU,默 ...

最新文章

  1. 再看nf_conntrack: table full问题
  2. 在DbGridEh中显示主从表
  3. mysql基础(一) 编译安装mysql5.5
  4. 15个顶级Java多线程面试题及回答(高级java工程师)
  5. app分发平台java_集成 Asset Delivery (Java)
  6. 监督学习 | SVM 之非线性支持向量机原理
  7. 更改sql-2008sa密码
  8. 发布9个月直降2300!这款手机太惨了:卖完下架
  9. 使用OStressSQL Server压力测试
  10. 使用result配置结果视图
  11. [软件更新]gladder2.0.3.3
  12. matlab有限差分法编程波导_有限差分法及matlab实现.pdf
  13. springboot test
  14. 风暴数码论坛教程--开机动画、声音的替换、位置变更及DATA文件夹的使用
  15. 一键seo提交收录_百度、360快速收录新上线网站技巧、方法
  16. Android——app内打开安装包,安装包解析失败
  17. cpu、内存、硬盘之间的关系
  18. android app被系统回收后重启异常的解决方法
  19. c语言程序输入自己班级学号,找高手帮忙c语言程序::输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩...
  20. 请问什么叫纹波?怎样测量纹波?

热门文章

  1. Python常用基础语法知识点大全合集,看完这一篇文章就够了
  2. 创建XCP的CanApe工程
  3. 外语学习的真实方法与误区30
  4. 学习一项技能要花多少时间?
  5. C#读取dbf数据或者Excel转为DataTable
  6. html5 箭头形状导航条,css实现带箭头的导航条
  7. 【Eigen】学习Eigen的一些总结——快速入门指南(一)
  8. Windows7+Backtrack4+CDlinux0.9.2
  9. AE表达式与脚本——批量更改图层名称字段
  10. 分享4个方法,手机就能搞定图片转文字提取