




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、沈阳航空航天大学课程设计论文 数据排序器系统设计目 录0 前言11 方案设计22 硬件电路的工作原理22.1单片机STC89C51工作原理22.2按键输入模块42.3动态显示模块52.4时钟模块63 软件编程63.1主程序功能73.2冒泡排序法程序功能74 系统调试和结果分析85 结论及进一步设想10参考文献11课设体会12附录1 元件清单13附录2 总体电路图14附录3 源程序15数据排序器的系统设计李大菜 沈阳航空航天大学自动化学院摘要:本文设计的是基于单片机的数据排序动态显示系统,它的主要功能是利用按键输入数据和八位LED数码管动态地显示排序过程。采用STC89C51作为电路核心部件,利
2、用按键开关输入,能够输入0到99的数字,并且通过LED数码管作为显示电路,当确认排序后系统还可以在数码管中动态的显示排序过程。通过硬件和软件的结合可以看到实验结果与设计要求基本吻合,实现了数据输入和动态排序显示。关键词:单片机;按键;冒泡排序;动态LED显示0 前言单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦
3、称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。综合所述,单片机已成为计算机发
4、展和应用的一个重要方面。另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。本文论述了单片机控制按键和LED数码管显示电路,实现将单片机采集到的数据排序显示的功能。由于单片机具有4个I/O口,通过合理的编写程序,故利用单片机本身即可以实现本次任务要求。把一批数据想象成纵向排列,自下而上比较相邻的两个数据元素,如果这两个数据元素的大小顺序符合要求,则保持原样,否则交换它们的位置。这样比较一轮后,最小的数据元素
5、就象气泡一样浮到最顶上,故称冒泡算法。 实际编程设计时,每一轮操作都从数据区的首地址开始,向末端推进。N个数据元素一般要进行N-1次轮次比较、交换排序,但如果操作过程中没有出现位置交换,则说明数据已经有序,可以提前结束排序。然后再连接LED显示器,实现动态显示排序。1 方案设计基于单片机的数据排序器系统的基本组成如图1所示。STC89C51按键输入驱动74LS573LED数码管显示冒泡排序图1 基于单片机的冒泡排序动态显示系统的原理框图根据设计任务要求,现采用如下方案实现。硬件部分包括按键输入电路、数码管显示电路、提示和外部中断按键电路,这些硬件电路不仅能产生按键信号送入单片机而且能通过数码管
6、显示出来;软件部分能准确地识别键值和正确显示数据,还需要让采集到的数据实现从大到小的排序过程,同时通过数码管动态的显示出其过程。单片机可以利用4个I/O口实现对外设的控制,通过软件编程方法可以达到设计要求。2. 硬件电路的工作原理2.1单片机STC89C51工作原理STC89C51的管脚结构图见图2。 图2 STC89C51的管脚结构图P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1口: P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电
7、平时,将输出电流,这是由于内部上拉的缘故。P2口:P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘
8、故。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部
9、程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。STC89C51是一个低功耗高性能CMOS 8位单片机,32k Bytes Flash只读程序存储器(ROM),512 Bytes 内部数据存储器(RAM),该微处理器采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,引脚兼容80C51和80C52芯片,片内的Flash存储器可以象常规程序存储器一样进行烧写,AT89C51RC片内总共有512字节的用户数据区,而256字
10、节的内部扩展数据区需通过清SFR(8EH)的位1并用MOVX指令访问,片内置通用8位中央处理器和Flash存储单元,另一个256BytesRAM区与ATMEL之AT89系列8052兼容的单片机是一致的,STC89C51RC结合通用的8位微处理器和Flash存储技术构成功能强大单片微处理器,可提供许多高性能低价位的系统控制应用场合。 STC89C51具有如下主要特点:40个引脚,32kBytes的程序存储器,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,内置时钟振荡器,其Flash存储器,可反复擦写1000次的Flash存储器可有
11、效地降低开发成本。软件设置电源省电模式,睡眠其间,定时/计数器,串行口和中断口均停止工作,RAM中的数据被“冻结”,直到下次被中断激活或硬件复位方可恢复工作。2.2按键输入模块键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。由于在按键数目较多的场合,行列式键盘要节省很多的I/O口,但本系统处采用数据叠加的原理可以简化矩阵的繁琐。见图3。 按键设置在与单片机的P1口直接相连,当有按键按下时,十位按键按下,表示十位值加一,当代表个位的按键按下,输入的值加一,当代表输入的值按下时,表示刚刚按下的数据输入成功,等待下一步的运算。当排序键按下时,对刚刚输入的数据
12、进行排序并显示。 图3 按键电路2.3动态显示模块基本的LED数码管是由七个条状发光二极管芯片按图4排列而成的,可实现0F的显示。图4 LED数码管原理图LED(Light Emitting Diode),发光二极管,是一种固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片. LED是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成。LED数码管常用段数一般为7段,有的另加一个小数点,还有一种是类似于3位“1+”型。LED数码管根据接法不同分为共阴和共阳两类。LED数码管广泛应用于仪表,时钟,车站,家电等场合。如图5,8位共阴级LED显示器采用动态显示
13、接法。在AT89C51的内部RAM中设置8个缓冲单元30H37H,分别存放显示器要显示的8位数据,单片机AT89C51的P0口用于输出段码,P2口用于输出位选码。图5 8位LED数码管显示电路图工作时,利用软件译码的方法求出被按下键对应的段码送至P0口,同时将位选码送至P2口,于是选中的显示器点亮,其余显示器处于熄灭状态。若将各位从左至右依次进行显示,每位数码管显示10ms,显示完最后一位后,再重复上述过程,则可得到连续显示的效果。当有第二个键被按下时,将最右面的LED中的数据左移一位,同时把按下键对应的段码送至P0口,位选码送P2口,在最右面的LED中显示出来。形成了移位的显示方式。虽然这些
14、字符是在不同时刻出现的,而在同一时刻,只有一位显示,但由于LED显示器的余辉和人眼的“视觉暂留”作用,只要每位显示间隔足够短,则可以造成“多位同时亮的假象”。2.4时钟模块AT89C51单片机各功能部件的运行是以时钟控制信号为基准的,有条不紊地一拍一拍地工作。常用的时钟电路设计有两种方式,一种是内部时钟方式,另一种是外部时钟方式。内部时钟方式的电路图如图6。图6 单片机时钟电路图3. 软件编程3.1主程序功能基于单片机的冒泡排序动态显示系统主要应用了单片机强大的多功能I/O口,可以实现数据采集和数码管显示而无须添加其他芯片。主程序将所有分支程序包括其中。主程序流程图见图7。开始按键扫描LED显
15、示是否有键按下是否开始排序?排序显示是否清零?结束YNYNYN图7 主程序流程图由图可以看出,主程序实现了数据的输入、数码管显示和冒泡动态排序所有要求。3.2冒泡排序法程序功能数据排序就是将一批数由小到大排列,或由大到小排列。本部分采用的数据排序算法是冒泡法。冒泡法是相邻数互换的排序方法,排序时从前向后进行相邻两个数的比较,如果数据的大小次序与要求的顺序不相符时,就将两个数互换,否则,顺序符合要求不互换。为了实现升序排列,通过这种相邻数互换的方法,使小数向前移,大数向后移。如此从前向后进行一次次相邻数呼唤,就会把这一批数据的最大排到最后,最小数排到最前,从而实现了数据从小到大的排列。每次排序后
16、调用一次显示子程序,将排序后的数据通过数码管输出,即可实现动态显示。冒泡排序流程图见图8指针加1开始交换标志清零顺序取下一数顺序取下一数,并比较后一数小?两数交换交换标志置1比较一遍有交换标志返回NYNYYN 图8 冒泡法程序流程图4. 系统调试和结果分析根据方案设计要求,进行了硬件电路和软件电路的实际联接。打开程序调试软件Keil uVision3,将已编写好的源程序保存成.ASM形式,通过编译后,生成.HEX和.BIN文件。在编译提示框中可以看到错误和警告提示信息。如缺少;,指令错误、跳转范围不正确等,经过查看程序逐步改正过来,直到提示无错误和警告信息为止。然后在仿真软件PROTEUS中搭
17、建硬件电路图以便进行仿真试验,电路连好后在仿真电路图的AT89C51中添加Keil uVision3中生成的.HEX文件。接下来就可以进行硬件仿真了。硬件仿真亦存在很多的错误,在我仿真过程中最初做的按键按下后,数码管无显示,结合程序和电路对比之后发现电路连接存在问题,依照程序改正后数码管依然无法正常显示,检查数码管后才知道是错误的选用了共阳极的数码管。通过仿真可以观察到与设计要求相同的结果。当按下键盘中的键值时能准确无误的通过数码管显示,如下图图9所示。图9 按键输入和数码管显示仿真结果图5. 结论及进一步设想本次设计的冒泡排序动态显示系统,能够进行数据排序的动态显示,并可用LED动态显示数据
18、排序过程,同时可以用按键选择数据的输入。通过单片机AT89C51的I/O口控制外设键盘和数码显示电路,完成了本次设计要求。根据实验结果可以知道基本完成了设计任务要求。数据排序器的基本功能是实现对数据的排续,但是本次课设实现的是对两位数或单位数的排序,所以设想在下一步实现对带符号的数据,三位甚至更多位的数据的排续,并且用液晶显示,一便能够更好地对数据的处理并且显示。参考文献1 李华.MCS-51单片机实用接口技术.北京:北京航空航天出版社大学,19992 方彦军,孙建.智能仪器技术及其应用.北京:化学工业出版社,20033 孙传友.测控系统原理与设计.北京:北京航空航天大学出版社,20024 刘
19、守义等.单片机应用技术.西安:西安电子科技大学出版社,20025 何立民.单片机高级教程.北京:北京航空航天大学出版社,20006 张毅刚. MCS51单片机Y原理及应用. 哈尔滨:哈尔滨工业大学出版社,20047 赵茂泰. 智能仪器原理及应用. 北京:电子工业出版社,2004.78 公茂法.MCS51/52单片机原理与应用. 北京:北京航空航天大学出版社,2009.39 凌玉华. 单片机原理及应用系统设计.北京:电子工业出版社,2006.410 周润景. 基于PROTEUS的电路及单片机系统设计与仿真. 北京:北京航空航天大学出版社,2006.5课设体会在此次的基于单片机的冒泡排序动态显示系
20、统设计过程中,让我更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。每次课程设计都是一次难得的锻炼机会,让我们能够充分利用所学过的理论知识还有己的想象的能力,另外还让我们学习查找资料的方法,以及自己处理分析电路,编写程序的能力。这次课程设计让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。但在课设中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在QQ群里讨论或者是同学之
21、间相互帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。其实,我在开始做设计时,难度很大,很迷茫。不积跬步何以至千里,通过求助于许老师、理清了思路。同时,在图书馆里、网上查阅资料,攻克了设计中的道道难题。最后经过指导老师胡老师的耐心指点和连续的奋战才算基本合格。本次设计中我用自己学到的知识完成代码,对单片机设计也有了新的认识,又学到了在设计过程中的许多流程和该注意的事项,增强了电子产品开发的意识。促进我以后更好的学习,锻炼了自身的能力。单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个
22、技术这门手艺找一个好工作也不成问题。尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。最后感谢我的课设指导老师胡老师对我的精心指导和帮助。 2013年7月 12日完成附录1 元件清单元件名称型号数量单片机AT89C511双向驱动器74LS24518位共阴极数码管7SEG-CC1发光LED1晶振1电容3电阻6按键4附录2 总体电路图附录3 源程序#include#define uchar unsigned char#define uint unsigned intunsigned char b,i,j,temp;sbit p10=P34;sbit p11=P35;sbit p12=P36;sbit p13=P37;sbit dula=P26;sbit wela=P27;uchar a8;uchar k; m;n;r;f;q;w;o;p;c;z;unsigned char code table=0x3f,0x06,0x5b,0x4f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国女士毛织吊带背心行业投资前景及策略咨询报告
- 2025至2030年中国PU鞍座市场分析及竞争策略研究报告
- 2025-2030年中国弯接管数据监测研究报告
- 2024至2030年中国辣椒精油市场调查研究报告-市场调查研究报告-市场调研
- 2024至2030年中国匹袼列酮行业投资前景及策略咨询研究报告
- 2024年中国虾产品数据监测报告
- 2024年中国塑料挤出机专用减速机市场调查研究报告
- 自愿顶名协议书范本
- 药品入市协议书模板
- 融资平台租赁合同协议
- 专利代理师笔试考试题库带答案
- 2025-2030中国重型商用车空气弹簧行业市场现状分析及竞争格局与投资发展研究报告
- 2025年统计学期末考试题库:综合案例分析题模拟试卷
- 祈使句(含答案解析)七年级英语下册单元语法精讲精练(人教版)
- 2025-2030中国微控制器(MCU)市场竞争格局与投资建设深度解析研究报告
- 《中英饮食文化差异》课件
- 2024年韶关市始兴县事业单位招聘工作人员笔试真题
- 《课件:散热模组概述与设计原理》
- 2025-2030中国风电齿轮箱行业投资策略与可持续发展建议研究报告
- 华为招聘面试题及答案
- 尽职调查专项法律服务合同
评论
0/150
提交评论