1、项目基本技能项目基本技能了解了解MCS-51MCS-51单片机的外部引脚单片机的外部引脚 任务任务一一知识知识点一点一数制与编码数制与编码 知识知识点二点二单片机最小应用系统简介单片机最小应用系统简介 WAVEWAVE仿真开发软件安装与使用仿真开发软件安装与使用 任务任务三三了解单片机开发系统常用工具了解单片机开发系统常用工具 任务任务二二项目基本知识项目基本知识项目学习目标项目学习目标任务一任务一 了解了解MCS-51单片机的外部引脚单片机的外部引脚单片微型计算机(Single-Chip Microcomputer)简称单片机,是一种集成电路芯片,它采用超大规模技术把具有数据处理力的微处理器
2、(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计器、输入/输出电路以及中断系统等电路集成到一块芯片上,构成一个最小却完善的计算机系统。目前世界上生产单片机的厂商很多,我们以目前最流行、应用最为广泛的Intel公司生产的MCS-51单片机为例来介绍单片机的基本知识。项目基本技能项目基本技能MCS-51是高档是高档8位单片机,但由于受到集成电路芯片引脚数目的限制,所位单片机,但由于受到集成电路芯片引脚数目的限制,所以有许多引脚具有第二功能。以有许多引脚具有第二功能。MCS-51的引脚和实物如图的引脚和实物如图1-1所示。所示。图图1-1 MCS-51引脚和实物图引脚和实物图MCS-
3、51的的40个引脚大致可以分为电源、时钟、个引脚大致可以分为电源、时钟、I/O口、控制总线等几个部分。口、控制总线等几个部分。(1)电源引脚:)电源引脚:VCC和和VSS(2)时钟振荡电路引脚:)时钟振荡电路引脚:XTAL1和和XTAL2 在使用内部振荡电路时,在使用内部振荡电路时,XTAL1和和XTAL2用来外接用来外接石英晶体和微调电容,振荡频率为晶振频率,振荡信号石英晶体和微调电容,振荡频率为晶振频率,振荡信号送至内部时钟电路产生时钟脉冲信号;送至内部时钟电路产生时钟脉冲信号;(3)控制信号引脚:)控制信号引脚:RST/VPD,和和 RST为复位信号输入端。为复位信号输入端。VPD为内部
4、为内部RAM的备用电源输入端。的备用电源输入端。ALE/PROGPSENPPEA/V ALE为地址锁存信号。为8751内部EPROM编程时的编程脉冲输入端。外部程序存储器的读选通信号,当访问外部ROM时,产生负脉冲作为外部ROM的选通信号。为访问程序存储器的控制信号。当 为低电平时,CPU对ROM的访问限定在外部程序存储器;当 为高电平时,CPU对ROM的访问从内部04KB地址开始,并可以自动延至外部超过4KB的程序存储器。VPP为8751内EPROM编程的21V电源输入端。(4)I/O口引脚:P0、P1、P2和P3PSENPPEA/VEAEAPROGv表表1-1 P3口的第二功能口的第二功能
5、1单片机常用芯片单片机常用芯片ATMEL公司生产的以MCS-51内核的系列单片机,如AT89C51、AT89S51等,在原基础上增强了许多特性,如时钟,更优秀的是由Flash存储器取带了原来的ROM,尤其是AT89S51支持ISP功能表1-2 ATMEL系列单片机2单片机开发系统单片机开发系统单片机开发系统主要由主机、在线仿真器和通用编程器等组成,如图单片机开发系统主要由主机、在线仿真器和通用编程器等组成,如图1-2所示。所示。单片机开发系统包括通用型和专用型,单片机开发系统包括通用型和专用型,通用型配备有多种在线仿真头和通用型配备有多种在线仿真头和相应的开发软件,使用时,只需更换系相应的开发
6、软件,使用时,只需更换系统中的仿真头,就能够开发相应的单片机统中的仿真头,就能够开发相应的单片机系统或可编程器件;系统或可编程器件;专用型只能仿真一种类型的单片机。专用型只能仿真一种类型的单片机。图图1-2 单片机开发系统组成框图单片机开发系统组成框图3仿真器 仿真器是通过仿真软件的配合,用来模拟单片机运行并可进行在线调试的工具。仿真器一端连接计算机,另一端通过仿真头连接单片机目标板,其中,计算机、仿真器和仿真头可以代替单片机在单片机目标板上演示出程序运行效果,具有直观性、实时性和调试效率高等优点。图1-3所示为常见的仿真器。图1-3 常见的仿真器 4编程器 将十六进制或二进制机器代码烧写入单
7、片机程序存储器中的设备称为编程器(俗称烧写器)。图1-4所示为常见的编程器。图1-4 常见的编程器WAVE是一种单片机仿真开发软件,其突出特点包括:采用Windows版本,界面友好、统一。提供了全集成化开发环境,集编辑、编译、下载、调试于一体。具有项目管理功能,为用户的资源共享、课题重组提供强有力的手段。具有功能强大的编辑器,并支持ASM、C语言混合编程。具有丰富的窗口显示方式,能多方位、动态地显示仿真的各种过程。双工作模式:软件模拟仿真和硬件仿真。具有逻辑分析仪综合调试功能,可以通过交互式软件菜单窗口对系统硬件的逻辑或时序进行同步实时采样,并能实时在线调试分析。具有程序跟踪功能,以总线周期为
8、单位,实时记录仿真过程中CPU发生的总线事件及触发条件。跟踪窗口可收集显示追踪的CPU指令记忆信息。具体的按照与使用参见课本1.数制 数制就是人们利用符号计数的一种科学方法。在日常生活中,采用的计数方法是十进制数,计算机中使用二进制计数方法,(1)十进制(Decimal Number)十进制数基数:0、1、2、3、4、5、6、7、8、9,“逢10进1”。(2)二进制(Binary Number)二进制数用两个数码0和1表示,“逢2进1”。(3)十六进制(Hexadecimal Number)十六进制数基数:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,“逢16进1”。2.数制
9、之间的相互转换(1)二进制数、十六进制数转换为十进制数 转换方法:将二进制数、十六进制数按权展开,写成多项式的形式,再把每一项的值相加。(2)十进制数转换为二进制数 转换方法:把十进制数分为小数部分和整数部分,整数部分采用“除2取余”的方法,然后将所有余数按照从后到前的顺序排列;小数部分采用“乘2取整”的方法,将所有取出的整数按照顺序排列。(3)二进制数与十六进制数之间的相互转换。十六进制数转换为二进制数时,将二进制数的整数部分自右向左每4位一组,不足4位的在左面用零补足;小数部分自左向右每4位一组,不足4位在右面补零。将十六进制数转换为二进制数时,只需把每一位十六进制数写成对应的4位二进制数
10、即可。(1)带符号数的编码表示)带符号数的编码表示在计算机中,对于带符号数来说,一般用最高位表示数的正负。对于正数,最高位规在计算机中,对于带符号数来说,一般用最高位表示数的正负。对于正数,最高位规定为定为“0”;对于负数,最高位为;对于负数,最高位为“1”。例如:例如:D1=57H,D2=57H,在计算机中分别表示为:,在计算机中分别表示为:D1=0 1010111,D2=1 1010111。这种将高位定义为符号位的二进制数称为带符号的二进制数,又称为机器数,原这种将高位定义为符号位的二进制数称为带符号的二进制数,又称为机器数,原来的数称为真值。带符号的二进制数有以下来的数称为真值。带符号的
11、二进制数有以下3种表示方法。种表示方法。原码。就是将真值的正负符号,分别按照规定用原码。就是将真值的正负符号,分别按照规定用“1”和和“0”代替,数值部分和代替,数值部分和真值完全相同。真值完全相同。反码。正数的反码与原码相同;负数的反码是原码的符号位数不变,其余各位按反码。正数的反码与原码相同;负数的反码是原码的符号位数不变,其余各位按位取反。位取反。如:如:56H反反=56H原原=0 1010110B;56H的原码为的原码为1 1010110,则,则56H的反码为的反码为1 0101001。补码。补码的定义为:正数的补码与原码相同,负数的补码等于它的反码加补码。补码的定义为:正数的补码与原
12、码相同,负数的补码等于它的反码加1。如如23H的反码为的反码为1 1011100,它的补码为,它的补码为1 1011101。(2)英文字符的表示ASCII码 计算机内部的数据均采用二进制代码表示,但通过输入设备(如键盘)输入的信息和通过输出设备(如显示器、打印机)输出的信息既有字母、数字,又有汉字及各种控制字符。为了便于计算机系统和操作者之间的信息交换,需要将数字、字母及各种符号进行统一编码。目前,在计算机中普遍采用“美国信息交换标准代码”(American Standard Code for Information Interchange),简称ASCII码。(3)BCD码(Binary C
13、oded Decimal)计算机系统中,各种数据都要转换为二进制数码才能进行处理,但考虑到人们习惯于使用十进制数,因此在计算机的输入、输出端仍然采用十进制数,这就是BCD码,它是用4位二进制代码来分别表示十进制数中的10(09)个数码,全称为二十进制编码,简称为BCD码。如:4的BCD码是0100;9的BCD码是1001 注:在BCD码中,不使用1010(0AH)1111(0FH)。由于AT89CXX和AT89SXX系列单片机内部有ROM/EPROM,构成最小应用系统时,只需要3个条件:一是电源,二是时钟,三是复位。单片机最小应用系统如图1-8所示。单片机最小应用系统结构简单、体积小、功耗低、成本低,在简单的应用系统中得以广泛应用。但在具体的应用系统中,最小应用系统往往不能满足要求,须扩展相应的外围芯片以满足实际系统的要求。图图1-8 单片机最小应用系统单片机最小应用系统图1-9 单片机系统电源电路 图1-10 MCS-51单片机的时钟电路图1-11 上电复位和手动复位