同济大学浙江学院嵌入式系统复习.docx

上传人:b****2 文档编号:24597437 上传时间:2023-05-29 格式:DOCX 页数:14 大小:422.46KB
下载 相关 举报
同济大学浙江学院嵌入式系统复习.docx_第1页
第1页 / 共14页
同济大学浙江学院嵌入式系统复习.docx_第2页
第2页 / 共14页
同济大学浙江学院嵌入式系统复习.docx_第3页
第3页 / 共14页
同济大学浙江学院嵌入式系统复习.docx_第4页
第4页 / 共14页
同济大学浙江学院嵌入式系统复习.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

同济大学浙江学院嵌入式系统复习.docx

《同济大学浙江学院嵌入式系统复习.docx》由会员分享,可在线阅读,更多相关《同济大学浙江学院嵌入式系统复习.docx(14页珍藏版)》请在冰豆网上搜索。

同济大学浙江学院嵌入式系统复习.docx

同济大学浙江学院嵌入式系统复习

第一章

1.列举你听说过的著名半导体厂商公司的名字吗,并简要说明其情况,如国籍、英文名、主要产品、最近几年销售额等。

2.列出至少两家MCU厂商的网址,上网分别查询它们生产的至少一种MCU产品的型号,并简要说明这种MUC的特点。

8位MCU命名法解说

MC

9

S08

AW

60

X

XX

E

产品品质等级:

MC=完全品质保证

XC=部分品质保证

PC=工程样品

KMC=样品

KXC=样品

存储器类型:

 

9=Flash

8=EEPROM 7=OTPROM

 

CPU内核:

S08=HC08

S08=HCS08

RS08=RS08

产品系列:

AW/DZ/DV/DN/EN/EL/SL/SG

存储器容量:

60表示60KB

温度范围:

 

C=-40~85℃

V=-40~105℃

M=-40~125℃

封装形式:

 

PU=LQFP

FU=QFP

FD=QFN

FG=LQFP

无铅

3.MCU是英文MicroControllerUnit的缩写,中文含义是微控制器。

4.MCU选型时主要应该注意哪三方面的因素?

各自含义的什么?

MCU的适用性:

MCU的适用性主要是考虑MCU的片内资源能否满足实际需求。

MCU的可开发性:

MCU的可开发性是指所选择的MCU是否有足够的开发手段。

MCU的可购买性:

MCU是否容易购买;是否有足够的供应量;是否仍然在生产中;是否在改进中。

5.FreescaleS08系列MCU的HCS08核由哪些部分组成?

CPU寄存器有哪几个、位数是什么、各有什么作用?

HCS08CPU;背景调试控制器;支持高达32个中断/复位源的中断/复位机制;片级地址解码器。

CPU寄存器有5个:

累加器A(8位):

是主要的数据寄存器,用于存储算术逻辑单元的输入参数或运算结果

程序计数器PC(16位):

用于存放下一个预取指令或操作数的地址

变址寄存器H:

X(16位)

堆栈指针SP(16位):

当子程序最后执行返回指令时,该返回地址会自动从堆栈中恢复,并由此从先前暂停的指令处继续执行程序

条件码寄存器CCR(8位)

6.FreescaleS08系列MCU的最高总线时钟速率可以达到20MHz,内部CPU的最高工作时钟速率可以达到40MHz。

HCS08系列的CPU时钟速率是总线时钟频率的2倍。

HCS08系列MCU的总线时钟除了可以对外接高频时钟_2__分频得到外,也可以利用内部ICG模块对外接的__32~100kHz__低频范围时钟或_1~16MHz___高频范围时钟进行倍频得到。

7.FreescaleS08系列MCU复位时SP的初值为__$086F__,PC会自动装入位于__$FFFE__和__$FFFF__存储单元中的复位向量值,MCU产生中断时CPU存储器自动入栈顺序从先到后依次是__程序计数器的低字节PCL、_程序计数器的高字节PCH__、_变址寄存器的低字节X___、__累加器A__、__CCR寄存器__,为了和HC08系列保持兼容,__H__寄存器并不会被自动压入堆栈。

