单片机作业整理

更新时间:2024-04-02 15:51:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《单片机》第一周作业:2013年8月30日

1、MCU是英文 Micro Controller Unit 的缩写,中文含义是 微控制器 。

2、Freescale S08系列MCU的HCS08核由哪些部分组成?CPU寄存器有哪几个、位数是多少、各有什么作用?(教材P34-P35)

3、Freescale S08系列MCU复位时SP的初值为 $00FF ,PC会自动装入位于$FFFE 和 $FFFF 存储单元中的复位向量值,MCU产生中断时CPU寄存器自动入栈顺序从先到后依次是 程序计数器的低字节PCL 、 程序计数器的高字节PCH 、 变址寄存器的低字节X 、 累加器A 、 CCR寄存器 ,为了和HC08系列保持兼容, H 寄存器并不会被自动压入堆栈。

4、CCR中的I位为 0 表示CPU允许中断,I位为 1 表示CPU禁止中断,I位的上电复位默认值为 1 。在响应中断时,CCR被自动入栈保存后I位会被自动设为 1 以阻止不必要的中断嵌套。

5、如何把SP初始化到RAM末地址?

一般初始化SP的值指向片内RAM空间的末字节,以便释放出0页地址空间的一些存储单元作为通用作为通用存储区使用。 LDHX #RAMEnd+1 TXS

6、存储器独立编址和统一编址的含义是什么? 各有什么特点?

CPU读/写存储器需要通过存储器的地址来进行读写,CPU和片内外围模块通信需要通过外围模块的地址(寄存器地址)来进行访问。 CPU和存储器、外围模块通信本质上都是CPU和不同地址通信,不同地址可以代表不同对象。 存储器独立编址方式:哈佛结构。 RAM和Flash的地址各自独立编址。如MCS-51系列MCU。

独立编址的好处是可以生成双倍的存储器空间,独立编址的寄存器地址出现重叠,但通过不同的控制线并配合不同的指令就可以区分不同存储器。

例如在MCS-51指令系统中,用MOVC指令访问Flash存储器,用MOV或MOVX指令访问RAM存储器。 存储器统一编址方式:普林斯顿结构。 RAM和Flash的统一编址在一个地址范围内,分段使用。如Freescale的08、S08、S12等系列MCU,Microchip的PIC系列MCU。 统一地址所获得的存储器空间比分离编址减半,但通过同一指令再配合不同地址参数就

可以区分不同存储器。

7、MCU内部的RAM作用主要是什么?Flash的主要作用是什么?内部寄存器的主要作用是什么?CPU如何访问片内外围模块?(教材P27-P29) 8、MC9S08AW60的整个$0000~$FFFF范围64KB的空间分成寄存器、 、Flash三大区域。

寄存器又分成三组: 、 和 。 Flash又分为两组: Flash空间 和 中断向量区 。 (其余参考教材P27-P29)

9、S08系列MCU的每个中断向量表占用 2 字节,其中的中断复位向量地址为 $FFFE 和 $FFFF 。

10、若MC9S08AW60上电复位之后PC=1860H,则FFFEH存储单元中的值为 18H ,FFFFH存储单元中的值为 60H 。

《单片机》第三周作业:2013年9月13日 1.给出AW60存储器映像的简要说明。

答:所谓存储器映像,是指地址$0000 ~ $FFFF这个64KB空间,哪些地址被何种存储器所占用,或者说AW60的RAM、Flash、I/O映像寄存器各使用$0000 ~ $FFFF这个64KB空间中的哪些地址。简单地说,就是$0000 ~ $FFFF这个64KB空间是如何分配的。

3.嵌入式系统中RAM和Flash作用分别是什么?

答:一般来说RAM这个区域安排用户数据(主要是全局变量)和堆栈空间;Flash 要用于存储程序、常数、中断向量等。

4.给出AW60的硬件最小系统。

答:AW60芯片的硬件最小系统包括电源及其滤波电路、复位电路、晶振电路及PLL滤 波电路、写入器接口电路。

《单片机》第四周作业:

MCU工作模式:

1、MC9S08系列的MCU通常具有RUN模式 、 活动背景调试模式 、 Wait模式 、

Stop模式 等工作模式。其中, RUN 模式功耗最大, Stop 模式功耗最小, Run 模式是MCU的正常工作模式,也就是MCU复位后进入的模式。

2、MC9S08系列的MCU具有的四种低功耗模式,分别是 Stop1模式 、 Stop2模式 、 Stop3模式 和 Wait模式 。其中的 Wait 模式功耗最大, Stop1 模式功耗最小。

4、当系统选项寄存器SOPT中的STOPE位为1时,执行指令 STOP 会使得MC9S08AW60进入Stop模式,至于是进入Stop2还是Stop3模式,通过设定寄存器SPMSC2中的 PPDC 位来决定,该位为 1 则进入Stop2模式,该位为 0 则进入Stop3模式。

5、MC9S08AW60处于Stop2模式时,只要发生下列任何一个唤醒事件: RESET 、 IRQ 或 RTI中断 ,MCU就会从Stop2模式唤醒。

6、MC9S08AW60处于Stop3模式时,只要发生下列任何一个唤醒事件: RESET 、 RTI 、 LVD 、 ADC 、 IRQ 或 KBI ,MCU就会从Stop3模式唤醒。

7、如果要想禁止在Stop模式下使用LVD,必须通过设定寄存器SPMSC1中的LVDSE= 0 或者LVDE= 0 。如果在Stop模式下允许LVD,不管PPDC为何值,执行STOP指令都会使MCU进入Stop3模式。

《单片机》第五周作业:

复位和中断:

1、MC9S08AW60系列MCU的一种外部复位为 RESET引脚 复位,六种内部复位分别为 复位、 上电(POR,Powered-on Reset) 复位、 看门狗(COP) 复位、 低电压检测(LVD) 复位、 非法操作码 复位、 背景调试强制 复位、 时钟发生器时钟失锁和时钟丢失 复位。

2、MC9S08AW60系列MCU发生复位后,PC从复位向量 $FFFE:$FFFF 处载入地址值,CCR中的I位为 1 ,SP的复位值为 $00FF ,总线时钟频率约为 4 MHz,CPU时钟频率约为 8 MHz,同时还会把寄存器 SRS 中的相应标志位自动置1。 4、COP具有两种溢出周期,分别是 213 和 218 个BUSCLK周期,通过

SOPT(系统选项) 寄存器中的 COPT 位进行选择,此位为 0 时选择溢出短周期,此位为 1 时选择溢出长周期,此位的复位默认值为 1 。

5、允许COP需要设定 SOPT 寄存器中的 COPE 位为 1 来实现,COP在复位之后COPE位默认状态是 1 ,其溢出周期为 218 个BUSCLK周期。为了防止COP计数器溢出,需要使用指令 STA SRS 周期性清零COP计数器,也可以设置 COPE 位为 0 来禁止COP。

10、CCR中的I位在复位之后默认为 1 ,开总中断指令为 CLI 。

11、当寄存器 IRQSC 中的 IRQPE 位为 1 时允许IRQ引脚功能,若要将IRQ引脚设为仅为上升沿触发,需要分别设定 IRQEDG 位为 1 ,设定 IRQMOD 位为 0 。IRQ的中断向量表首地址为 $FFFA 。清零IRQF位时需要向 IRQACK位 写1来实现。

12、RTI模块的状态和控制寄存器SRTISC中的RTIS[2:0]在MCU上电复位后的默认值为 0:0:0 ,说明RTI模块在MCU上电复位后是 禁止 (禁止或允许)的

13、COP能够使得MCU在程序跑飞之后自动恢复正常运行的原理是什么?

《单片机》第七周作业参考:

内部时钟生成器:

1、HCS08系列单片机的CPU时钟频率是总线频率的 2 倍,HCS08系列单片机的最高总线频率可达 20MHz ,CPU频率最高可达 40MHz 。

2、除了关断模式外,ICG模块具有四种工作模式: SCM 、 FEI 、 FBE 和 FEE 。MCU上电复位之后的默认模式是 SCM ,此时不需要外接晶振,CPU频率约为 8MHz ,总线频率约为 4MHz 。

3、ICG模块的输出有四个时钟: ICGOUT 、 FFE 、 ICGLCLK 和 ICGERCLK ,其中的 ICGOUT 用于生成CPU时钟和系统总线时钟。

4、ADC模块可以选择两个时钟源作为ADC时钟: ICGERCLK 和 BUSCLK 。

9、什么是实时中断(RTI,Real-Time Interrupt)?相关寄存器是什么? (1)如何使能实时中断?

(2)如何设置实时中断时钟源? (3)如何清零实时中断标志位? (4)如何设置实时中断周期?

《单片机》第八周作业参考 串行通信接口:

2、SCI模块采用 总线时钟(BUSCLK) 作为时钟源,

3、若要允许SCI的发送器,可以设置寄存器 SCIxC2 中 TE 位为1。

允许发送器之后,寄存器 SCIxS1 中 TDRE 位为1时就可以写发送数据到寄存器

SCIxD 中,寄存器 SCIxS1 中 TC 位为0时表明正在发送,为1表明发送完成。

4、若要允许SCI的接收器,可以设置寄存器 SCIxC2 中 RE 位为1。允许接收器之后,寄存器 SCIxS1 中 RDRF 位为1时表明SCI接收到了数据。

5、每一个SCI模块具有 SCI发送中断 、 SCI接收中断 和 SCI错误中断 三种中断,可以根据实际灵活选用。

6、如何清零RDRF标志位?

RDRF是SCI状态寄存器1(SCIxS1)的标志位,为“接收数据寄存器满标志”。当一个字符从接收移位寄存器传送到接收数据寄存器SCIxD时,该位变为1。在8位模式中,要清零RDRF,可以在RDRF=1时,先读SCIxS1,然后读SCI数据寄存器SCIxD。 例如,在SCI2接收中断服务子程序中: LDA SCI2S1 LDA SCI2D …………….

《单片机》第九、十周作业参考 键盘中断模块:

1、MC9S08AW60的8个键盘引脚中, KBIP3 ~ KBIP0 总是下降沿/低电平触发, KBIP7 ~ KBIP4 可以被配置成上升沿/高电平触发或者下降沿/低电平触发。

2、MC9S08AW60的KBI功能允许后,只要键盘引脚有按键按下,寄存器 KBI1SC 中的KBF位就变为1,要清零该标志位,需要向该寄存器中的 KBACK 位写1来实现,对应指令为: BSET 2, KBI1SC 。

定时计数器TPM:

1、MC9S08AW60内部具有 2 个 16 位的TPM模块,每个模块都支持传统的四种功能: 计数定时 、 输入捕捉 、 输出比较 和 脉宽调制PWM 。

2、MC9S08AW60复位之后,CLKSB:CLKSA= 0:0 ,因此没有选中TPM时钟源,TPM不工作。通常设定CLKSB:CLKSA= 0:1 ,让总线时钟驱动定时器。每一个TPM模块的

本文来源:https://www.bwwdw.com/article/ykdr.html

Top