1. 首页
  2. 文档大全

项目1点亮一个LED灯

上传者:11****88 2022-07-04 18:39:35上传 PPT文件 930.50KB
项目1点亮一个LED灯_第1页 项目1点亮一个LED灯_第2页 项目1点亮一个LED灯_第3页

《项目1点亮一个LED灯》由会员分享,可在线阅读,更多相关《项目1点亮一个LED灯(54页珍藏版)》请在文档大全上搜索。

1、项目1 点亮一个LED灯学习目标学习目标n通过本项目的学习,能够熟练阐述飞思卡尔通过本项目的学习,能够熟练阐述飞思卡尔HCS08系列系列MC9S08GB60单片机的内部资源单片机的内部资源及特点;能够阐述及特点;能够阐述MC9S08GB60单片机的整单片机的整体结构;能够理解与内核相关体结构;能够理解与内核相关CPU控制寄存器控制寄存器的作用;熟悉并能识别的作用;熟悉并能识别MC9S08GB60单片机单片机的封装及引脚;能够根据应用要求设计硬件电的封装及引脚;能够根据应用要求设计硬件电路图;能够熟悉阐述路图;能够熟悉阐述MC9S08GB60单片机的单片机的存储器结构;能够理解中断与复位的概念及

2、用存储器结构;能够理解中断与复位的概念及用途。途。学习要求学习要求n能够熟练阐述飞思卡尔HCS08 MC9S08GB60单片机的内部资源及特点、整体结构,理解与内核相关CPU控制寄存器的作用,n能识别MC9S08GB60单片机的封装及引脚;n能够根据应用要求设计硬件电路图能够熟悉阐述MC9S08GB60单片机的存储器结构;n理解中断与复位的概念及用途。项目引入项目引入n一个最简单的单片机系统的开发也需要电路设计、单片机器件选择和程序编写3个步骤。对于单片机系统,最简单的功能无非是控制输出电平的高低,这也是数字电路最基本的功能,所以,第一个例子就是将单片机系统接上一个发光二极管,用二极管的亮灭表

3、示设计的单片机系统是否正常工作。项目分析n要想了解单片机的控制作用,必须先认识单片机,熟悉单片机的基本结构及功能,而利用单片机集成开发环境(IDE)-CodeWarriorr软件包,可以更加直观地模拟仿真单片机的工作过程,现在就让我们来认识单片机,学习单片机的特点、整体结构、引脚及其存储器结构等。(注意,本书是以飞思卡尔单片机为学习对象。)图图1-1 单片机最小系统电路的单片机最小系统电路的构成构成相关知识n 1.1 MC9S08GB60 框图整体结构n1.1.1累加器A(accumulator)n1.1.2变址寄存器(H:X)n1.1.3堆栈指针(SP)n1.1.4程序计数器(PC)n1.1

4、.5条件码寄存器(CCR)n1. I中断屏蔽标志位n2. V溢出标志位n3. H半进位标志位n4. N负标志位n5. Z零标志位n6. C进位/借位标志位相关知识n1.2MC9S08GB60的引脚及封装n1.2.1 电源引脚n1.2.2 振荡器引脚n1.2.3 复位引脚 【特别提示】n1.2.4 背景/模式选择(BKGD/MS) 引脚n1.2.5 通用I/O及外设端口引脚n1.2.6 根据客户的要求设计硬件电路图相关知识n1.3 MC9S08GB60存储器结构图n1.4 复位与中断n1.4.1 MCU的复位n1.4.2 MCU的中断n1.4.3 外部中断请求(IRQ)n 1.5 低电压检测保护

5、系统(LVD)n1.5.1上电复位操作n1.5.2 LVD复位操作n1.5.3 LVD中断操作n1.5.4低电压警告(LVW)n1.5.5实时中断(RTI)1.1 MC9S08GB60 框图整体结构nMC9S08GB60 单片机内部组成包括HCS08内核、FLASH存储器、片上随机存储器(RAM)、8通道10位模数转换器(ATD)、两个串行通信接口模块(SCI)、串行外设接口模块(SPI)、定时器/脉宽调制器(TPM)模块、100 kbps 的IIC 总线(IIC)、8个引脚键盘中断模块(KBI)等主要部件 1.1 MC9S08GB60 框图整体结构1.1 MC9S08GB60 框图整体结构n