8.CCR中的I位为_0__表示CPU允许中断,I位为_1_表示CPU禁止中断,I位的上电复位默认值为__1__。

在响应中断时,CCR被自动入栈保存后I位会被自动设为__1__以阻止不必要的中断嵌套。

9.如何把SP初始化到RAM末地址?

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

LDHX#$086F+1

TXS

10.MC9S08AW60内部集成了哪些模块?

片内RAM存储器容量多大?

Flash容量又有多大?

AD转换器,内部时钟生成器,IIC,键盘中断,串行通信接口,串行外围接口,

定时器脉宽调制器,中央处理器,调试模块

2KB的RAM存储器

60KB的Flash存储器

第二章

1.存储器独立编址和同一编址的含义是什么?

各有什么特点?

存储器独立编址方式:

哈佛结构。

 

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

存储器统一编址方式:

普林斯顿结构。

  

统一编址所获得的存储器空间比分离编址减半,但通过同一指令再配合不同地址的参数就可以区分不同存储器。

2.MCU内部的RAM的作用主要是什么?

Flash的主要作用是什么?

内部寄存器的主要作用是什么?

CPU如何访问片内外围模块?

RAM主要用于存放用户程序中的各种变量,堆栈也处于RAM空间

Flash主要用作程序存储器,存放用户程序机器码和常数,表格等

CPU读/写存储器需要通过存储器的地址来进行读写,CPU和片内外围模块通信需要通过外围模块的地址(寄存器地址)来进行访问。

3.MC9S08AW60的整个$0000~$FFFF范围64KB的空间分成寄存器、_RAM___、Flash三大区域,寄存器又分为三组:

直接页寄存器(地址从$0000_到_$006F)、_高页寄存器___(地址从$1800____到_$185F___)和非易失性寄存器(地址从_$FFB0___到$FFBF____),Flash又分为2两组:

_用户程序Flash区___(地址从_$0870___到_$17FF___、从$1860____到_$FFAF___)和_中断复位矢量区_____(地址从_$FFC0___到_$FFFF___)。

4.非易失性寄存器NVPROT和NVOPT的作用是什么?

在上电复位时,非易失性寄存器NVPROT和NVOPT中的值被传送到地址为$1821的高页寄存器FPROT里和地址为$1824的高页寄存器FOPT里,用于控制块保护和加密。

5.S08系列MCU的每个中断向量表占用__2__字节,其中的中断复位向量地址为__$FFFE__和__$FFFF__。

6.MC9S08AW60内部地址从$00到$FF的区域的每一个位都可以通过位操作指令进行访问。

7.写出把SP初始化为$086F的指令代码。

LDHX#$086F+1

TXS

8.若MC9S08AW60上电复位之后PC=1860H,则FFFEH存储单元中的值为__18H__,FFFFH存储单元中的值为__60H__。

第四章

1.MC9S08系列的MCU通常具有RUN模式__、_活动背景调试模式_、Wait模式___、_STOP模式___等工作模式,其中,__RUN模式功耗最大,__STOP__模式功耗最小,__RUN_模式是MCU的正常工作模式,也就是MCU复位后进入的模式。

2.MC9S08系列的MCU具有的四种低功耗模式,分别是__STOP1模式__、_STOP2模式___、_STOP3模式__和_Wait模式___,其中的_Wait___模式功耗最大,_STOP1___模式功耗最小。

3.如何进入S08单片机的活动背景调试模式?

①BKGD/MS引脚在reset的上升沿为低;

②通过BKGD引脚接受到BACKGROUND命令;

③执行BGND指令;

④遇到BDC断点;

⑤遇到DBG断点;

第五章

1.

MC9S08AW60系列MCU的一种外部复位为____RESET引脚________复位,六种内部复位分别为:

____上电______复位、____看门狗________复位、____低电压检测________复位、____非法操作码________复位、___背景调试强制_________复位、___时钟发生器时钟失锁和时钟丢失____复位。

2.

