微控制器原理与应用复习

  • 格式:doc
  • 大小:95.00 KB
  • 文档页数:12

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微控制器原理与应用

一、简答题

1.MC9S12DG128 MCU核心包括哪些部分?

2.MC9S12DGl28微控制器片内资源包括哪些?

3.MC9S12DG128有几种操作模式?MC9S12DG128有哪两种引脚封装形式?分别适用哪些操作模式

4.S12系列微控制器有哪些时钟信号,分别提供给哪些部分? MC9S12DG128片内总线时钟频率最高可达多少?

5.

6.简要说明程序状态寄存器CCR各位的作用。

7.S12CPU寄存器具有哪些特点?

9.累加器有哪些作用? S12CPU有哪些累加器?

10.ROM和RAM存储器特点,用途

11. EEPROM存储器特点?

12.微控制器存储器的主要类型有哪几种?现在应用比较广泛的是哪几种?说出它们主要特点。

13.微控制器I/O端口功能? 12系列微控制器的外围接口采用设计方式?

14.S12系列微控制器I/O技术包括哪些量的输入/输出?S12外围接口设计特点?有哪些端口?

15.S12 MCU接口功能的特点?I/O口最多可达到多少个?与用户自行扩充的I/O口有什么区别?

16.S12的中断可分为哪两种,怎样控制? 有什么不同?

17.S12中断优先级排序怎样确定?

19.S12增强型定时器模块作用?

20.什么是输入捕捉?MC9S12DGl28每个IC通道组由哪些部分组成?

第 1 页共12 页

21. S12微控制器有哪两种产生PWM波形方法?并说出S12PWM模块的特性。

22.比较S12微控制器产生PWM波形两种方法优缺点?并说出MC9S12DGl28PWM模块的结构。

23.在S12微控制器PWM模块,什么是左对齐方式?左对齐方式整个输出周期?左对齐方式占空比?在S12微控制器PWM

24.在S12微控制器PWM模块,什么是中心对齐方式?整个输出周期?占空比?

1. 注解如下C程序,并说出功能。

/* This function waits for th timer overflow.Then it changes the LEDs bargraph display */

#include /* common defines and macros */

#include /* derivative information */

#pragma LINK_INFO DERIVATIVE "mc9s12xs128"

int counter;

void TimerOverflow(void)

{ while (TCNT != 0x0000);

while (TCNT == 0x0000);

counter++;

if (counter == 8) PORTB = 0x7f; //

if (counter == 7) PORTB = 0xbf;

if (counter == 6) PORTB = 0xdf; //

if (counter == 5) PORTB = 0xef;

if (counter == 4) PORTB = 0xf7; //

if (counter == 3) PORTB = 0xfb;

if (counter == 2) PORTB = 0xfd; //

if (counter == 1) PORTB = 0xfe;

}

void main(void)

{

TSCR1 = 0x80; //使用IC/OC功能

TSCR2 = 0x03; //禁止定时器溢出中断,计数器自由运行,预分频系数8

counter = 0;

DDRB=0xff; //

PORTB=0xff; //

asm{

nop

}

第 2 页共12 页

for (;;)

{

TimerOverflow();

if (counter >= 8)

{ counter = 0;

TSCR2 = 0x05;

}

}

}

程序功能:Main初始化定时器计数器,B口工作方式和初始状态后,先调用TimerOverflow函数,函数检测计数TCNT值返0后,变量counter加1,根据counter 值,B口相应位输出低电平,然后判别,当counter计到8时, counter返回0计数,以此循环调用TimerOverflow函数和判别。如用B口输出低电平点亮发光二极管,则可实现走马灯实验。

2.void setbusclock( void)

{

CLKSEL=0X00; //disengage PLL to system

PLLCTL_PLLON=1; //turn on PLL

SYNR =0xc0 | 0x05;

REFDV=0x80 | 0x01;

POSTDIV=0x00; //pllclock=2*osc*(1+SYNR)/(1+REFDV)=96MHz;

_asm(nop); //BUS CLOCK=48M

_asm(nop);

while(!(CRGFLG_LOCK==1)); //when pll is steady ,then use it;

CLKSEL_PLLSEL =1; //engage PLL to system;

void PWMInit(void) //ZHUTAO 23级联

{

PWME = 0x00; //PWM禁止

PWMCTL = 0x30; //通道01,23级联

PWMPRCLK= 0x55; //ClockA=ClockB=40/32=1.25MHz

//PWMSCLA=3; //CLOCKA/6; 1.25M/6=208K

//PWMSCLB=3; //CLOCKB/2;

PWMCLK = 0X00; //时钟来源选择pwm01 选择ClockA,pwm23 选择ClockB

PWMPOL = 0XFF; //PWM输出起始为高电平

PWMCAE = 0X00; //左对齐方式

PWMPER01= 20000; //设定通道01输出频率(1.25M/2.5k=50Hz),控制方向

第 3 页共12 页