**大学物理学院单片机花样流水灯设计实验课题:花样流水灯设计班级:物理***姓名:***学号:……………2【摘要】当今时代的智能控制电子技术,给人们的生活带来了方便和舒适,而每到晚上五颜六色的霓虹灯则把我们的城市点缀得格外迷人,为人们生活增添了不少色彩。制作流水灯的方法有很多种,有传统的分立元件,由数字逻辑电路构成的控制系统和单片机智能控制系统等。本设计介绍一种简单实用的单片机花样流水灯设计与制作,采用基于MS-51的单片机AT89C51和发光二极管、晶振、复位、电源等电路以及必要的软件组成的以AT89C51为核心,辅以简单的数码管等设备和必要的电路,设计了一款简易的流水灯电路板,并编写简单的程序,使其能够自动工作。本设计用AT89C51单片机为核心自制一款简易的花样流水灯,并介绍了其软件编程仿真及电路焊接实现,在实践中体验单片机的自动控制功能。该设计具有实际意义,可以在广告业、媒体宣传、装饰业等领域得到广泛应用。关键字:AT89C51单片机流水灯数码管3【概述】1.单片机及其发展概况单片机又称为单片微计算机,其特点是将微型计算机的基本功能部件(如中央处理器(CPU)、存储器、输入接口、输出接口、定时/计数器及终端系统等)全部集成在一个半导体芯片上。单片机作为一种高集成度微型计算机,已经广泛应用于工业自动化控制、智能仪器仪表、通信设备、汽车电子与航空航天电子系统、智能家居电器等各个领域。2.Protues仿真软件简介Protues以其数量众多的元件数据库、标准化的仿真仪器、直观的捕获界面、简洁明了的操作、强大的分析测试、可信的测试结果,为电子工程设计节约研发时间,节省了工程设计费用。利用Protues软件设计一款通过数码管显示计数时间的流水灯电路及KeilC软件编程后,再将两者关联则可以简单快速的进行仿真。【实验设计目标】设计要求以发光二极管作为发光器件,用单片机自动控制,对8个LED灯设计至少3种流水灯显示方式,每隔20秒变换一次显示花样,计时通过一个二位七段数码管显示。4【设计方案】1.设计原理AT89C51单片机内部包括微处理器、存储器(存放程序指令或数据的ROM、RAM等)、输入/输出口(I/O口)及其他功能部件如定时/计数器、中断系统等。它们通过地址总线、数据总线和控制总线连接起来。要实现流水灯功能,只要将发光二极管Led1~Led8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯状,设计花样时可依此类推。此外还应注意的是人眼的视觉暂留效应以及单片机执行每条指令的时间很短,所以控制二极管亮/灭的时候应延时一段时间,否则将无法以肉眼观察到“流水”等花样效果。2.电路原理图XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51R1100R210kC220pFC130pFX1CRYSTALD1LED-BIRGD2LED-BIBYD3LED-BIGYD4LED-YELLOWD5LED-BIRGD6LED-BIBYD7LED-BIGYD8LED-YELLOWC31uF3.器件配置清单5元件数量元件数量电阻100Ω15二位七段数码管1电阻10KΩ1LED8瓷介电容30pF2AT89S511电解电容100uF1CD4511140脚接插件1晶振110脚接插件24.AT89C51简介AT89C51单片机有多种封装形式,常见的有DIP封装、PLC封装、TQFP封装,为了使用的方便通常使用DIP封装形式的单片机。外部共有40个引脚,图6为引脚的排列图。40个引脚大致可分为4大类:电源、时钟、控制和I/O引脚,5.芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数6器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。6.实验流程【程序编写】开始编写程序并关联原理图调试检查焊接电路无误后将所编程序载入芯片调试画出原理图画出组装焊接实物结束7ORG30HSTART:MOVDPTR,#TABLELP1:MOVA,#00HMOVCA,@A+DPTRCJNEA,#1BH,LP2JMPSTARTLP2:MOVP2,ALCALLDELAYINCDPTRJMPLP1DELAY:MOVR7,#10HDE1:MOVR6,#200DE2:MOVR5,#248DJNZR5,$DJNZR6,DE2DJNZR7,DE1RETTABLE:DB0feH,0fdH,0fbH,0f7HDB0efH,0dfH,0bfH,07fHDB0bfH,0dfH,0efH,0f7H8DB0fbH,0fdH,0feH,0ffHDB0aaH,55H,0aaH,55HDB0aah,55h,0ffHDB0f0H,0fH,0f0H,0fH,0ffHDB33H,0ccH,33H,0ccHDB33H,0ccH,0ffHDB1BHEND【仿真调试】打开KeilC软件将上面程序输入,调试无误后编译输出.hex文件,打开Proteus软件,将之前编译好的.hex文件加入到芯片中,开始运行仿真。数码管计时,每隔20秒,Led灯显示变换一次流水花样。图一图二9【设计实物图】实物正面图实物反面图【实验小结】验证过程中,遇到两个问题:1.调试后期有1个Led灯无法。2.数码管不能正确显示数字。检查后排除电路接错误的可能。出现第一个问题是由于那1个LED灯烧坏。第二个问题是数码管管脚插槽接触不良,无法正常运作,外接电线后能正常用作。结束语此次实验缺点在于器件排版不够合理美观,焊接工艺不足及对一些工具的安全使用、细小器件的保护意识不足。图三图四10基于Protues和Keil的单片机仿真开发及其应用,使得缺乏实验条件或实际焊接/制板难度较大的学习内容能够很方便地仿真研究,或者清晰地观察到不便观察实验现象的学习内容,因而利用仿真能够更快捷地了解及实现电子设计的自动化。