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