-I--I-XXXX学院课程设计报告XX系x级X专业题目倒计时、开关控制的应用姓名xxx学号xxxxxxx指导教师xxxxx2010年x月x日2目录摘要..........................................................................................................................................错误!未定义书签。1引言......................................................................................................................................错误!未定义书签。2设计任务和要求..................................................................................................................错误!未定义书签。2.1设计方案与论证.....................................................................................................错误!未定义书签。2.2元件介绍................................................................................................................................................43总原理图及及主要模块的流程图..................................................................................................................63.1总原理图及元器件清单........................................................................................................................63.2主要流程图............................................................................................................................................74性能测试与分析.................................................................................................................................................75结论与心得.........................................................................................................................................................9参考文献.................................................................................................................................................................9附录(程序指令)......................................................................................................................................................9致谢..........................................................................................................................................错误!未定义书签。3摘要单片机的应用已经广泛的渗透到国民经济的各个领域,随着在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未有的速度被单片机智能控制系统所取代,它已经成为工科大学生的必修课程之一。单片机技术含有硬﹑软两个方面的技术。硬件是以单片机为核心,再加以其他各元器件组成的电子电路的一个实体。它既有单片机的技术,又有电子类专业所必须的模拟﹑数字﹑高频电子电路的综合运用。单片机的种类繁多,目前单片机应用系统开发工具也有不少,但同一系列单片机的开发工具或实验系列基本相同。51系列单片机时目前应用最广泛的一种8为单片机之一,它具有体积小﹑功能强﹑成本低﹑应用面广等优点。经过20多年的推广与发展,51系列单片机形成了一个规模庞大,功能齐全,资源丰富的产品群。本文设计的是基于单片机89C51的用倒计时和开关控制炫彩流水灯的一个简单设计。关键字:LED;开关控制;AT89C51单片机,倒计时1.引言学习单片机的最有效方法就是理论与实践并重,现在我把单片机流水灯设计作为一个课程设计,需要更深的去了解单片机的很多功能,努力的去查找资料,当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。2.设计任务和要求(1)熟悉集成电路的引脚安排。(2)设置外部操作开关,控制LED灯的流动效果。(3)用相关仿真软件对电路进行仿真(4)进一步熟悉常用芯片和电子器件的类型及特性2.1设计方案和论证我这里用单片机实现的是用倒计时的开关共同控制流水灯的流转路线。我用了一块at89c51单片机来实现这个功能。第一个是启动开关,启动后倒计时开始(30秒),第一种流水灯功能自动开始流动。如没按其他功能开关,30秒后自动转到下一种功能。最后一个是关闭开关,关闭后只能按启动开关来启动。2到4是功能开关,每个开关都是一种不同的流动方式。(30秒后自动跳转到下一个功能)42.2元件介绍AT89C51的芯片概述AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其工作电压在4.5-5V,一般我们选用+5V电压。外形及引脚排列如图1所示图1:89C51的核心电路框图主要特性·与MCS-51兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源5·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路管脚说明(1)电源及时钟引脚(4个)Vcc:电源接入引脚Vss:接地引脚XTAL1:晶振震荡器接入的一个引脚(采用外部振荡器时,此引脚接地);XTAL2:晶体振荡器的另一个引脚(采用外部振荡器时,此引脚作为外部振荡器信号的输入端)。(2)控制线引脚(4个)RST/Vpd:复位信号输入引脚/备用电源输入引脚;ALE:地址锁存允许信号输出引脚/编程脉冲输入引脚:EA:内外存储器选择引脚/片外EPROM编程电压输入引脚;PSEN:外部程序存储器选通信号输出引脚。(3)并行I/O引脚P0.0-P0.7:一般I/O口引脚或数据/低位地址总线复用引脚;P1.0-P1.7:一般I/O口引脚;P2.0-P2.7:一般I/O口引脚或高位地址总线引脚;P3.0-P3.7:一般I/O口引脚或第二功能引脚振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。63.总原理图及主要模块的流程图3.1总原理图及元器件清单总原理图元件清单元件名称数值数量AT89C51-1LED灯-8电压源-1排电阻(8个电阻)200174ls0-4按键-84数码管显示-173.2主要流程图4.性能测试与分析启动模拟,启动按键没按下时,是关闭状态,如图:8当打开启动开关,流水灯开始按模式一运转,同时倒计时启动。按下不同按键,启动不同模式为第一模式,然后顺序转换(每30秒换一个,下图为方式3)模拟实验证明,程序可行。95.结论与心得通过不停地修正源程序,改正了各种缺点,个人感觉,写程序要细心和耐心。比如我刚刚开始是没注意到按键抖动和按下接触的时间会对运行造成影响,结果安多几次按键后显示出错,通过改正,也明白了很多有关按键的程序。参考文献(1)孙玉才编著,MCS-51系列单片微型计算机及其应用,东南大学出版社,2004.6(2)万光毅,严义,邢春香,单片机实验与实践教程[M],北京航空航天大学出版社,2006.4(3)侯玉宝等编著,基于Proteus的51系列单片机设计与仿真,电子工业出版社附录源程序ORG0000HLJMPMAINORG000BHLJMPZDUANMAIN:MOVP0,#0HMOVP1,#0FFHMOVP2,#0FFHMOVP3,#0FFHMOV41H,#10MOV42H,#3MOV43H,#0MOV44H,#0MOV51H,#010MOV52H,#0MOV53H,#0MOV54H,#0MOV61H,#0MOV62H,#0MOV63H,#0MOV64H,#0SETBEASETBET0CLREX0CLREX1MOVTMOD,#01HMOVTH0,#03CHMOVTL0,#0B0HLJMPSATSAT:MOVA,P3JNBACC.2,KEYLJMPSATSAT1:MOVA,P3JNBACC.2,KEYRETKEY:LCALLDLAY10JNBACC.2,KEY2LJMPSATFKEY:MOVA,P3ANLA,#0FFHCJNEA,#0FFH,FKEY1RETIFKEY1:LCALLDLAY10ANLA,#0FFHCJNEA,#0FFH,TKEYLJMPFKEYTKEY:MOVA,P3JNBACC.3,KEY3JNBACC.4,KEY411JNBACC.5,KEY5JNBACC.6,KEY6JNBACC.7,KEY7RETIKEY5:LJMPKEY51KEY6:LJMPKEY61KEY7:LJMPKEY71KEY2:JNBP3.2,$CLRTR0MOV41H,#10MOV42H,#3MOV43H,#0MOV51H,#0MOV52H,#0MOV53H,#0MOV54H,#0MOV61H,#0MOV62H,#0MOV63H,#0MOV64H,#0MOVTH0,#03CHMOVTL0,#0B0H