MC9S08AW60系列的MCU发生复位后,PC从复位向量____$FFFE:

$FFFF________处载入地址值,CCR中的I位为__1__,SP的复位值为_$00FF___,总线时钟频率约为___4_____MHz,CPU时钟频率约为____8____MHz,同时还会把寄存器___SRS____中的相应标志位自动置1.

3.RESET#引脚出现至少___1.5/8ns_____时间的负脉冲,就会产生外部引脚复位,同时把SRS中的标志位PIN自动置1.

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

COP实质上是一个计数器,它从0开始对总线时钟BUSCLK脉冲加1计数,即对每一个BUSCLK脉冲,COP计数器加1,当COP计数器计满2^13个或2^18个BUSCLK脉冲,就会产生COP复位,使得MCU重新开始执行程序。

5.COP具有两种溢出周期,分别是__2^13__和__2^18__个BUSCLK周期,通过__SOPT__寄存器中的__COPT__位进行选择,此位为__0__位时选择溢出短周期,此位为___1_____位时选择溢出长周期,此位的复位默认值为__1__。

6.允许COP需要设定_SOPT___寄存器中的____COPE____位为____1____来实现,COP在复位之后默认状态是_____1______,其溢出周期为____2^18____个BUSCLK周期:

为了防止COP计数器溢出,需要使用指令___STA____SRS_____周期性清零COP计数器,也可以设置__COPE__位为__0__来禁止COP。

7.CCR中的I位在复位之后默认为___1_____,开总中断指令为_____CLI_______。

8.当寄存器___IRQSC_____中的____IRQPE____位为____1___时允许IRQ引脚功能,若要将IRQ引脚设为仅为上升沿触发,需要分别设定___IRQEDQ____位为_____1___,设定____IRQMOD____位为___0_____。

IRQ的中断向量表首地址为_____$FFFA_______。

清零IRQF位需要向_____IRQACK___写1来实现。

第六章

1.HCS08系列单片机的CPU时钟频率是总线时钟频率的__2__倍,HCS08系列单片机的最高总线频率可达___20MHz_____,CPU的频率最高可达__40MHz______

2.除了关断模式外,ICG模块具有四种工作模式:

____SCM____、___FEI_____、____FBE____和____FEE____。

MCU上电复位之后的默认模式是____SCM____,此时不需要外接晶振,CPU频率约为___8MHz_____,总线拼了约为___4MHz_____。

第七章

1.MC9S08AW60系列的MCU具有7个I/O端口,64引脚的封装具有54个I/O引脚,48引脚的封装具有38个I/O引脚,44引脚的封装具有34个I/O引脚。

3.MCU采用5V供电情况下所有I/O端口总电流不能超过___100mA_____,若采用3V供电则所有I/O端口总电流不能超过____60mA________。

第九章

1.MC9S08A60内部__2__个___16_位的TPM模块,每个模块都支持传统的四种功能:

____计数定时____、___输入捕捉_____、___输出比较_____和___脉宽调制PWM_____。

2.MC9S08AW60复位之后,CLKSB:

CLKSA=___0:

0_____,因此没有选中TPM时钟源,TPM不工作,通常设定CLKSB:

CLKSA=___0:

1_____,让总线时钟驱动定时器。

每一个TPM模块的时钟源能够独立选定三种时钟源:

__总线时钟______、__固定系统时钟______或___外部时钟_____。

3.TPMx模块允许的最大外部时钟频率是总线速率的_四分之一_。

4.TPMx模块寻顶时钟源后,还可以对时钟源进一步分频后再作为TPMx计数时钟,其中的分频系数可以为__1_____、_____2___、_____4___、_____8___、_____16___、_____32___、____64____、或____128____。

它们由寄存器___TPMxSC_________中的_____2:

0_______位设定。

5.

MC9S08AW60包含两个独立的TPM模块:

TPM1和TPM2,TPM1具有__6__个通道,TPM2具有__2__个通道;每个模块的每一个通道引脚都可以单独配置为___输入捕捉_____、___输出比较_____、或____带缓冲的边沿对齐PWM____功能;每个模块的所有通道引脚都可以配置为____带缓冲的中心对齐PWM________功能。