6、单片机内部最核心的部分是HCS08内核,它是单片机的大脑和心脏。它是主要功能是产生各种控制信号,控制存储器、输入/输出端口的数据传送、数据的算术运算、逻辑运算、位操作以及各种保护功能。nFlash 存储器主要用于保存程序和数据。一般存放程序代码和不常改变的数据。可以通过单线后台调试接口把需要的程序和数据上载到Flash存储器中 。它一个突出的优点是擦除和编程操作不需要特殊的电压,所以也可以通过其他软件控制的通信路径来实现应用编程。nRAM数据存储器主要用于存放运算中间结果、数据暂存和缓冲、标志位、待调试的程序等。模数转换器(ATD)可把芯片外部的模拟信号转换为适合单片机内核处理的数字信号。串行

7、通信接口模块(SCI)、串行外设接口模块(SPI)和IIC 总线模块(IIC)主要用于与外界器件进行信息交换。定时器/脉宽调制器(TPM)模块实现定时、计数和PWM脉宽信号输出等功能。调试模块BDG与内核中的背景调试控制器BDC一起进行片上闪存和其他非易失性存储器的编程。键盘中断模块(KBI)可以方便地把外部的按键信号传送入单片机内核。 1.1 MC9S08GB60 框图整体结构n要实现内核与各模块的功能,需要单片机内核CPU寄存器的支持。与内核相关CPU控制寄存器简述如下,如图1-3所示。1.1 MC9S08GB60 框图整体结构n累加器A(accumulator)是一个通用的8位暂存器,是

8、专门存放CPU的操作数与算术或逻辑运算的计算结果。能进行加、减、读出、移位、循环移位和求补等操作。 n在中央处理器CPU中,累加器是用来储存计算所产生的中间结果。如果没有像累加器这样的暂存器,那么在每次计算(加法,乘法,移位等等)后就必须要把结果写回到内存,然后再读回来。然而存取内存的速度与存取数学逻辑单元(ALU)的速度相比较,存取内存的速度更慢,所以在编写程序中,累加器A是一个最常用的寄存器。1.1 MC9S08GB60 框图整体结构n变址寄存器,为访问64K的存储器空间提供索引,事实上是两个独立的8 位寄存器(H 和X)的合并。H表示高8位,X表示低8位,H:X表示整个寄存器,在变址寻址

9、方式下,CPU根据变址寄存器的内容确定操作数的有效地址,变址寄存器也可以作为临时数据的存储单元。在应用变址寻址方式时,使用H:X 作为16 位的基本参考点,允许使用有16 位偏移量、8 位偏移量和无偏移量的指令。1.1 MC9S08GB60 框图整体结构n堆栈指针(Stack Pointer,SP)是一个16位的地址指针寄存器,这个寄存器用于自动维护CPU 的一个后进先出(LIFO)堆栈。当CPU执行绝对转移调用(JSR)或相对转移调用(BSR)指令时,它会自动保存返回地址到堆栈中。当子程序最后执行返回指令(RTS)时,该返回地址会自动从堆栈中恢复,并由此继续执行先前暂停的指令。由于SP 是一

10、个满16 位寄存器,所以堆栈可以寻址存储映射区的任何地方,堆栈指针总是指向堆栈中下一个可用位置。当一个数值要进栈时,它会被写到SP指向的地址中,随后SP 会自动减少而指向下一个可用位置。当一个数值要出栈时,SP首先会自增以指向堆栈中最近进栈的数据,然后从刚被SP 指向的地址中读出数据。需要注意的是SP 指向的数据,在出栈的过程中不会被改变。如果SP 指向当前内存的下一个位置,即指向之前最近存储的数据,当新的数据进栈时,会覆盖该位置的数据。1.1 MC9S08GB60 框图整体结构n堆栈实质是随机存储器RAM的一部分,是从RAM空间中划分出来的临时空间,专门存放中断或转移调用的地址,但它不能超过

11、芯片可用RAM 空间的大小。1.1 MC9S08GB60 框图整体结构n当请求中断时,CPU 将寄存器的当前内容保存在堆栈中,在完成中断服务子程序后处理器将它们恢复以继续执行之前的程序。注意,在中断前,SP 已指向堆栈中的下一个可用位置了。其步骤是:SP先将数据保存到堆栈中指定位置,然后会自减以指向堆栈中的下一个可用位置。结束中断时,中断例程的RTI 指令以相反的顺序出栈来恢复CPU 寄存器。1.1 MC9S08GB60 框图整体结构n程序计数器是一个16 位的寄存器,它保存着下一个待取指令或操作数的地址。通常情况下,每当一个指令或操作数被提取后,程序计数器会自动指向存储器里的下一个连续地址。


文档来源:https://www.renrendoc.com/paper/212663548.html

文档标签:

下载地址