查看: 2243|回复: 1

手把手学习NXP S08P系列单片机(二)

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32018
    最后登录
    2024-4-9
    发表于 2020-3-5 10:13:51 | 显示全部楼层 |阅读模式
    手把手学习NXP S08P系列单片机(二)

    前期内容:《手把手学习NXP S08P系列单片机(一)


    S08P系列微控制器是NXP推出的基于8位内核的微控制器,该系列产品在单一芯片上集成了丰富而关键的功能特性,例如触摸传感接口(TSI)、EEPROM和电机控制FlexTimer等,这些高度集成的外设可以帮助用户简化PCB设计和降低系统成本。


    S08P家族包含了主打功能全面的S08PT、S08PA、S08PB系列,以及主打高性价比的S08PL、S08PLS系列。
    本期的主要内容是启动代码与GPIO的介绍与操作示例。
    本文包含较多的代码,那些源代码都可以在NXP官网www.nxp.com/S08P-Lite或飞锐泰克官网www.free-tech.com.cn免费下载,在文末也附有讲解操作视频帮助您理解与学习。
    启动代码

    因为CodeWarrior大多使用C语言编译,变量或函数的地址便由编译器在编译时自行分配,main函数的入口地址在微控制器的内部存储空间中不是绝对不变的。而微控制器无法从硬件上定位main函数的入口地址,所以我们需要一个启动文件来帮助寻找运行入口。CodeWarrior中自带启动文件,无需再自行编写。


    S08P系列在CodeWarrior中生成的启动代码名称为“start08.c”,它的链接文件(linker)为“Project.prm”。
    在Project.prm文件中,`VECTOR 0 _Startup` 是应用程序的默认入口点,它指定了_Startup 为启动向量,所以_Startup()是CPU被复位后第一个执行的函数。以下是start08.c文件中_Startup函数的代码。
    1.png
    GPIO

    1,简介


    S08P系列的GPIO按照硬件实现的不同可以分为三类:普通IO、I2C IO(开漏IO)和大电流IO。


    普通IO输出模式是推挽输出;输入模式可使能内部上拉。


    I2C IO 输出模式是开漏输出,只有灌电流能力,没有推电流能力,输出模式可以使能内部上拉电阻;输入模式可使能内部上拉。


    大电流IO和普通IO功能相同,但驱动能力更强。


    以下是三种GPIO 的结构图。
    2.png
    3.png
    4.png
    2,寄存器


    GPIO的开启与禁用,各项功能配置,都是由相应的寄存器来控制。以S08PT60为例,如下表所示,它的GPIO有6种寄存器来进行控制。
    5.png
    在CodeWarrior中自带有每种芯片基本的工程文件,我们在工程的头文件mc9s08pt60.h中定义好了芯片中所有寄存器,不用再自行定义。例如下面Port A的数据寄存器(PORT_PTAD)的定义:
    6.png
    3,配置步骤


    定义好寄存器以后,配置端口的功能就只需要给它所对应的寄存器位置写入0或1,例如要将端口PTA0配置为输入:PORT_PTAIE_PTAIE0=1即可。

    4,代码


    按键部分和LED部分的硬件配置如下图。我们将通过代码实现按下按键SW2点亮所有LED,按下SW3熄灭所有LED。
    7.png
    在工程中增加了port.c 和 port.h 两个文件,IO操作以及简单的IO逻辑都在这两个文件中完成。


    端口宏定义
    8.png
    端口初始化
    9.png
    读按键
    10.png
    写LED
    11.png
    主函数
    12.png

    以下是代码的讲解和演示操作视频:
    S08P系列产品


    S08P系列产品是基于恩智浦S08内核的5V 8位高性能微控制器,该系列基于恩智浦独特设计的5V平台,集成了PWM波输出、EEPROM、触摸接口、ADC、比较器等丰富的外设资源,可在2.7到5.5V电压下工作,提供卓越的抗干扰能力,可满足工业控制和人机交互等严苛应用环境中的抗干扰需求,并符合电器安全标准IEC60730。
    S08P系列包含了多种性能丰富,各具特色的子系列产品,用户可以根据不同的需求选择不同性能、不同性价比的产品。如需了解S08P系列不同型号产品的更多信息,请参看文章《8位S08P 5V MCU推荐选型》。

    飞锐泰克公司


    北京飞锐泰克科技有限公司是从事电子元器件代理、推广、技术支持及嵌入式产品开发的技术型科技公司。2009年得到世界知名的NXP公司授权,推广NXP MCU。飞锐泰克希望通过技术方面的服务,能够让客户更深入的了解NXP单片机产品的优越性能和便捷的开发平台,帮助客户有效的降低成本,迅速的提升利润空间。

    S08免费申请入口:
    点击进入》》

    作者:NXP&飞锐泰克          文章出处:恩智浦MCU加油站

    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-31 12:31
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    1

    主题

    33

    帖子

    0

    注册会员

    Rank: 2

    积分
    170
    最后登录
    2022-5-31
    发表于 2020-3-5 20:19:01 | 显示全部楼层
    领导,为什么此网页上看不到视频讲解?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-25 06:06 , Processed in 0.121577 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表