单片机系统设计与制作
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

任务1 51单片机实验板项目介绍

1.1 任务学习引导

1.1.1 明确工作任务

该任务主要了解51单片机实验板的功能及实现方法,了解单片机实验板在单片机课程教学中的作用,同时学习单片机的结构、原理、特点、应用及类型等入门知识。

1.1.2 跟我想

项目名称:51单片机实验的设计与制作

功能及设计要求:51单片机实验的设计与制作项目是在“单片机系统设计与制作”课程的整个教学过程中完成的,要求所设计的单片机实验板能够完成单片机各部分理论知识学习,在完成实验板的设计与制作及相关实验的过程中掌握单片机理论知识,具体功能及要求如下:

① 8位LED显示模块,能做LED跑马灯实验;

② 继电器、蜂鸣器输出模块,能做蜂鸣器音乐伴奏及报警发声实验;

③ LED数码管显示模块,能做按键计数器、秒表等LED数码管显示实验;

④ LED点阵显示模块,能做字符显示的实验;

⑤ 矩阵键盘模块、MAX232通信模块,能做实验板与PC通信实验;

⑥ AD/DA接口模块,能做数字电压表及LED调光器实验;

⑦ 外围串行接口芯片DS1302(时钟万年历芯片)、BS18B20(温度传感器)及LCD显示模块,能做日历显示、温度测试等实验。

该实验板各模块的电路实物都是在“单片机系统设计与制作”课程教学过程中学生用万用板手动焊接完成,为了避免单个万用板上连线太多所带来的焊接及调试的难度,因此,采用组合式的电路设计与制作方法。首先制作一个8位LED显示模块的单片机最小系统,其中包括单片机工作基本电路、LED显示电路、独立按键电路、ISP接口和电源电路,并将单片机每个输入/输出(I/O)接口与单排座相连,这部分称为51单片机实验板的基板。其他各模块电路独立焊接,每个模块需要与单片机I/O接口相连的电路端子连接单排针,在使用时将模块电路的单排针与实验板基板上单排座相连组合成某个模块的实验电路。

1.1.3 跟我学

1.51单片机概述

51单片机是美国Intel公司于1980年推出的产品,其典型产品有8031,8051,8751。由于上述类型的单片机应用的早且影响很大,已成为事实上的工业标准。后来很多芯片厂商以各种方式与Intel公司合作,设计出与Intel的8051单片机相同内核的单片机,这类单片机指令系统完全兼容,绝大多数引脚也兼容,在使用上基本可以直接互换。人们统称这些与8051内核相同的单片机为“51系列单片机”。目前,使用较多的51系列单片机有Atmel公司的AT8951/52系列、Philips公司的51PLC系列、TI公司的TMS370和MSP430系列。直到现在,51内核系列兼容的单片机仍是应用的主流产品。例如,目前流行的AT89S51、AT89C51等,各高校及专业学校的培训教材仍以51单片机作为代表进行理论基础学习。

AT89C51或AT89S51单片机片内有4KB的Flash程序存储器,用户可以用电的方式瞬间擦除、改写,即有ISP在线编程功能。

TI公司提供了TMS370和MSP430两大系列51单片机。TMS370系列单片机是8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合;MSP430系列单片机是一种超低功耗、功能集成度较高的16位低功耗单片机,特别适用于要求功耗低的场合。

2.51单片机组成

51单片机是单片机微型计算机的简称,是将CPU、RAM、ROM、定时/计数器和多种I/O接口电路集成在一块芯片上的微型计算机,也常称为微控制器。目前,单片机广泛应用于工业控制、仪器仪表、通信设备及家用电器等领域。

51单片机是Intel公司在1980年推出的高性能8位单片机,它可分为51和52两个子系列共4种类型,但它们的内部结构基本相同。本项目所使用的是51子系列的AT89S51单片机,所以,本任务主要介绍AT89S51单片机的内部结构、各组成部分的功能及引脚功能。

(1)51单片机的内部结构

51单片机内部结构图如图1-1所示,AT89S51单片机内部主要包含以下部分。

