《单片机原理及应用》课程设计基于单片机控制LED灯等设计与实现.doc

上传人:laozhun 文档编号:4146956 上传时间:2023-04-07 格式:DOC 页数:33 大小:2.92MB
返回 下载 相关 举报
《单片机原理及应用》课程设计基于单片机控制LED灯等设计与实现.doc_第1页
第1页 / 共33页
《单片机原理及应用》课程设计基于单片机控制LED灯等设计与实现.doc_第2页
第2页 / 共33页
《单片机原理及应用》课程设计基于单片机控制LED灯等设计与实现.doc_第3页
第3页 / 共33页
《单片机原理及应用》课程设计基于单片机控制LED灯等设计与实现.doc_第4页
第4页 / 共33页
《单片机原理及应用》课程设计基于单片机控制LED灯等设计与实现.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《《单片机原理及应用》课程设计基于单片机控制LED灯等设计与实现.doc》由会员分享,可在线阅读,更多相关《《单片机原理及应用》课程设计基于单片机控制LED灯等设计与实现.doc(33页珍藏版)》请在三一办公上搜索。

1、单片机原理及应用课程设计(题目:基于单片机控制LED灯等设计与实现) 院 (系) 信息工程学院 专 业 班 级 13计应2班 学 生 姓 名 学 号 1242151134、41 设 计 地 点 教13(503) 指 导 教 师 基于单片机控制LED灯等的设计与实现摘 要本系统是基于AT89C51系列单片机为核心的LED流水灯设计,实现控制8个LED灯通过4个按键的控制达到花样流水灯的效果1。由于是纯数字电路,电路较复杂,成本高,所以现在普遍使用的都是用单片机控制,其更加智能化,性价比高,扩展方便,更适合大批量生产,应用价值较高。除此之外2,单片机采用快闪存储器使程序的写入方便,还可任意擦出,使

2、得开发更加方便。单片机提供了更小的芯片使得硬件电路更加小。AT89C51系列单片机具有加密功能且物美价廉,经济适用。关键词:89C51单片机;硬件;控制;智能;物美价廉目 录1综述31.1 基于单片机的LED流水灯的过去发展31.2 基于单片机的LED流水灯的现在发展31.3 基于单片机的LED流水灯的未来发展41.4 基于单片机的LED流水灯的国内发展41.5 基于单片机的LED流水灯的国外发展42搭建平台62.1概述62.2 proteus62.3 keil72.3 STC_ISP83 硬件技术介绍93.1系统总体设计93.2最小系统电路设计93.3按键电路设计103.4发光二极管电路设计

3、114功能实现144.1 整体仿真电路图144.2 LED显示程序的流程图154.3 LED显示程序165测试结果及分析185.1硬件测试185.2软件测试185.3实验截图18致 谢27参考文献28附件29.1综述 随着人们生活水平的提高,基于单片机的LED流水灯的应用越来越广泛,其中独立式键盘的扩展电路,该模块主要应用于仪器仪表、工业控制器、条形显示器、控制面板等实时性要求不太高的设备3。所以利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,还可以改进和提高如选用更精密的元器件等,在此次设计中我们将用到集成电路。集成电路是信息产业和高新技术的

4、核心,是推动国民经济和社会信息化的关键技术。集成电路的产业规模和技术水平已成为国家综合国力的一个重要标志。 我国集成电路产业已经经过30多年的发展现已形成了近百家的产业规模,其中具备一定设计规模的单位有20多家,其中北京华大、大唐、深圳华威和无锡矽科四家设计公司的销售额超过了1亿元。多家外国著名公司也纷纷在中国建立起集成电路设计公司。1.1 基于单片机的LED流水灯的过去发展 中国发展集成电路的主要目标为:达到大规模生产150mm和0.8微米的技术水平;200mm和0.5微米的制造技术的产业化;提高集成电路的设计能力以满足市场需求;跟踪0.30.4微米和先进封装技术的研发;开发200mm的硅片

5、制造技术并在国内开始生产等。未来10年是我国微电子产业发展的关键时期。重点要推进超大规模集成电路和新技术的产业化。综观中国集成电路的设计概况,可以看到从20世纪80年代末开始,经过90年代初的创业期,现正进入它的发展期,21世纪将是中国设计业的成熟期。1.2 基于单片机的LED流水灯的现在发展今天,当我们进入21世纪的时候,自动化科学技术不仅面临着挑战、也遇到了前所未有的发展机遇,而与此同时,在世界范围内掀起了高等科学工程教育的改革浪潮。这两方面的因素必将深刻地影响大学自动化专业的发展。 本次课程设计就是为了加强学生动手能力,加强学生对电子电路技术的掌握,了解控制工程行业对当今社会的影响。同时

