资源描述
芜湖信息技术职业学院毕业论文(设计)学校代码: 14057 学 号: 芜湖信息技术职业学院毕业论文(设计)论文题目: 学科专业: 作者姓名: 指导教师: 完成时间: 选题背景 最近几年来,在电子技术高度发展的今天,单片机迅猛发展,多功能按键已成为当代电子信息中不可或缺的重要部分,尤其是应用在当代的潮流物品上面,例如:MP3,MP4,手机,数字电视等高科技电子电器上面.正是由于它的出现和应用给人们的学习、工作、娱乐带来极大方便。另外,多功能按键中还采用了石英晶体振荡电路,从而使它具有响应快、灵敏度高、性能稳定诸多优点。它还可以利用一个按键实现单击、双击、连击的功能,真正做到了一键多功能,多效应,这也正是它的命名由来.近年来中国电子工业持续高速增长,带动电子元器件产业的强劲发展。中国已经成为扬声器、铝电解电容器、显像管、印制电路板、半导体分立器件等电子元器件的世界生产基地。本设计介绍一种实用的单片机多功能按键的设计与制作,采用基于MS-51的单片机AT89S51芯片,并且利用该芯片及其他一些电器元件设计了本实验跑马灯电路板。毕业论文进度安排:2011 02定题2011 03 写提纲、初稿2011 04 修改论文2011 06 定稿指导教师意见: 指导教师签名: 年 月 日毕业论文(设计)写作提纲一、论文题目 跑马灯设计二、论题观点来源: 电子信息产业具有产业规模大,技术进步快,产业关联度强等特点,是经济增长的重要的引擎,更是我国国民经济重要的战略性产业。09年以来我国电子信息产业一路保持恢复性增长的态势,目前已进入平稳增长的阶段。近年来中国电子工业持续高速增长,带动电子元器件产业的强劲发展。中国已经成为扬声器、铝电解电容器、显像管、印制电路板、半导体分立器件等电子元器件的世界生产基地。 三、基本观点: 该论文首先主要是简介电子行业在我国的发展趋势以及发展前景。其次是介绍一些关于芯片AT89S51的功能等硬件方面的知识。之后介绍软件方面的设计思想。最后进行电路板的调试问题解决和设计总结。四、论文结构: 1、总体设计2、硬件设计3、软件设计4、设计总结毕业论文(设计)工作中期检查表系别: 班级: 学生姓名学号指导教师 职称论文(设计)题目 选题是否有变化 如有,请填写原因 是否一人一题 是否进行了选题背景、及写作提纲 是否进行了文献调研 本论文拟解决的关键问题 教师填写部分论文(设计)进度情况: 提前完成 正常进行 延期滞后(请写出原因)工作态度情况(学生对毕业论文(设计)的认真程度、完成指导教师布置任务情况): 认真 较认真 一般 不认真中期质量评价(学生已完成部分的工作质量情况): 好 中 差存在的问题与建议: 指导教师(签名): 年 月 日系毕业论文(设计)工作领导小组意见(如被查学生为差的,请系毕业论文设计领导小组写出处理意见): 领导小组组长(签名): 年 月 日目 录【摘 要】6一.总体设计71.1控制芯片71.2 输入部分71.3 输出部分81.4时钟和复位8二. 硬件设计92.1 总体电路介绍92.2.1 AT89C51的介绍92.2.2 AT89C51内部主要功能92.2.3 AT89C51主要特性102.2.4 AT89C51引脚分配和简介102.3振荡器电路132.4芯片擦除13三. 软件设计143.1总体设计思想143.1.1伟煌MA51开发系统143.1.2 TOP851编程器简介153.2程序编写简介16四.总体设计总结18附录19中 文 摘 要 近年来中国电子工业持续高速增长,带动电子元器件产业的强劲发展。中国已经成为扬声器、铝电解电容器、显像管、印制电路板、半导体分立器件等电子元器件的世界生产基地。 随着我国电子信息产品制造业规模的不断扩张,电子测量仪器市场年均增长率在30%左右,呈现出高速增长的态势。虽然美国次债危机愈演愈烈,但国内电子测量仪器厂商发展依然稳固,在力保海外出口市场的同时,积极的开拓国内市场。 单片机发展极为迅速,当前世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位等,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。在单片机系列中,AT89S51/AT89C51应用最为广泛。本设计介绍一种实用的单片机多功能按键的设计与制作,采用基于MS-51的单片机AT89C51,在该论文中的第一章节将详细介绍关于AT89C51芯片的结构,引脚功能及芯片的功能控制等。本文将用单片机80C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以80C51为核心,辅以简单的设备和必要的电路,设计了一款简易的跑马灯电路板,并编写简单的程序,使其能够自动工作。在第二章将简易介绍部分硬件知识,在第三章将介绍简单的编写程序,用以控制跑马灯电路板的自动实现功能。 一、 总体控制 多功能按键是一个以单片机为控制芯片,可以向单个按键实现单击、双击和连击的多功能驱动和控制装置,实现这种装置的方法和所需的器件涉及以下几个方面:1.1控制芯片 实现多功能按键系统可以用很多种控制芯片,常用的单片机芯片有AT89S51、AT89C51、和AT89S52等,本设计使用的是MTMEL的AT98C51单片机。该芯片具有低功耗、高绩效、性能稳定等优点,它有40个引脚,8KB,256B内RAM,三个16位定时/计数器,32个特殊功能寄存器,8个中断源、6个中断入口、可设置2个优先级,4个8位并行I/O口、32个I/O口端线可供编程,一个全双工串行口等。本设计使用P0口的P0.0P0.3的四个I/O口作为输入口、P1口的六个I/O口作为输出口,具体方案将在下文详细介绍。ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统,提供了一种灵活性高且价廉的方案。外形及引脚排列如图1所示。 图11.2 输入部分由于向主控芯片输入信号前须先向各位写入1,所以设定输入时低电平有效。该输入采用四个按键开关作为输入信号的载体,在软件程序中编写时,首先给P0.0-P0.3置高电平,在电路板中设置的低电平有效,则利用汇编语言的控制,可以实现按键开关的单击有效性。(具体识别部分在程序中设定,详细部分将在第三章软件部分介绍)。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。1.3 输出部分输出只是对我们控制要求的一种验证或显示,可以有多种方式,在该设计使用的是6个发光二极管。但由于二极管本身的击穿电压和额定电流都很低,所以将6个发光二极管串接一个610M的排阻,排阻另一端接正VCC,这时要求使芯片的输出端为低电平有效就可以实现跑马灯了。在本实验中,P1口的6个I/O口作为输出端。即在程序中P1口为低电平时有效。1.4时钟和复位单片机本身是一个复杂的电路,要使这个芯片稳定高效的工作,也必须有个稳定的时钟电路。AT89S52内有一个高增益反向放大器,只要外接一石英晶体振荡电路就可构成自激振荡,振荡频率由石英的振荡频率所决定,我们这里取12MHz。复位电路采用按键复位就行了,具体时钟和复位电路见图2和图3。图2 图3二、 硬件设计2.1 总体电路介绍该电路采用AT89S52作为主控芯片,其基本功能就是对每位按键进行单击后发光二极管会显示不同的发光个数及顺序,当按复位键后个发光二极管就会恢复到初始状态(全部都灭)。其电路原理图如图4所示(见附录1)。芯片的左边主要由三部分组成:由四个SB按键分别并接在P0口的P0.0P0.3的四个引脚上,构成的输入部分;由按键复位电路构成的复位部分;由晶体振荡电路构成的时钟电路。芯片右边则是由6个发光二极管和电阻构成的显示部分。其原理图封装图如附录1。2.2 AT89S52芯片的功能简介和引脚分配2.2.1AT89C51的介绍AT89C51是一种低功耗、高性能的且带有8KB可编程Flash存储器的8位MCU,它采用ATMEL的高密非易失存储器技术制造,并和工业标准MCS-51指令集和引脚结构兼容。其内部功能结构框图如图5所示(见附录1):它包括微处理器、存储器(存放程序指令或数据的ROM、RAM等)、输入/输出口(I/O口)及其他功能部件如定时/计数器、中断系统等。它们通过地址总线、数据总线和控制总线连接起来。2.2.2AT89C51内部主要功能内部主要功能部件如下:1) 一个8位CPU;2) 一个内部振荡器和时钟电路,全静态操作:033MH;3) 8KB系统可编程Flash存储器;4) 256KB内RAM;5) 4个I/O端口共32线;6) 3个16位定时/计数器;7) 全双工串行口通道;8) ISP端口;9) 定时监视器;10) 双数据指针(DPTR);11) 24个特殊功能寄存器。2.2.3AT89C51主要特性主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24MHz三级程序存储器锁定1288位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2.2.4 AT89C51引脚分配和简介AT89C51单片机有多种封装形式,常见的有DIP封装、PLC封装、TQFP封装,为了使用的方便通常使用DIP封装形式的单片机。外部共有40个引脚,图6为引脚的排列图。40个引脚大致可分为4大类:电源、时钟、控制和I/O引脚,下面就以这四大类具体介绍。1) 电源 VCC芯片电源引脚,接+5V; GND接地端。2)时钟 时钟也即外部振荡器引脚,晶体振荡电路反向输入端和输出端。 XTAL1:当外接晶振时,接外部晶振的一个引脚。片内振向器组成,XTAL1为方向器的输入,当外部振荡器提供时钟信号时,则由XTAL1端输入。XTAL2:接外部晶振的另一个引脚,片内为单级反向器的输出。当由外部时钟源提供时钟信号时,则本引脚浮空。图6.AT89C51的引脚排列图 3)控制线RST:复位信号输入端。振荡器起振时该引脚置高电平,并持续两个机器周期以上系统进行复位在定时监视器定时输出后引脚置成高电平并持续96个振荡周期。特殊功能寄存器AUXR(地址8EH)中的DISRT0位可以使复位无效。默认的DISRT0位状态,RST引脚上的高电平有效。 ALE/PROG:ALE为地址锁存使能端,当访问外部器件时ALE的负跳变将P0口低8位地址送入锁存器。在FLASH编程时输入编程脉冲(/PROG)。在非访问外部器件期间,ALE仍以1/6振荡频率的常量输出,可用于外部计数或时钟信号。当访问外部数据器件时将跳过一个ALE脉冲。当对特殊功能寄存区的地址为8EH单元的D0位置“1”可禁止ALE输出,而只有在执行MOVX或MOVC等指令时才能被激活。 /PSEN:访问外部程序存储器读选通信号。在访问外部程序存储器读取指令码时,每个机器周期产生两次有效信号。在执行片内程序存储器取指令码时不产生此脉冲,在读写外部数据时,亦不产生/PSEN信号。 /EA/VPP:/EA为访问内部或外部程序存储器选择信号。当/EA端保持高电平时,CPU首先从片内0000H单元开始执行内部程序存储器程序,如果外部还有扩展存储器,则CPU在执行完内部程序存储器程序时将会自动转向执行外部程序存储器程序。 4)I/O多功能引脚 P0口:8位并行I/O口,作为输出口时,每个管脚可带8个TTL负载。在外扩存储器时,它定义为低8位地址或数据总线,当定义为I/O口时,为准双向I/O口,需外接上拉电阻,在写入“1”后就成为高阻抗输入口。 P1口:内接上拉电阻的8位准双向I/O口。能负担4个TTL负载。在FLASH编程和校验时定义为低8位地址线,他的第二功能如下:表2.1 P1口功能引脚 功能P1.0定时/计数器,T2的外部计数输入P1.1定时/计数器,T2捕捉/再装入触发及方向控制P1.5MOSI(用于系统内部编程)P1.6MISO(用于系统内部编程)P1.7SCK (用于系统内部编程)P2口:内接上拉电阻的8位准双向I/O口。能负担4个TTL负载。当访问外部存储器时定义为高8位地址总线。P3口:内接上拉电阻的8位准双向I/O口。能负担4个TTL负载。它的第二功能如下:表2.2 P3口功能引脚功能P3.0RXD(串行接收端口)P3.1TXD(串行发送端口)P3.2/INT0(外部中断0请求端)P3.3/INT1(外部中断1请求端)P3.4T0(定时/计数器0外部计数输入端)P3.5T1(定时/计数器1外部计数输入端)P3.6/WR(外部数据写选通)P3.7/RD(外部数据读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。2.3振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.4芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 三、 软件设计3.1总体设计思想在硬件设计完成后,将要面对的就是驱动程序,本设计的编程语言采用与AMTAL ATC51相兼容的汇编语言。根据电路和控制要求的需要,该程序涉及主程序和延时程序。主程序用以识别是哪个按键按下的,延时程序主要用于控制显示的延时。程序原理框图以下将会介绍,具体程序见附录该试验中用到的软件烧写软件是伟煌MCS51开发系统和TOP851编程器,以下将简单介绍该软件。3.1.1伟煌MCS51开发系统简介该学习开发板采用的是ISP在线系统可编程技术,完全白兔了单片机仿真器、编程器的束缚,大大降低了单片机学习开发的成本,使学者能在花费不多的时间内学好这一门新的技术。这既是学习工具,也是编程工具,采用将编程电缆与实验板分离技术,能使学者将编程电缆用于其他用户板,完全实现了ISP技术。目前,该开发板是性价比最高的开发板。该开发板主要服务于AT89S51/52/53的各级用户,适用于大学在校生做课程设计、毕业设计使用;也可为单片机开发者提供良好的模板,更可为单片机初学者提供实验的机会。利用S51A板上的资源可以学习键盘控制、LED动态显示、A/D转换、D/A转换、继电器控制、步进电机控制、液晶显示以及RS232多机通信等,利用S51A板还可以根据用户的不同进行外围扩展。本次实验中用到的是LED灯显示调试。3.1.2 TOP851编程器的简介TOP851通用编程器是TOP2000BS编程器的功能简化版,具有体积更小巧,功耗低,可靠性高的优点,是专为开发51系列单片机和烧写各类存储器而设计的普及性机型。与TOP2000BS相比,TOP851最大的区别在于不支持PIC系列单片机,但是它比BS系列便宜很多,对于讲究实惠的人来说还是很有诱惑力的。TOP851的其它方面的性能都和BS类似,比如:软件界面和烧写过程,可以参考BS的说明进行使用。特点如下: 40脚优质万能零拔插力插座,性能优良,寿命长久,可以不依赖适配器也能直接编程大部分单片机和存储器。采用RS232串口与PC机连接通信,通讯速率115200bps,为抗干扰性能好,可靠性能极高,特别适合烧写各种一次性(OTP)器件,适合手提电脑和台式机使用。能自动探测电脑的运算速度,编程速度与计算机性能无关,适合486至P-III电脑使用。 提供WINDOWS95/98界面的中文软件,全新中文操作界面。 塑料机壳,体积小,重量轻,功耗低(静态50mA) 完善的过电流保护,在超过限制电流的0.1秒内自动切断电源 自动检测芯片是否插好,插座有错误提示。可支持器件:可支持烧录器件,存储器:2716-27080,28,29,39,48,49,系列。单片机:51系列测试静态RAM6264-628256。串口存储器:(24CXXX)PLD:(16V8X,20V8X,22V10A)普通40针万能锁紧插座,RS232 115.2KBPS。TOP851成套件 编程器主机一台串口RS232九针连接电缆线一根 9V/400毫安直流电源一个TOP851通用编程器说明书一本配套软件光盘一张产品保修卡一份(产品包修一年,由用户承担来单程邮寄费用)产品合格证一封3.2序编写简介在程序执行以前必须对程序进行初始化,初始化时,P1口低电平有效,故先把P1各口置“1”。因P0口为输入口,所以在输入前必须把各口置“1”,要想得到有效的复位SB按键需把P3.2置“0”。在程序开始执行时PC指向0000H,因从0003H0032H是中断程序的入口地址,所以要在0000H后装一跳转程序(转到主程序main)。当程序执行的过程中,如果有SB按下,则主程序会跳转到相应的程序控制,在该程序控制中,延时程序的作用是,用以控制LED灯亮循环中的延时操作。详细的程序部分如下:23org 0000hljmp mainmain:ANL p1,#11111111BORL p0,#00001111Borg 0100hSTR:JNB p0.0,TT0JNB p0.1,TT1JNB p0.2,TT2JNB p0.3,TT3LJMP STRTT0:mov p1,#11111110BLCALL DY1S mov p1,11111100BLCALL DY1S mov p1,#11111000BLCALL DY1S mov p1,#11110000BLCALL DY1S mov p1,#11100000BLCALL DY1S mov p1,#11000000BLCALL DY1S mov p1,#0FFhsjmp TT0TT1:mov p1,#11111000BLCALL DY05S mov p1,#11000111BLCALL DY05Ssjmp TT1TT2:mov p1,#11101010BLCALL DY05Smov p1,#11010101BLCALL DY05Ssjmp TT2TT3: mov p1,#11110011BLCALL DY1Smov p1,11100001BLCALL DY1Smov p1,#11000000BLCALL DY01Smov p1,#11001100BLCALL DY05Smov p1,#11011110BLCALL DY05S mov p1,#11111111BLCALL DY05Ssjmp TT3DY1S: mov r1,#10DLP1:mov r2,#200DLP2:mov r3,#250DLP3:DJNZ r3,DLP3DJNZ r2,DLP2DJNZ r1,DLP1retDY05S:DLP4:mov r4,#10DLP5:mov r5,#100DLP6:mov r6,#250DJNZ r6,DLP6DJNZ r5,DLP5DJNZ r4,DLP4retEND程序描述:该段程序实现的功能如下,单片机判断P0的四个端口是否有信号输入,即判P0口的高低电平,若按键1按下,则自动跳转到标号为TT0的程序,实现小灯从1到灯6依次间隔1秒的点亮,等小灯全亮后1秒全灭,再循环。若按键2按下,则跳转到标号为TT1的程序,并执行实现:灯123和灯456 间隔0.5秒依次亮,且不断循环。若按键3按下,则跳转到标号为TT2的程序,并执行实现:灯135和灯246间隔0.5秒依次亮,且不断循环。若按键4按下。则跳转到标号为TT3的程序并执行实现:灯34亮1秒后灯25亮1秒后灯16再亮直至6个小灯全亮;1秒后,灯34先灭,0.5秒后等25再灭,0.5秒后灯16再灭,0.5秒后再一次循环。当复位开关按下时,6个小灯将会全部复位呈全亮状态。四、电路设计总结 在整个设计中,主要是以AT89C51单片机为中心,以Protel99设计软件为工具,在设计过程中不断进行了课题分析、方案确立、任务统筹、软件需求分析、软件编写调试等工作。通过自己动手制作和设计,可以系统的熟知单片机的基本知识和关数模电的相关内容,也更明确的明白了自己专业的应用和前景的广阔。在设计中也遇到了不少问题,特别是程序的编写和调试。通过本次试验我学会了以下几点:一、不仅要有缜密的思维,还要有实际尝试失败的耐心。二、同学之间要互相帮助,互相探讨,一项复杂而艰巨的任务不可能由一个人完成,这就需要团结协作,这也使自己明白,为什么在实际工作中团结互助那么重要。附录跑马灯原理图原理图封装图 参考文献【1】 孙育才 王荣兴 孙华芳编,ATMEL新型AT89S52系列单片机及其应用, 北京:清华大学出版社【2】何立民编,单片机高级教程(第一版),北京:北京航空航天大学出版社,2000年【3】张志良编,单片机原理与控制技术(第二版),北京:机械工业出版社,2005年指 导 教 师 评 语指导教师针对论文的答辩意向: 参加答辩 不参加答辩 指导教师(签名): 年 月 日毕业论文(设计)成绩成绩等次优秀良好中等及格不及格评定等次毕业论文(设计)答辩情况提问问题:1.2.3对答辩学生回答的评语:
展开阅读全文