




免费预览已结束,剩余17页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
邵阳学院单片机课程设计摘要 本设计是设计一个简单的单片机控制的节日灯控制系统。随着电子技术和计算机技术的发展,单片机已经在工业过程控制、智能仪表、计算机集成控制、人工智能、通信设备的智能化,以及家电的智能化等方面得到广泛的应用,以单片机微控制器为核心仍然是当今实现智能化技术的主流。节日灯的出现为夜晚节日增添了喜悦和繁华色彩。本设计以AT89C51单片机为核心并用它来控制发光二极管电量循环的实验装置,用AT89C51单片机控制8个发光二极管发光,实现闪烁,从上到下,从下到上的循环移动,由按键来控制发光二极管的闪烁方式。关键字:单片机、节日灯控制、发光二极管、设计1 概 述1.1 设计任务 设计一个单片机控制的节日灯系统。利用单片机的定时/计数器定时原理,并采用中断方式,结合显示电路以及按键来设计发光二极管的循环电亮。将软、硬件有机地结合起来,使得系统能够正确地进行依次点亮并闪烁。1.2 设计要求 1. 8位LED灯显示。 2. LED灯能够循环点亮、闪烁,具有节日灯的特点。3. 有四个外部中断按键,一个停止键、一个闪烁按钮、两个循环点亮按钮。 2 系统总体方案及硬件设计2.1系统总体方案 本系统采用AT89C51单片机为中心器件,利用其定时/计数器定时和中断的原理,结合硬件电路如电源电路,晶振电路,显示电路,以及一些按键电路等来设计定时器,实现LED灯工作方式。其中软件系统采用汇编语言编写程序,包括显示程序、中断程序、延时程序,并在KEIL中调试运行,硬件系统利用PROTEUS强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。 图 1. 系统电路原理图2.2 硬件电路设计 本系统中,硬件电路主要有电源、晶振电路、显示电路,以及一些外部中断按键电路。(1)单片机简介本系统采用AT89C51单片机。 AT89C51是一种带4K字节闪烁可编程可擦出只读存储器的低电压,高性能CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效的微控制器。(1) 电源电路电源电路是系统最基本的部分,任何电路都离不开电源部分,由于三端集成稳压器所组成的稳压电源线路简单,性能稳定,工作可靠,调整方便,已逐渐取代分立组件,在生产中被广泛采用,由于是小系统,我们采用7809电源提供+5V稳压电压。3(3)晶体振荡电路MCS-51单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反相放大器可以配置为片内振荡器。这里,我们选用51单片机12MHZ的内部震荡方式,电路如下:电容器C1,C2起稳定振荡频率,快速起振的作用,C1和C2可在20-100PF之间取,这里取30PF,接线时要使晶体振荡器X1尽可能接近单片机。 图2. 晶体振荡电路 (4)显示电路 显示电路既可以选用LED二极管显示,也可以选用数码管显示。我们采用的是LED二极管显示电路。在设计中,我们采用LED动态显示,用P2口驱动显示。电路图如下所示: 图3. 显示电路(5)外部中断电路 在按键电路中,我们可以在I/O口上直接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有键按下等。键盘扫描电路节省I/O,但编程有些复杂,在这里,由于我们所用的按键少,且系统是一个小系统,有足够的I/O口可以使用,为了使程序简化,我们采用按键电路,用部分P1口做开关,其中P1.2:开始,按此键则灯开始闪烁三次,然后由上向下流动一次,接着由下向上流动一次,依次循环;P1.3:停止,按此键则停止流动,所有灯为暗;P1.4 上,按此键则灯由上向下流动;P1.5: 下,按此键则灯由下向上流动;P2口为输出口,P2.0P2.7分别与八个发光二极管相连,实现以上控制端的输出结果。 外部中断电路如下: 图4. 外部中断电路 3 软件设计3.1 软件设计概述在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。应用系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都要完成一个明确的任务,实现某个具体的功能,如显示、延时等,在具体需要时调用某个相应的模块即可。功能描述:用8位LED动态显示二极管,闪烁3次后循环点亮,一个“停止”键,一个“闪烁”键,一个“上流动”键,一个“下流动”键,查看四个不同的LED等点亮情况。3.2程序流程图(1) 主程序 这里采用分支结构,通过对按键的扫描,判断要实现什么功能。如下所示: 图5.主程序流程图 (2)按键程序 按不同的功能键,进入相应程序状态。如下所示: 3.3子程序模块设计 (1)停止子程序 STOP:MOV P2,#0FFH ; 8位灯全部熄灭 JB P1.3,START ;判断是否按下了停止键 SJMP STOP (2) 闪烁子程序 SHAN:MOV DPTR,#TABLE ; 8位LED灯闪烁 TABLE:DB 00H,0FFH,00H,0FFH,00H,0FFH ;(3) 上下循环子程序 DOWN:MOV P2,A ;灯向下流动点亮 LCALL DELAY ;调用延时 JNB P1.3,STOP ;中断,调用停止程序 RL A CJNE A,0FEH,DOWN MOV P2,0FFH LJMP DOWN ;循环点亮 RETUP: MOV P2,A ;灯向上流动点亮 LCALL DELAY ;调用延时 JNB P1.3,STOP ;若中断,调用停止程序 RR A CJNE A,#07FH,UP MOV P2,#0FFH LJMP UP ;循环点亮 RET(4)延时子程序 DELAY:MOV R7,#5 ;延时 TS1:MOV R6,#200 TS2:MOV R5,#250 TS3:DJNZ R5,TS3 DJNZ R6,TS2 DJNZ R7,TS1 RET 4 Proteus软件仿真4.1 功能简介 功能描述如下:Keil与Proteus连调,接通电源后,按“闪烁”键,LED灯闪烁三次,然后从上向下流动,再从下向上流动,依此循环;按“停止”键,LED灯停止工作,所有灯熄灭;按“上”流动键,LED灯从上向下依次点亮,并循环;按“下”流动键,LED灯从下向上依次点亮,并循环。4.2 KEIL编译将所编写的汇编程序另存为 “节日灯.asm”文件,并在KEIL中运行,显示结果如下: 图6. 运行结果4.3 PROTEUS 仿真 用PROTEUS将编译生成的“节日灯.asm”文件下到单片机中,点击运行相应的操作键即可看到下图的结果: 图7. 部分仿真结果A(闪烁) 图8. 部分仿真结果B(从上向下流动)图9.部分仿真结果C(从上向下流动)5 课程设计体会 经过一个星期的课程设计,从选择课程设计题目,构思设计任务与要求,一直到硬件与软件的设计与测试,此过程曲折坎坷,点点滴滴无不令我回味犹新,在翻阅大量图书资料和网上搜索信息后,我组成员终于顺利完成了课程设计,颇有心得。1、 将学习的理论知识通过实验融会贯通,让我对单片机的理解更加深刻,对编译程序过程理解更加的透彻;2、 本次课程设计以小组合作设计为主,因此培养了学习的积极性,及团队分工合作的团队合作理念,增强我与老师和同学沟通和合作完成任务的能力。3、 由于这次课程设计不仅设计编程方面的知识,还涉及了其它学科的知识,例如PROTEUS和KEIL等及办公软件WORD、VISIO等基本知识的应用。程序是用汇编语言来编写的,这次课程设计让我在编程能了方面有所提高。4、 由于水平有限,设计节日灯控制功能比较少,没有达到市场需求中的功能。总之,通过这次课程设计,不仅加深了我对单片机理论知识的理解,将理论更好的运用于实践,而且锻炼了我各方面的能力,比如文件的基本操作,培养了坚强的毅力和耐心。另外,通过这次课程设计,我认识到了团队合作的重要性。参考文献 1 江世明、黄同成编着.单片机原理及应用技术.北京:中国铁道出版社,2010.12 2 李勇帆、谢兵主编.大学计算机应用教程.北京:中国铁道出版社,2007.8 3 江世明编著.单片机原理及应用实验教程.,北京:中国铁道出版社,2010.12 4 李朝青编著. 单片机原理及接口技术(第三版).北京:北京航空航天大学出版社,2010.15 AT89C51 中文资料.电子驿站附录1.源程序代码ORG 0000H SJMP START ORG 30H ;初始化程序START: MOV P1,#0FFHNATER: MOV A,P1 CPL A ANL A,#3CH JZ NATER JB ACC.2,Z0 SJMP KEY3Z0:LCALL SHAN ;调用闪烁程序KEY3: JB ACC.3,STOP ;调用停止程序KEY4: JB ACC.4,Z1 SJMP KEY5Z1:MOV A,#0FEH LCALL DOWN ;跳转至向下流动程序 SJMP NATERKEY5: JB ACC.5,Z2 SJMP NATERZ2: MOV A,#07FH LCALL UPSJMP NATERSHAN:MOV DPTR,#TABLE ;闪烁子程序LOOP: CLR A MOVC A,A+DPTR JNB P1.3,STOP CJNE A,#01H,LOOP1 MOV A,#0FEHC1: MOV P2,A LCALL DELAY JNB P1.3,STOP RL A CJNE A,#0FEH,C1 MOV A,#07FHC2:MOV P2,A LCALL DELAY JNB P1.3,STOP RR A CJNE A, #07FH,C2 MOV P2,#0FFH SJMP SHANLOOP1:MOV P2,A LCALL DELAY INC DPTR LJMP LOOPSTOP:MOV P2,#0FFH ;停止子程序 JB P1.3,START SJMP STOPDOWN:MOV P2,A ;向下流动子程序 LCALL DELAY JNB P1.3,STOP RL A CJNE A,0FEH,DOWN MOV P2,0FFH LJMP DOWN RETUP: MOV P2,A ;向上流动子程序 LCALL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行营销面试题目及答案
- 银行行长竞聘试题及答案
- 银行信贷考试题库及答案
- 园林技术专业试题及答案
- 稽查专业考试题库及答案
- 湖南省邵阳市2025-2026学年高一上学期9月拔尖联考(创新班)数学试卷(含答案)
- 河北省张家口市宣化区2024-2025学年七年级下学期7月期末考试数学试卷(人教版)(含答案)
- 幕墙栏杆压顶施工方案
- 福建省泉州市安溪县2024-2025学年高一上学期11月期中生物试卷(含答案)
- 彭州围堰施工方案公示
- 高职考试管理办法
- 2025年半导体制造用胶膜市场调查报告
- 家长学校亲子沟通课件
- 超声科主任竞聘演讲稿
- 工地工伤预防培训
- 辽宁省2022-2024年中考满分作文134篇
- (完整)夏季防暑降温教育培训试题及答案
- 复卷机安全操作规程
- 马克思介绍课件
- JJF 2252-2025 机动车检测用涡流式金属探伤仪校准规范
- 2025秋人教版(2024)八年级上册英语课件 Unit 1 Happy Holiday (第1课时) Section A 1a- 1d
评论
0/150
提交评论