6、培养学生实践能力,并通过实践来不断的发现问题和解决问题的途径和方法,从而提高实践能力。1.3 基于单片机的LED流水灯的未来发展正因为单片机和LED灯的快速发展,所以他们越来越普及也得到了很大的认可。在我们的日常生活中绝大多数的流水灯都是由LED灯组成的点阵集和。在适当的地方将会以创新新颖的流水灯代替传统的普通灯,或其他的宣传工具,更加的吸引顾客,增加企业的创新力。不仅如此,雷达干扰和预警侦查等军事方面也会逐渐得到更多的发展和应用。所以基于单片机的LED流水灯的未来发展是很好的。1.4 基于单片机的LED流水灯的国内发展在我国近年来,随着电子技术和微型计算机的发展,单片机的档次不断提高,起应用

7、领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到广泛的应用、成为现代电子系统中最重要的智能化的核心部件。而AT89C51就是其中一种,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMO8位微处理器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1.5 基于单片机的LED流水灯的国外发展当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可

8、以说,智能控制与自动控制的核心就是单片机。所以在国外单片机的发展也是空前的。学习单片机的最有效方法就是理论与实践并重,现在我把单片机流水灯设计作为一个单片机课程设计,需要更深的去了解单片机的很多功能,努力的去查找资料,当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。2搭建平台 根据本次设计需要软硬件的实验环境我们组采用的PC机是windows-7系统,并装有protues仿真软件和keil

9、编写程序软件STC_ISP烧录软件5。还有比不可少的单片机实验仪2。 2.1概述单片机原理A并不是一个新兴的领域,它早已出现并深入了我们的生活。人们的日常工作、生活都已经离不开单片机原理A的产品。单片机原理A是应用于特定的环境下执行专业领域任务的应用系统,与通用型计算机系统相比,它具有以下特点:专用性,面向具体应用,用于完成某一特定任务。实时性,许多应用场合都有实时要求。单片机原理A是将先进的计算机技术、半导体工艺、电子技术、通信网络技术以及各领域的具体应用融合在一起的产物。单片机原理A的软硬件都必须高效率地设计,在保证稳定、安全、可靠的基础上进行量体裁衣,力争在同样的硅片面积上实现更高的性能

10、,降低成本。开发需要专门的开发工具和环境。单片机原理A本身不具备自主开发能力,必须有一套交叉开发工具和环境才能进行开发。和一般的计算机系统一样,单片机原理A也是由硬件和软件系统构成,硬件包括嵌入式处理器及外围设备,软件主要是嵌入式操作系统和嵌入式应用软件。2.2 proteusProteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。Proteus为用户提供了丰富的资源,主要有:1Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千

11、种元器件,有30多个元件库。2Proteus可提供的仿真仪表资源:示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。3除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。4Proteus可提供的调试手段Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号

12、。2.3 keilKeil C51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,它具有良好的C语言编译环境,是C语言的一个良好的开发产品的平台。实验中将利用keil进行代码编辑、生产hex文件。Keil C51是美国51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。

13、Keil主要有以下特点:1) 自由软件;2) 完全兼容 POSIX1.0 标准;3) 支持多用户和多任务;4) 良好的用户界面;5) 支持多种文件系统;6) 丰富的网络功能;7) 可靠的系统安全;8) 良好的可移植性;正是由于以上特点,Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。2.3 STC_ISPSTC_ISP是STC单片机下载编程烧录软件,是STC公司生产的单片机专用下载软件,可以烧录

14、由keil软件生成的HEX文件。其优点是:支持许多STC类型的单片机下载,支持多波特率下载,有串口调试助手等。本课程采用proteus 与keil作为工具,将软,硬件设计与课题设计,有机的结合一体,使设计调试工作不受时间地点的限制。通过STC单片机下载编程烧录软件,可以烧录由keil软件生成的HEX文件,从而帮助我们实现课程设计。3 硬件技术介绍本文通过用按键控制各个元器件,每个按键功能不同,显示效果不同。硬件原理图由三个部分组成,分别是单片机模块,按键模块,发光二极管模块7。4个按键接在P1.0P1.3引脚上,P2口接了8个流水灯,控制流水灯的亮灭。3.1系统总体设计 本系统中单片机主要是负

