嵌入式复习材料(完整版) - 图文

更新时间:2023-11-21 21:21:01 阅读量: 教育文库 文档下载

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

单片机复习材料(仅供复习使用)

一、相关基础知识

1为什么说单片机是典型的嵌入式系统?

嵌入式系统是一种计算机软硬件的组合,也许还有机械装置,用于实现一个特定功能。以MCU为核心的系统是应用最广的嵌入式系统。

2十进制数126,117,97化为二进制、十六进制数 126 ; 1111110 ; 7e 117 ; 1110101 ; 75 97 ; 1100001 ; 61

3求+112、-112的原码、反码、补码.

+112 0111 0000(正数的原码、反码、补码都是它本身) -112 ;11110000 (第一位为符号位);10001111 ;10010000(取反加一) 4.什么是BCD码?什么是ASCII码?

BCD码亦称二-十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。是一种二进制的数字编码形式。

ASCII是用来制订计算机中每个符号对应的代码,这也叫做计算机的内码。每个ASCII码以1个字节(Byte)储存,从0到数字127代表不同的常用符号,例如大写A的ASCII码是65,小写a则是97。

二、课程基础知识

1. 一个CPU必须包含哪几个部分? 运算器、处理器、寄存器组

2.什么是堆栈?其特点是什么?MC9S08AW60的堆栈在哪个位置?由什么决定共位置? ? 堆栈是一段连续的存储器空间,

? 堆栈按照后入先出的方式工作(Last In First Out) ? 只能向/从堆栈的顶部加入或取出数据 ? 堆栈能够保持数据的顺序 ? 堆栈在RAM区

? 堆栈顶端位置通过CPU内的堆栈指针寄存器确定

? 堆栈指针的初始位置由程序代码确定,指向预先划定的堆栈空间的底部 特点:先入后出;只能从顶部加入或取出数据 在2KB的堆栈RAM区,地址为$0070~086F

堆栈由堆栈指针SP来控制,进栈减一,出栈加一 3.MC9S08AW60型号各部分含义 MC-(合格);9-(带闪存Flash);S08-内核;AW-子类型;60-60KB存储

4.MC9S08AW60有内核是多少位的CPU?RAM及FLASH容量?都有什么外围模块?最高总线频率为多少?

S08是8位微控制器

2KB片内RAM,60KBFLASH

外围模块: 定时器/PWM模块、看门口模块、通用IO模块、串口通信模块(SCI)、串行外设接

口(SPI)、IIC模块、A/D转换模块、键盘中断模块、时钟发生模块、复位与中断模块等。

CPU总线40MHz,内部总线20MHz 5.MC9SAW60的存储器映射

MC9S08AW60系列产品中的片内存储器包括RAM、FLASH程序存储器、I/O和控制/状态寄存器。其中I/O寄存器可分为以下二类: 直接页寄存器($0000-$006F) 高页寄存器($1800-$185F) 片内存储器RAM、FLASH的地址映射: RAM($0070-$086F)

FLASH($0870-$17FF)及($1860-$FFFF)

6.MC9SAW60的最小系统都包含哪几个部分 1.电源及其滤波电路 2.复位电路

3.晶振电路及PLL滤波电路 4.写入器接口电路

7.HCS08内核CPU都有哪些寄存器?条件码寄存器有哪些位,代表什么意义?

HCS08 CPU中有5个寄存器:累加器A、变址寄存器HX、堆栈指针SP、程序计数器PC和条件码寄存器CCR(其中中断屏蔽位I为总中断开关,I=0代表允许中断)

8.看懂简单汇编程序,例如:

总线频率为20MHZ,下面程序段执行所用时间

LDA #200 ;(2T)(T表示总线周期)

Delay_1: NOP ;(1T) NOP NOP NOP

NOP NOP NOP DBNZA Delay_1;(3T)

把200装载到寄存器A中,由于T=5*10^(-5)ms,所以延时6*10^(-4)ms。

三、GPIO应用

1. MC9S08AW60有几个GPIO口?每个GPIO有哪些寄存器? AW60有7个GPIO(A\\B\\C\\D\\E\\F\\G)

总共54个I/O口(C口、G口只有6个)

数据方向寄存器:PTxDDn=0/1(设置x口n通道为输入/输出引脚) 数据寄存器:PTxDn

上拉寄存器:PTxPEn=0/1(无上拉/有上拉) 输出斜率控制使能寄存器:PTxSE 输出驱动能力选择控制寄存器:PTxDE

2.MC9S08AW60应用工程中关系到GPIO应用的函数中,必须包含哪个头文件? #include “MC9S08AW60.h”(芯片寄存器及相关定义头文件) 3.GPIO应用程序设计,例如:

PTD0、PTD1接两个拨动开关,PTB口接八个LED灯,由两个拨动开关的四种不同状态,使八个LED分别为八个LED灯亮—灭循环;四个LED灯亮,四个LED灭交替;左移流水灯:右移流水灯。

#include”MC9S08AW60.h” #define Switch_D PTDDD #define Switch_P PTDD #define LED_D PTBDD #define LED_P PTBD

Switch_D =0xfc; //设置为输入 LED_D =0xff; //设置为输出

void delay(void); //延时函数声明 void LED1(void); void LED2(void); void LED3(void); void LED4(void);

void main(void) //主函数 {

DisableInterrupts; MCUInit();

EnableInterrupts; unsigned char s; s= Switch_P; char CF;

char LED_shift=0xfe; switch(s) { case 0x00 : CF=1;break;

case 0x01 : CF=2;break; case 0x02 : CF=3;break; case 0x03 : CF=4;break; }

for(;;) //主循环 { if(CF=1)LED1();

if(CF=2)LED2(); if(CF=3)LED3(); if(CF=4)LED4(); } }

void LED1(void) //全亮全灭 { LED_P=0xff; delay();

LED_P=0x00; delay(); }

void LED2(void) //半亮半灭 { LED_P=0xf0; delay();

LED_P=0x0f; delay(); }

void LED3(void) //循环左移 {

LED_P= LED_shift;

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

Top