2011年软件水平考试嵌入式系统设计师笔记(14)

来源:微学教育网发布时间:2010-12-30

    育路教育网特别为您搜集整理了2011年软件水平考试嵌入式系统设计师笔记,具体内容如下:

  6、单片机系统的基本概念

  (1)单片机组成:中央处理器、存储器、I/O 设备。

  (2)存储器:物理实质是一组或多组具备数据输入/输出和数据存储功能的集成电路,用于充当设备缓存或保存固定的程序及数据。

  A、ROM(只读存储器):一般用于存放固定的程序或数据表格等,数据在掉电后仍然会保留下来。

  B、RAM(随机存储器):用于暂存程序和数据、中间计算结果,或用作堆栈用等,数据在掉电后就会丢失。

  (3)I/O端口:单片机与外界联系的通道,它可以对各类外部信号(开关量、模拟量、频率信号)进行检测、判断、处理,并可控制各类外部设备。现在的单片机I/O 口已经集成了更多的特性和功能,对I/O端口的功能进行了拓展和复用,例如外部中断、ADC 检测以及PWM 输出等等。

  (4)输出电平:高电平电压(输出“1”时)和低电平电压(输出“0”时)

  A、TTL 电平:正逻辑,5V 为逻辑正,0V 为逻辑负,例如单片机的输出。

  B、RS232电平:负逻辑,-12V 为逻辑正,+12V 为逻辑负,例如PC 的输出。

  注:因此在单片机和PC 进行通讯的时候需要一个MAX232芯片进行电平转换。

  (5)堆栈:它是一种线性的数据结构,是一个只有一个进出口的一维空间。

  A、堆栈特性:后进先出(LIFO)

  B、堆栈指针:用于指示栈顶的位置(地址),当发生压栈或者出栈操作时,导致栈顶位置变化时,堆栈指针会随之变化。

  C、堆栈操作:压栈操作(PUSH)和出栈操作(POP)。

  D、堆栈类型:“向上生长”型堆栈,每次压栈时堆栈指针加1;“向下生长”型堆栈,每次压栈堆栈时指针减1。

  E、堆栈应用:调用子程序、响应中断时,堆栈用于保护现场;还可以用作临时数据缓冲区来使用。

  F、使用注意:堆栈溢出问题,压栈和出栈的匹配问题。

  (6)定时/计数器:实质都是计数器。用作定时器时是对单片机内部的时钟脉冲进行计数,而在用作计

  数器时是对单片机外部的输入脉冲进行计数,其作用如下:

  A、计时、定时或延时控制;

  B、脉冲技术;

  C、测量脉冲宽度或频率(捕获功能)

  (7)中断:优先级更高的事件发生,打断优先级低的时间进程。引起中断的事件称为中断源。一个单片机可能支持多个中断源,这些中断源可以分为可屏蔽中断和非可屏蔽中断,而这些中断源并不都是系统工作所需的,我们可以根据系统需求屏蔽那些不需要的中断源。

  A、中断嵌套:当一个低级中断尚未执行完毕,又发生了一个高级优先级的中断,系统转而执行高级中断服务程序,待处理完高级中断后再回过头来执行低级中断服务程序。

  B、中断响应时间是指从发出中断请求到进入中断处理所用的时间;中断处理时间是指中断处理开始到中断处理结束的时间。

  C、中断响应过程:

  a、保护现场:将当前地址、累加器ACC、状态寄存器保存到堆栈中。

  b、切换PC 指针:根据不同的中断源所产生的中断,切换到相应的入口地址。

  c、执行中断服务处理程序。

  d、恢复现场:将保存在堆栈中的主程序地址、累加器ACC、状态寄存器恢复。

  e、中断返回:从中断处返回到主程序,继续执行。

  D、中断入口地址:单片机为每个中断源分配了不同的中断入口地址,也称为中断向量。

  (8)复位:通过外部电路给单片机的复位引进一个复位信号,让系统重新开始运行。

  A、复位发生时的动作:

  a、PC 指针从起始位置开始执行(大多数单片机都时从0x0000处开始执行)。

  b、I/O 端口设置成缺省状态(高阻态、或者输出低电平)。

  c、部分专用控制寄存器SFR 恢复到缺省状态。

  d、普通RAM 不变(如果时上电复位,则是随即数)。

  B、两种不同的复位启动方式:

  a、冷启动:也叫上电复位,指在断电状态下给系统加电,让系统开始正常运行。

  b、热启动:在不断电的状态下,给单片机复位引进一个复位信号,让系统重新开始。

  C、两种类型的复位电路:高电平复位和低电平复位。

  D 注意事项:

  a、注意复位信号的电平状态及持续时间必须满足系统要求。

  b、注意避免复位信号抖动。

  (9)时钟电路:单片机是一种时序电路,必须提供脉冲电路才能正常工作。时钟电路相当于单片机的心脏,它的每一次跳动(振动节拍)都控制着单片机的工作节奏。振荡得慢时,系统工作速度就慢,振荡得快时,系统工作速度就快(功耗也增大)。

  A、振荡周期:振荡源的振荡节拍。

  B、机器周期:单片机完成一个基本操作需要的振荡周期(节拍)。

  C、指令周期:执行一条指令需要几个机器周期。不同的指令需要的机器周期数不同。