15、责信息输入输出和判断,按键是是负责信息的输入,单片机负责判断输入的是按键几,然后输出对应的信息,数码管显LED灯受按键控制,会有不同的变换方式。该电路板功能模块分为以下几个部分: 1)单片机模块:作为系统的核心,单片机承担着系统各种功能的实现。除了要求具有较高的运行速度外还必须拥有丰富的外设接口以及轻巧的封装,以便实现系统的运行稳定、功能丰富、结构轻便的设计宗旨。 2)按键模块:这个部分主要是实现对信息的输入。A.当按下k1按键时,P2口的8个流水灯由上至下点亮(正向);B.当按下k2按键时,P2口的8个流水灯由下至上点亮(反向);C.当按下k3按键时,P2口的高低接口的流水灯交替点亮;D.当

16、按下k4按键时,P2口的8个流水灯闪烁点亮; 3)发光二极管模块:花样流水灯。3.2最小系统电路设计单片机最小系统中两个22pf的电容和一个11.0592M的晶振组成了震荡电路,复位电路为10uf的电解电容和一个10k电阻组成,此复位电路为上电自动复位。(以上器件只有电解电容分正负极长正短负)具体电路如图3.2所示。图3.2最小系统电路图3.3按键电路设计在单片机中键盘分为独立键盘和矩阵键盘,本课程设计中使用的是独立键盘。独立键盘的特点是每个键相互独立,每个按键各接一条I/O口线,通过检测I/O输入线的电平状态,很容易判断哪个按键被按下。图3.3是由4个按键和4个10k电阻组成,4个按键分别接

17、在51单片机的P0.0P1.3引脚上。图中的上拉电阻保证按键未按下时,保证对应的I/O口线为稳定的高电平。当某一按键按下时对应的I/O口线为稳定的低电平,与其他按键相连I/O仍为高电平。因此只需读入I/O口线状态,判别是否为低电平,就很容易识别哪个按键被按下,如图3.3所示图3.3按键电路图3.4发光二极管电路设计该部分电路由8个发光二极管8个电阻组成。在外接发光二极管时选择用低电平点亮,及所有正极接电源,使用220电阻是限流的作用防止电流过大将发光二极管击穿导致损坏。具体如图3.4所示。图3.4发光二极管电路图独立键盘的工作原理如下:(1) 首先判断是否有按键按下。将接有4个按键的P1口低4

18、位(P1.0-P1.3)写入“1”,时P1口的低4位为输入状态。然后读入低4位的电平,只有有一位不为1则说明有按键按下。读取方法如下: P1=0Xff; If(P1&0Xf0)!=0xf0)(2)按键去抖动。当辨别有键按下时,调用软件延时子程序,延时10毫秒时再判别,若按键确实按下,则执行相应的按键功能,否则重新开始进行扫描。(3)获得键值。确认有按键按下时,可采用扫描的方法,来判断那个键按下,并获取键值。 本设计中4个按键分别对应4个不同的点亮功能,而且具有不同的按键值k具体如下: (1)按下按键按键1时,k=1 (2)按下按键按键2时,k=2 (3)按下按键按键3时,k=3 (4)按下按键

19、按键4时,k=44功能实现 在单片机中,我们通过4个按键形成的独立键盘控制接在P1口的8个LED灯,实现4种花样流水灯的亮灭方式。4.1 整体仿真电路图图4.1 整体仿真电路图4.2 LED显示程序的流程图 开始进入主程序由上至下S1=0? YN由下至上S2=0? Y N闪烁点亮S3=0? Y NS4=0? Y 高低交替亮N 结束4.2 LED流程图4.3 LED显示程序流水灯共有四种变换方式11(1)P2口的8个流水灯由上至下点亮(正向);void SA() /由上至下/a=0x7f; for(i=0;i8;i+) P2=a; delay(100);a=_cror_(a,1);key_sca

20、n(); if(S1!=1)return ;(2)当按下k2按键时,P2口的8个流水灯由下至上点亮(反向); void AS() / 由下至上 /a=0x7f; for(i=0;i8;i+) P2=a; delay(100);a=_iror_(a,1);key_scan();if(S2!=1)return ; (3)当按下k3按键时,P2口的高低借口的流水灯交替点亮; void AA() /高低交替点亮 /a=0xfe;for(i=0;i8;i+) P2=a; delay(100); a=_lrol_(a,1);key_scan();if(S3!=1)return ; (4)P2口的8个流水灯

21、闪烁点亮; void SS() /闪烁点亮uint j;j=0xfe;for(i=0;i8;i+) P2=j; delay(100); j=_crol_(j,1); key_scan();if(S4!=1)return ; 5测试结果及分析想要知道自己设计的系统是否可行,对于软硬件的测试是必不可少的,本章主要介绍了对于软硬件测试的结果。5.1硬件测试(1)在上电前先检查电路的正负极有无接反的情况。 (2) 检查线路无错的情况下,接通电源下载程序,发现有灯不亮,经检查是灯的接线处松动。(3)检查改正后测试硬件正常。5.2软件测试 编写程序时是先一个模块一个模块的写,单个写完后,再将各个程序汇总,

