安徽电子信息职业技术学院《单片机应用技术》课程设计报告书题目:一键多功能按键识别设计姓名:xxx专业:电子信息工程技术班级:电信097学号:090301704设计成绩:指导教师:李炎设计完成日期2010年12月26日前言单片机的应用介绍单片机具有体积小、可靠性高、功能强、灵活方便等许多优点,广泛应用于国民经济的各个领域。智能仪器的应用单片机用于各种仪器仪表,是仪器仪表智能化,可以提高测量的自动化程度和精度;简化仪器仪表的硬件结构,减小体积,提高其性价比。例如:温度智能控制仪表、医用仪表、数字示波器等。通信设备的应用单片机与通信技术相结合促使通信设备的智能控制水平大大提高,广泛应用于通信的各个领域。例如:调制解调器、传真机、复印机、打印机、移动电话、固定电话机等。(3)家用电器的应用传统的家电配上单片机以后,提高了智能化程度,增加了功能,倍受人们的喜爱;单片机使人类生活更加方便、舒适、丰富多彩。例如:洗衣机、电冰箱、电子玩具、收录机、微波炉、电视机、录像机、音响设备、程控玩具、游戏机等。工业控制的应用机电一体化是机械工业发展的方向。机电一体化产品是集机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制的车床、钻床等。单片机广泛用于导弹的导航装置、飞机上各种仪表的控制、计算机的网络通信与数据传输、机器人、工业自动化过程的实时控制和数据处理。在比较复杂的系统中,常采用分布式多机系统。多机系统一般由若干功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系。协调工作。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣课程设计的目的和意义1、目的:(1)掌握单片机中有关指令的使用方法。(2)掌握循环程序的设计方法。(3)掌握子程序的应用方法。(4)掌握延时时间的计算、应用。课题设计意义计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称EIARS-232-C)是目前最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。随着计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC机的RS-232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。因此如何实现PC机与单片机之间的通讯具有非常重要的现实意义。课题要求开关SP1接在P3.7/RD管脚上,在AT89S51单片机的P1端口接有四个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,当第一次按下开关SP1的时候,L2接在P1.1管脚上的发光二极管在闪烁,再按下开关SP1的时候,L3接在P1.2管脚上的发光二极管在闪烁,再按下开关SP1的时候,L4接在P1.3管脚上的发光二极管在闪烁,再按下开关SP1的时候,又回到L1在闪烁了,如此循环下去。晶振频率为12MHz,发光二极管闪烁的频率为0.6s编程实现,每隔10ms检测一下开关状态。硬件设计1、主要元器件选用型号和数量如下:2、AT89C51功能及引脚简介:上图是AT89C51的引脚图,引脚说明如下:VCC`:AT89C51电源正极输入,接+5V电压。GND:电源接地端。XTAL1:接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。它采用外部振荡器时,些引脚应接地。XTAL2:接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入元器件数量AT89C51(单片机)RES(电阻)发光二极管BUTTON(开关按钮)Vcc(电源)接地端1个4个4个1个4个1个端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。RST:AT89C51的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89C51便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。ALE/PROG:ALE是英文ADDRESSLATCHENABLE的缩写,表示允许地址锁存允许信号。当访问外部存储器时,ALE信号负跳变来触发外部的8位锁存器(如74LS373),将端口P0的地址总线(A0-A7)锁存进入锁存器中。在非访问外部存储器期间,ALE引脚的输出频率是系统工作频率的1/16,因此可以用来驱动其他外围芯片的时钟输入。当问外部存储器期间,将以1/12振荡频率输出。EA/VPP:该引脚为低电平时,则读取外部的程序代码(存于外部EPROM中)来执行程序。因此在8031中,EA引脚必须接低电位,因为其内部无程序存储器空间。如果是使用AT89C51或其它内部有程序空间的单片机时,此引脚接成高电平使程序运行时访问内部程序存储器,当程序指针PC值超过片内程序存储器地址(如8051/8751/89C51的PC超过0FFFH)时,将自动转向外部程序存储器继续运行。此外,在将程序代码烧录至8751内部EPROM、89C51内部FALSH时,可以利用此引脚来输入提供编程电压(8751为2lV、AT89C51为12V、8051是由生产厂方一次性加工好)。PSEN:此为ProgramStoreEnable的缩写。访问外部程序存储器选通信号,低电平有效。在访问外部程序存储器读取指令码时,每个机器周期产生二次PSEN信号。在执行片内程序存储器指令时,不产生PSEN信号,在访问外部数据时,亦不产生PSEN信号。P0:P0口(P0.0~P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。外部不扩展而单片应用时,则作一般双向I/O口用。P0口每一个引脚可以推动8个LSTTL负载。P1:P1口(P1.0~P1.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),其输出可以推动4个LSTTL负载。仅供用户作为输入输出用的端口。P2:P2口(P2.0~P2.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),当访问外部程序存储器时,它是高8位地址。外部不扩展而单片应用时,则作一般双向I/O口用。每一个引脚可以推动4个LSTL负载。P3:P3口(P3.0~P3.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。其特殊功能引脚分配如下:P3.0RXD串行通信输入P3.1TXD串行通信输出P3.2INT0外部中断0输入,低电平有效P3.3INT1外部中断1输入,低电平有效P3.4T0计数器0外部事件计数输入端P3.5T1计数器1外部事件计数输入端P3.6WR外部随机存储器的写选通,低电平有效P3.7RD外部随机存储器的读选通,低电平有效3、键盘多功能按键识别器原理图:设计思路:在给单片机通电后我们要求立刻有一个发光二极管P1.0发光,当第一次按下按钮后P1.1口所对应发光二极管发光且前一个灯灭,以此类推……完成要求.软件总体设计(1).在设计过程中我们用一个存储单元作为秒计数单元,当一秒钟到来时,就让秒计数单元加1,当秒计数达到60时,就自动返回到0,从新秒计数。(2).对于秒计数单元中的数据要把它十位数和个数分开,方法仍采用对10整除和对10求余。(3).在数码上显示,仍通过查表的方式完成。(4).一秒时间的产生在这里我们采用软件精确延时的方法来完成,经过精确计算得到1秒时间为1.002秒。源程序设计:ORG0000HLJMPMAINORG0030HMAIN:SETBP3.7MOVTCON,#00HMOVSP,#6FHMOVP1,#0FEHKEY1:MOVP1,#0FFHL1:CLRP1.0LCALLDELAYSETBP1.0LCALLDELAYJNBP3.7,KEY2LJMPL1KEY2:MOVP1,#0FFHL2:CLRP1.1LCALLDELAYSETBP1.1LCALLDELAYJNBP3.7,KEY3LJMPL2KEY3:MOVP1,#0FFHL3:CLRP1.2LCALLDELAYSETBP1.2LCALLDELAYJNBP3.7,KEY4LJMPL3KEY4:MOVP1,#0FFHL4:CLRP1.3LCALLDELAYSETBP1.3LCALLDELAYJNBP3.7,KEY1LJMPL4ORG0010HDELAY:MOVR3,#4DEL3:MOVR4,#100DEL2:MOVR5,#150DEL1:NOPDJNZR5,DEL1DJNZR4,DEL2DJNZR3,DEL3RETEND仿真调试:单片机仿真调试可以用完全的软件化,就如用Proteus仿真软件。就是说不涉及到用真正单片机来做仿真。而一般设计开发中都是用硬件的仿真器结合真正的单片机芯片及其外围电路做的硬件仿真。说白了就是让单片机根据编程者的意愿来执行程序中某些特定的部分,以便调试并找出单片机程序及外围电路的错误和毛病。设计总结:完成情况:经过两个星期的努力,我们一组成员终于完成了键盘多功能按键设计的课题,主要是用AT89C51单片机实现键盘多功能按键识别器控制方案。通过这次课程设计,使我得到了一次用专业知识和专业技能去分析问题、解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及用汇编语言设计程序的思路技巧等方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。这次这个单片机的课程设计我们完成的不太理想,通过这次的课程设计作品的制作让我对单片机的理论有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结果甚至很差别很大。通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际,避免称为只会纸上谈兵的赵括。课程设计贡献排序:这次课程设计从最初的规划到后来的理论设计到最后的具体制作都是我们两共同完成的,实在无法区分贡献排序。各取50%吧。课程改革建议:我们强烈建议将这门课程的理论学习和实验部分合并成一门,以避免想我们这种情况的再次发生。在此感谢老师和同学的帮助!!!参考文献:江力蔡骏王艳春董泽芳编写的单片机原理与应用技术清华大学出版社