① 一个8位的中央处理器(CPU)。它是整个单片机的核心,由运算器和控制器两部分组成,一次能处理8位二进制码(数据)。主要完成指令的运算控制、8位数据的运算等处理操作。

② 时钟电路。时钟电路给单片机提供工作频率,用于产生单片机工作所需的时序脉冲。如单片机执行指令所需的时间单元,即机器周期。每个机器周期由12个时钟周期组成。

③ 程序存储器。程序存储器中存放的信息掉电后不会丢失,因此,用于存储固定不变的程序和常数。AT89S51单片机内有4KB的Flash ROM,只能用指令进行读操作,不能进行写操作。

④ 数据存储器。数据存储器中所存放的信息掉电后丢失,因此,用来存放程序运行时所需要的参数或运算中间结果。AT89S51单片机内部有256B的RAM,其中低128B规定为用户数据存储器,高128B规定为特殊功能寄存器(特定作用),这些寄存器可用指令进行读/写操作。

⑤ 4个8位的并行I/O接口,分别是P0、P1、P2、P3口。主要用于完成外部设备数据的并行输入或输出,其中,P3口除此之外,还有其他特定功能的I/O作用。

⑥ 2个16位可编程的定时/计数器。可以对外部引脚的脉冲进行计数,也可设置成定时器(对内部时钟脉冲进行计数)。

⑦ 1个可编程的全双工异步串行通信口。可实现单片机与其他串行设备进行通信。

⑧ 中断系统。中断系统主要是对外部或内部的中断请求进行管理与处理。AT89S51的中断系统有5个中断源:2个外部中断和3个内部中断。

图1-1 51单片机内部结构图

(2)AT89S51单片机的性能及引脚功能

AT89S51是美国Atmel公司生产的低功耗、高性能CMOS 8位单片机,引脚结构如图1-2所示,实物图如图1-3所示。片内含4KB可系统编程的Flash只读程序存储器,既可在线编程(ISP),也可用传统方法进行编程。AT89S51单片机价格较低,可提供许多高性价比的应用场合,灵活应用于各种控制领域。

1)主要性能参数

  • 与MCS-51产品指令系统完全兼容;
  • 4KB在线系统编程(ISP)Flash闪速存储器;
  • 1000次擦写周期;
  • 4.0~5.5V的工作电压范围;
  • 全静态工作模式:0~33MHz;
  • 128×8B内部RAM;
  • 32个可编程I/O接口;
  • 两个16位定时/计数器;
  • 5个中断源;
  • 全双工串行UART通道;
  • 低功耗空闲和掉电模式;
  • 中断可从空闲模式唤醒系统;
  • 看门狗(WDT)及双数据指针;
  • 掉电标志和快速编程特性;
  • 灵活的在线系统编程。

图1-2 AT89S51引脚图

图1-3 AT89S51实物图

2)功能特性概述

AT89S51提供以下标准功能:4KB Flash存储器;128B内部RAM;32个I/O口;看门狗;两个数据指针;两个16位定时/计数器;一个5向量两级中断结构;一个全双工串行通信口;片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。

3)引脚功能说明

VCC:电源电压(+5V)。

GND:地。

P0口:P0口是一组8位漏极开路型双向I/O接口。作为输出口用时,每位能驱动8个TTL逻辑门电路,此时需外接上拉电阻;对端口写1可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,P0口是地址(低8位)和数据总线复用口。

P1口:P1是一个带内部上拉电阻的8位双向I/O接口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写1,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚电平被外部信号拉低时会输出一个电流。

P2口:P2口是一个带有内部上拉电阻的8位双向I/O接口,P2的输出缓冲级可驱动4个TTL逻辑门电路。除了与P1口相同的性能外,在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址信号。

P3口:P3口是一组带有内部上拉电阻的8位双向I/O接口。P3口输出缓冲级可驱动4个TTL逻辑门电路。P3口除了作为一般的I/O接口线外,更重要的用途是它的第二功能参见表1-1。

表1-1 P3口第二功能表

RST:复位信号输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此,它可对外输出时钟或用于定时。要注意的是,每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程(用仪器烧录程序)期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有MOVX和MOVC指令ALE才会被激活。