22、注意的是按键的扫描每个循环都需扫描一次,这样才不至于出现延迟情况,能及时退出程序,进入下个程序,延时函数有很大的作用,需进行大量调试。5.3实验截图(1)软件实现截图图5.3软件显示的结果(2) 硬件实现截图5.4 (a) 8个流水灯由上至下点亮(正向) 5.4 (b) 8个流水灯由上至下点亮(正向) 5.4 (a) 8个流水灯由下至上点亮(反向) 5.4 (b) 8个流水灯由下至上点亮(反向) 5.6(a) P2口的高低借口的流水灯交替点亮 5.6(b) P2口的高低借口的流水灯交替点亮 5.7(a) P2口的8个流水灯闪烁点亮 5.7(b) P2口的8个流水灯闪烁点亮 图5.2图5.7是硬

23、件证明显示的结果 通过对程序代码的最后测试,以及硬件原理图的在计算机上的虚拟演示都得到了实现,最后我们通过通过STC单片机下载编程烧录软件,可以烧录由keil软件生成的HEX文件,从而帮助我们实现课程设计。致 谢经过一段时间的努力,我们小组顺利的完成了这次单片机课程设计。这是一个磨练意志的过程。从课题的选择开始,硬件和软件系统的设计、到最后的设计成功,这其中经历了很多困难。但是更重要的是在这个过程中我得到了很大的锻炼。通过AT89C51单片机等一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知识都得到了运用。 通过本次课程设计,我不仅学到了关于单片机技术方面的许多

24、专业知识,同时也让我感觉到很多方面的知识的重要性。 其实如何有效和快速的找到资料也是课程设计给我的启发。 与他人交流思想是取得成功的关键,在交流中不仅强化了自己原有的知识体系,也扩展了自己的思维。课程设计是一个通过思考、发问、自己解惑并动手、提高的过程。我会在以后的学习中不断学习,积累经验,完善自己。参考文献1张灿. 单片机花样流水灯设计J. 信息通信,2013,01:42-43.2朱艳梅. 基于单片机的流水灯的设计与实现J. 电子制作,2014,04:23-24.3毛炳奎. 基于单片机的精确定时流水灯设计J. 科技风,2014,09:20.4庄乾成. 基于Proteus仿真的单片机项目化教学

25、改革J. 辽宁高职学报,2014,08:47-50.5高娟,汤璇,崔艳萍. 基于Proteus和Keil的单片机实践教学改革探讨J. 电子世界,2012,22:173-174.6易礼智. 基于51单片机实现流水灯的若干种编程方法J. 铜仁学院学报,2012,06:125-127.7贺维. 单片机流水灯的proteus仿真J. 职业技术,2011,05:121.8李琳. 一种单片机流水灯的电路设计J. 无线互联科技,2011,05:33-34.9高璇. 单片机C语言的编程探析J. 硅谷,2013,22:55+41.10俞萍,刘苗生. 单片机的C语言分析J. 中国科技信息,2013,18:86+9

26、7.11刘汉明. 用C编程单片机流水灯程序J. 电子制作,2003,01:27-29.附件#include #include #define uchar unsigned char#define uint unsigned intsbit S1=P00;sbit S2=P01;sbit S3=P02;sbit S4=P03;unsigned char k,a,i;void delay(uint z) uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void key_scan()P0=0xff;if(P0&0x0f)!=0x0f)delay(10);if(S1=0

27、)k=1;if(S2=0)k=2;if(S3=0)k=3;if(S4=0)k=4;while(P1!=0xff);void SA()a=0x7f; for(i=0;i8;i+) P2=a; delay(100);a=_cror_(a,1);key_scan(); if(S1!=1)return ; void AS()a=0x7f; for(i=0;i8;i+) P2=a; delay(100);a=_iror_(a,1);key_scan();if(S2!=1)return ; void AA()a=0xfe;for(i=0;i8;i+) P2=a; delay(100); a=_lrol_(a,1);key_scan();if(S3!=1)return ; void SS()uint j;j=0xfe;for(i=0;i8;i+) P2=j; delay(100); j=_crol_(j,1); key_scan();if(S4!=1)return ; void main() while(1) key_scan();switch(k)case 1:SA();break;case 2:AS();break;case 3:AA();break;case 4:SS();break;default:break;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号