6.TPM具有两种PWMS:

____边沿对齐PWM__和__中心对齐PWM_____,具有受寄存器_____TPMxSC__中__CPWMS____位的控制。

7.当CPWMS=0时,TPMxCNT从0开始每隔一个TPMx计数周期就加1计数,加到___0xFFFF_____或___TPM模数寄存器中的值_____时,重新从___0x0000____开始加1计数。

8.当CPWMS=0时,TPMxCNT从0开始每隔一个TPMx计数周期就加1计数,加到____结束值____时,进行减1计数直到__0x0000______,然后又开始加1计数。

9.当计数器溢出标致TOF为1时,若中断允许信号TOIE=__1__则允许向CPU产生中断请求。

定时器:

已知总线时钟Fbus=4MHz,用TPM1模块精确定时500ms,然后使得PTE2/TPM1CH0管脚外接的LED0按照500ms时间交替亮灭,写出完整代码。

(TPM1SC=0EH500ms:

TPM1MOD=7A12H1s:

TPM1MOD=F424H)

(TPM1SC=0FH2s:

TPM1MOD=F424H)

PS:

B端口第2位E端口第二位

查询方式代码:

PTBDDEQU$0003

PTBDEQU$0002

PTEDEQU$0008

PTEDDEQU$0009

TPM1SCEQU$0020

TPM1MODHEQU$0023

TPM1MODLEQU$0024

RAMstartAddrEQU$0070

FlashStartAddrEQU$1860

ORGRAMstartAddr

ORGFlashStartAddr

TPM1_Init:

;TPM1模块查询方式初始化程序

MOV#$0E,TPM1SC;禁止TPM1溢出中断,BUSCLK为TPM1时钟源,64频

MOV#$7A,TPM1MODH

MOV#$12,TPM1MODL;500ms对应的模数值

RTS

Main:

BSET2,PTEDD;PTE2作为输出

BCLR2,PTBDD;PTB2作为输入,控制白天黑夜,高电平为黑夜

BSET2,PTED;PTE2=1,LED0灭(高低电平看题目确定)

JSRTPM1_Init;TPM1查询初始化

MainLoop1:

LDAPTBD;把按键值存放给累加器A,

AND#%00000100;若为黑夜则A=00000100(Z标志位为0)

BNEAGN;如果标志位Z为0,则为黑夜,航标灯开启

JMPMainLoop1;循环

AGN:

BRCLR7,TPM1SC,AGN;查询500ms时间是否已到

LDATPM1SC;读状态控制寄存器

BCLR7,TPM1SC;写TOF为0来清零TOF标志位

LDAPTED

EOR#%00000100;bit2取反

STAPTED;输出

JMPMainLoop1;死循环

ORG$FFFE;复位向量地址

DC.WMain

调试过程:

八个窗口:

调试主要看的窗口:

加法:

编写三字节(压缩BCD码形式)无符号十进制数加法程序。

假定两个加数分别在内部RAM(M1)(M1+1)(M1+2)和(M2)(M2+1)(M2+2)单元中,结果放在(M3)(M3+1)(M3+2)(M3+3)单元(高位在前)。

(非循环)

图1三字节的两数无循环相加流程图

M1EQU$70;标号赋值

M2EQU$73

M3EQU$76

ORG$8000

Main:

LDAM1+2;取加数1的低字节

ADDM2+2;加上加数2的低字节

DAA;十进制调整

STAM3+3;送到和的第一字节(低字节)

LDAM1+1;取加数1的第二字节

ADCM2+1;加上加数2的第二字节(带进位)

DAA;十进制调整

STAM3+2;送到和的第二字节

LDAM1;取加数1的高字节

ADCM2;加上加数2的高字节(带进位)

DAA;十进制调整

STAM3+1;送到和的第三字节

LDA#$0;计算最高位进位

ADC#$0

STAM3;送到和的最高字节

ORG$FFFE;复位矢量

DC.WMain

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1