PSEN:程序储存允许。输出外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN信号。

EA/VPP:外部访问允许。要使CPU仅访问外部程序存储器(地址为0000H~FFFFH),EA端必须保持低电平(接地)。EA接VCC,程序首先执行地址为0000H~0FFFH(4KB)的内部程序存储器,如果地址范围超过4KB范围,转入执行地址为1000H~FFFFH(60KB)的外部程序存储器。

XTAL1:振荡器反相放大器及内部时钟发生器的输入端。

XTAL2:振荡器反相放大器的输出端。

3.51单片机的工作条件

51单片机正常工作的基本条件是必须有电源供电、时钟信号及复位信号。

(1)电源供电

51单片机正常工作时40引脚接4~5.5V电压,并且该引脚对地并联一个0.1μF的高频滤波电容,避免电压受高频信号干扰,20引脚接地。

(2)时钟信号

时钟信号是单片机工作基本条件,单片机在电源供电的情况下都是在时钟脉冲的控制下执行指令的。51单片机有两个时钟信号输入引脚,分别是XTAL1(19引脚)、XTAL2(18引脚)。时钟信号有内部和外部两种方式产生,当使用外部时钟振荡电路时,这两个时钟信号输入引脚外接石英晶体和微调电容组成并联谐振电路。电容的值一般为30pF,石英晶体的固有频率有6MHz、12MHz、11.059 MHz,可以根据需要选择。当使用外部时钟,XTAL2悬空,XTAL1接外部时钟信号源,外部时钟信号源的频率一般小于12MHz。

(3)复位信号

单片机在启动运行时,首先要复位。通过复位使单片机内部各寄存器的值变为初始状态,复位后便于CPU重新有序的执行指令等操作。

51单片机在时钟电路工作后,如果RST引脚持续输入2个机器周期(24个振荡周期)的高电平信号,就可以完成复位操作。例如,时钟频率为12MHz,则有效的复位信号至少要保持2μs以上。单片机复位后,程序计数器PC=0000H,所以,复位后单片机总是从程序存储器的首地址0000H开始重新运行整个系统。复位后各个有关寄存器的状态参见表1-2。

表1-2 复位后各个有关寄存器的状态表

51单片机的复位电路分上电复位和手动复位两种方式。复位电路如图1-4所示,上电复位通过电容充电来实现,在上电瞬间,由于电容两端的电压不能突变,RST引脚上保持高电平,随着电容充电过程的进行,RST引脚电位逐渐下降,经过一定时间后变为低电平。只要适当选择C和R的值,就能够使RST引脚上的高电平保持两个机器周期以上,从而在实现上电的同时,完成单片机的复位操作。

图1-5所示为外部按键复位电路,通过操作按键产生的正脉冲来实现按键复位,按键按下产生的高电平脉宽要远远大于2个机器周期。这个电路也同时具备上电自动复位功能。

图1-4 上电自动复位电路

图1-5 按键和上电自动复位电路

1.1.4 跟我做

现在一起来动手操作,将程序通过ISP线下载到实验板上单片机Flash ROM中。首先用ISP下载线连接实验板和计算机,随后打开编程(下载)软件。编程软件种类很多,本书选用的是智峰工作室开发的PROGISP1.72编程软件,其操作方法如下。

通过单击Progisp.exe可执行文件,打开PROGISP编程软件的主界面,如图1-6所示。单击“Select Chip”下的芯片选择下拉菜单,选择要下载的芯片型号AT89S51;单击“文件”下的“调入Flash”,在弹出的对话框中寻找并选择需调入的编程文件,该文件是程序编译后的形成以*.hex或*.bin为后缀的目标文件;勾选“编程”栏相应的编程选项,一般选择“芯片擦除”、“空片检查”和“编程Flash”3个选项,然后单击“自动”按钮即可以完成编程。如果出错会弹出对话框进行提示。如果写入成功,信息提示栏会显示出相应成功的信息。也可以单击“擦除”按钮擦除芯片内容。

图1-6 PROGISP的主界面

1.2 工作任务单