1、课程设计 基于 80C51 系列单片机教学实验板设计摘要单片机由于控制功能强、可靠性高和体积小、价格低等特点,在智能仪器仪表、工业测控、家用电器等领域有非常广泛的应用。因此,几乎每所高校在机电、自动控制、应用电子等工科专业中都开设了单片机原理与应用课程。单片机原理与应用作为一门实践性很强的课程,必须要有一套合适的单片机实验平台和实验项目来配合教学,才能实现教学目标。Because of strong control function,high reliability,small volume and low cost,the Microcontroller unit (MCU has broa
2、d application prospect in intelligent instruments and apparatus, industrial measuring and controlling system and home appliances.Almost all of universities and colleges provide the MCU course, namely the principle and application of MCU. This course is a practical course, which needs a suit of exper
3、imental platform and various contents to support teaching and learning process.论文根据 80C51 单片机技术不断成熟和完善,市场拥有量大且快速增长,为各个学校单片机教学的首选机型这一实际情况,设计开发了 80C51 系列单片机教学实验板。该实验板以建立单片机应用“系统”的概念为主题,从具体应用这一角度切入主题,注重实验的实用性、方便性、经济性、系统性和开放性。Actually,the 8OC51 MCU is highly accepted in the market and rapidly developed
4、because of its mature and perfect technology, this paper designs a MCU teaching and experimental board by using 80C51 product.该实验板围绕常用控制系统为主线的各个基本项目的实践教学,以此激发学生对单片机学习和应用的兴趣,让学生掌握单片机的原理和用途,熟悉开发单片机应用系统的流程和方法,初步具有开发简单的单片机应用系统软硬件的能力,达到开设单片机课程的教学目的。This experimental board primarily realizes the simple co
5、ntrolling system, in order to fulfill the aim of establishing a MCU application system.It focuses on designing practical,convenient,economic, comprehensive and open experiments.The practical teaching of each basis item,which surrounds the simple but practical measure system o f home air-condition sy
6、stem,in spires students interests in learning and using MCU technology, guides the students to master its principle andapplication, acquaints the flow chart and methods to develop new product That is the creaim of opening the course of MCU technology目录第一章 绪论1.1 选题意义单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两
7、个分支。通用计算机系统主要用于海量高速数值运算,不必兼顾控制功能,其数据总线的宽度不断增加,从8位、16位迅速过渡到32位、64位,并且不断提高运算速度和完善通用操作系统,以突出其高速海量数值运算的能力,在数据处理、模拟仿真、人工智能、图像处理、多媒体、网络通信中得到了广泛应用;单片机作为最典型的嵌入式系统,由于其微小的体积和极低的成本,广泛应用于家用电器、机器人、仪器仪表、工业控制单元、办公自动化设备及通信产品中,成为现代电子系统中最重要的智能化工具。单片机应用系统是一个广阔的领域,涉及到单片机、接口技术、传感技术、通信技术、控制方法、编程技术等多方面的知识,任何一套单片机实验装置所能涉及的
8、内容必然是“挂一漏十”。由此,本单片机实验平台在总体设计上的指导思想是以建立单片机应用“系统”概念为主题,从具体应用这一角度切入主题,同时使系统具有开放性。单片机实验过程尽量和单片机应用系统开发过程一致,该实验板本身可作为一个可在实际工控环境中应用的单片机应用系统。学生在该实验板上做完尽量少的基本实验就能基本掌握单片机的工作原理、接口技术和简单的程序设计,熟悉单片机应用系统开发过程,使之形成单片机的系统概念,具有开发简单单片机应用系统的能力。本单片机实验平台各功能模块相对独立,又可组成一个统一的系统。各部分独立时,可完成单片机实践教学的各项基本软硬件实验。本实验板可方便地作为单片机各章节理论教
9、学中的演示教学和实践教学,有利于使学生建立单片机“系统”的概念,培养学生开发简单单片机应用系统的能力。本文研究的目的就是针对市场化的单片机实验平台和学校教学的实际情况,开发一套在实验的方便性、经济性和实验内容等方面适合电子技术、机电一体化、电气工程等专业学生进行单片机课程实践教学需要的单片机实验板。以此来激发学生对单片机学习和应用的兴趣,让学生掌握单片机的原理和用途,熟悉开发单片机应用系统的流程和方法,初步具有开发简单的单片机应用系统软硬件的能力,达到开设单片机课程的教学目的。1.2 单片机发展动态单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两个分支。通用计算机系统主要用
10、于海量高速数值运算,不必兼顾控制功能,其数据总线的宽度不断增加,从8位、16位迅速过渡到32位、64位,并且不断提高运算速度和完善通用操作系统,以突出其高速海量数值运算的能力,在数据处理、模拟仿真、人工智能、图像处理、多媒体、网络通信中得到了广泛应用;单片机作为最典型的嵌入式系统,由于其微小的体积和极低的成本,广泛应用于家用电器、机器人、仪器仪表、工业控制单元、办公自动化设备及通信产品中,成为现代电子系统中最重要的智能化工具。单片机技术的发展迅速,产品种类多。纵观整个单片机技术的发展过程,可以分为以下三个阶段:(1) 单芯片微机形成阶段:1976 年Intel公司推出MCS-48系列单片机。该
11、系列单片机内部集成有:8 位CPU, 1KB程序存储器(ROM)、64 B数据存储器(RAM)、27 根沁线和1 个8 位定时 /计数器。此阶段的特点是:存储器容量较小,寻址范围小,无串行接口,指令系统功能不强。(2) 性能完善提高阶段:1980年Intel公司推出80C51 系列单片机。该系列单片机内部集成有:8位CPU,4K B程序存储器(ROM),128 B数据存储器(RAM),4 个8 位并行接口、1 个全双工串行接口和2 个16 位定时/计数器。寻址范围为64K,并集成有控制功能较强的布尔处理器完成位处理功能。此阶段的特点是:结构体系完善,性能大大提高,面向控制的特点进一步突出。由于
12、80C51具有一系列其他型号8 位单片机难以比拟的优点,成为事实上的单片机工业标准。(3) 微控制器化阶段:1982年Intel公司推出MCS-%系列单片机。该系列单片机内部集成有:16位CPU,8K B程序存储器(ROM),256B 数据存储器(RAM),5 个8 位并行接口、1个全双工串行接口和2 个16 位定喻计数器.寻址范围为64 K.片上还有8 路10 位A/D 转换、 1 路PWM (D/A)输出及高速 I/0 部件等。此阶段的特点是:片内面向测控系统的外围电路增强,使单片机可以方便灵活地应用于复杂的自动测控系统及设备。近年来,许多半导体厂商以8OC51系列单片机的8051为内核,
13、将许多测控系统中的接口技术、可靠性技术及先进的存储器技术和工艺技术集成到单片机中,生产出多种功能强大、使用灵活的新一代80C51系列单片机。其近况可以归纳为以下两个方面。(1) 8OC51 系列单片机产品繁多,主流地位已经形成。通用微型计算机速度的提高,主要体现在CPU位数的提高(至64位),而单片机注重的是产品的可靠性、经济性和嵌入性。所以,单片机CPU位数的提高需求并不十分迫切。多年应用实践证明,80C51的系统结构合理,技术成熟。因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了8OC51的主流产品地位。近年来推出的与80C51兼容的主要产品有:ATMEL
14、公司融入Flash 存储器技术推出的AT89 系列单片机;Philips 公司推出的80C51,80C52 系列高性能单片机;华邦公司推出的W78C51,W77C51 系列高速低价单片机:ADI 公司推出的AdC8、系列高精度A/D转换单片机;LG 公 司推出的GMS90/97系列低压高速单片机;Maxim 公司推出的DS89C420 高速(50MIPS)单片机:Cygnal 公司推出的C8051F系列高速SOC 单片机等。(2) 在80C51 及其兼容产品流行的同时,非80C51 结构单片机产品不断推出,给用户提供了更为广泛的选择空间。影响比较大的有:Intel 公司推出的MCS-96 系列
15、16位单片机;Microchip 公司推出的PIC 系列RICS 结构单片机;TI 公司推出的MSP430F 系列16 位低电压、低功耗单片机;ATMEL 公司推出的AVR 系列RISC 结构单片机等。其中ATMEL 公司的AT89 系列单片机由于将Flash技术、看门狗定时器(WDT)技术、在系统编程(ISP)技术及SPI串行接口技术等有效结合,加上成功的市场推广,成为目前及将来较长时间单片机的主流芯片。1.3 研究目的本文研究的目的就是针对市场化的单片机实验平台和学校教学的实际情况,注重实用性,以应用为出发点,开发一套在实验的方便性、经济性和实验内容等方面适合电子技术、机电一体化、电气工程
16、等专业学生进行单片机课程实践教学需要的单片机实验板,激发学生对单片机学习和应用的兴趣,让学生掌握单片机的原理和用途,熟悉开发单片机应用系统的流程和方法,初步具有开发简单的单片机应用系统软硬件的能力,达到开设单片机课程的教学目的。第二章 总体设计思想2.1 实验体系结构单片机应用系统是一个广阔的领域,涉及到单片机、接口技术、传感技术、通信技术、控制方法、编程技术等多方面的知识。由此,本单片机实验平台在总体设计上的指导思想是以建立单片机应用“系统”概念为主题,从具体应用这一角度切入主题,同时使系统具有开放性。单片机实验过程尽量和单片机应用系统开发过程一致,该实验平台本身可作为一个可在实际工控环境中
17、应用的单片机应用系统。学生在该平台上做完尽量少的基本实验就能基本掌握单片机的工作原理、接口技术和简单的程序设计,熟悉单片机应用系统开发过程,使之形成单片机的系统概念,具有开发简单单片机应用系统的能力。单片机作为一片集成了微型计算机基本部件的集成电路芯片,与通用微型计算机相比,它自身没有开发功能,必须借助开发机(另一特殊的计算机系统)来完成如下任务:(1)将汇编语言或C语言等编程语言编写的程序编译成单片机能直接识别和处理的机器码。(2)帮助排除应用系统的硬件故障和软件错误。(3)将调试完成的程序固化到单片机内部或外部程序存储器中。实验板上插入支持ISP功能的单片机,利用ISP下载线将PC的并口和
18、实验板的ISP接口相连。实验时,先利用支持ISP功能的仿真软件进行模拟仿真运行,调试成功后运用ISP功能将编译后生成的目标文件下载到单片机的ROM中,然后单独给实验板通电,检查运行情况。如果运行不正常,则需要调试软硬件后重新下载程序。此方案不需要价格较高的专用仿真器,且运行正常后程序将长期驻留在单片机ROM中,可以可靠地反复使用。2.2 实验平台逻辑结构框图 2.3 总体技术方案设计 本设计包括以下部分:时钟电路、复位电路、D/A转换电路、A/D转换电路、开关量输入电路、指示灯及驱动电路、键盘输入和LED数码管显示电路第三章 硬件设计3.1 单片机控制部分单片机选用ATMEL公司生产的AT89
19、S52,该单片机与80C51完全兼容,支持Flash和ISP技术。主要性能如下:与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz33Hz 、 三级加密程序存储器 、 32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。AT89S52 是一种低功耗、高性能CMOS 8 位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全
20、兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能:8K 字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6 向量2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被
21、保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89S52 各引脚说明如下:VCC:电源GND:地P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8 位地址/数据复用。在这种模式下,P0 口具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口: P1 口是一个具有内部上拉电阻的 8 位双向I/O 口,P1 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P1 端
22、口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。 此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX) ,具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功能 引脚 第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程
23、用)P2 口: P2 口是一个具有内部上拉电阻的 8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口: P3 口是
24、一个具有内部上拉电阻的 8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。 引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P
25、3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别
26、强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG) 。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效
27、。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端) ,CPU则执行内部程序存储器的指令。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XT
28、AL2:振荡器反相放大器的输出端。3.2 时钟电路8OC51系列单片机内部在两时钟输入端(第18,19引脚)之间有一高增益反相放大器,支持自激振荡时钟输入和外部时钟输入两种方式。由于采用外部时钟输入使得外部电路复杂,且8051与80C51的外部输入方式还有一定区别。本单片机实验平台采用自激振荡时钟输入方式。虽然AT89S52支持频率高达33MHz,但部分80C51单片机只支持12MHz,故石英晶体采用12MHz,即时钟周期为1/12gs,状态周期为1/bits,机器周期为1s。时钟电路如图3.1所示,石英晶体Y决定振荡频率,电容C主要起频率微调和稳定作用。3.3 复位电路C取值为10F。在使用
29、中如果发现系统有程序跑飞等情况,可按按钮KO进行手动复位。此时,KO将VCC直接连接到Reset端使单片机复位,根据手动复位的机械特性,复位时间一般持续10ms以上,满足系统复位特性的要求。ISP下载线AT89S5XISP(在线可编程)器件是先进的可编程器件,它的优点是不需要编程器即可直接对安装在用户目标板上的ISP器件进行编程,而且编程调试都很方便。当产品升级换代时,只要通过软件对ISP器件重新编程,便可使其具有新的逻辑功能,不需要增加硬件投入,极大地方便了用户。ISP技术无须改动印刷电路板,并且可在不取下器件的情况下,直接在芯片上对系统设计进行修改和编程。ATMEL公司的AT89S52单片
30、机就是具有ISP功能的单片机。AT89S52在封装和引脚数量上和89C52相同,但在功能上则更优秀,除了具有ISP功能外,主要还有双数据寄存器指针和看门狗等。ISP下载线AT89S5X原理1、MOSI:数据串行输出(S52 P1.5脚),MISO:串行数据输入(S52 P1.6脚),SCK:同步控制时钟(S52 P1.7脚),RST接单片机复位脚(当有足够的高电平使S52处于复位状态,它就会开启读写程序功能),LE:器件的锁存允许,OE:器件的输出允许 2、并口各针脚的功能。 2,3,4,5,6,7,8,9为数据口,可读可写;1,14,16,17为控制口,可读可写;10,11,12,13,15为状态口,只读18-25接地。