欢迎来到天天文库
浏览记录
ID:61332435
大小:1.15 MB
页数:12页
时间:2021-01-25
《基于单片机的彩灯设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、西安文理学院机械电子工程系课程设计报告专业班级课程单片微机原理及应用题目基于单片机的彩灯设计学号学生姓名指导教师2011年12月西安文理学院机械电子工程系课程设计任务书学生姓名专业班级学号指导教师职称副教授教研室电子信息工程课程单片机原理及应用题目基于单片机的彩灯设计任务与要求1.用三个按键开关K1,K2,K3组成一个独立式键盘,其中K1控制八个彩灯从左向右依次循环点亮,K2控制八个彩灯从右向左依次循环点亮,K3控制八个彩灯按一定的时间间隔闪烁点亮。2.给出硬件实现电路及软件程序3.论文要求思路清晰,结构合理,语言流畅,书写格式符合要求。开始日期2011.12.19完成日期2011.12.
2、302011年12月18日一:课程设计任务基于单片机设计一个彩灯二:课程设计的要求:利用89C51单片机设计彩灯,用三个按键开关K1,K2,K3组成一个独立式键盘,其中K1控制八个彩灯从左向右依次循环点亮,K2控制八个彩灯从右向左依次循环点亮,K3控制八个彩灯按一定的时间间隔闪烁点亮。三:设计过程:1.设计原理:此次课程设计题目是基于单片机的彩灯设计,由课程设计的要求和任务,我采用的C语言编程,系统由AT89C51、LED发光二极管、按键,可以实现彩灯的不同类型显示切换。其硬件电路主要有主控制器,LED显示电路,复位电路,晶振电路。系统程序的设计包括主程序的设计,中断服务程序等等。此程序直
3、接在Keil软件编译程序,利用Proteus进行仿真调试,方便修改程序。2.芯片介绍:AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高
4、效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.1主要特性:·与MCS-51兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路2.2管脚说明图1AT89C51引脚图AT89C51引脚路VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口P1口:P1口是一个内部提供上拉电阻的8
5、位双向I/O口,P2口:P2口为一个内部上拉电阻的8位双向I/O口,P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。P3口也可作为AT89C51的一些特殊功能口,P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。PSEN:外部程序存储器的选通信号。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.具体设计3.1整体设计实验总体电路构造方案比较简单,主要包括键盘控制电路(用脉冲按键开关对电路进行控制)和显示电路(单片机控制发光二极管的显示)。图2实验方案图按照单片机系统扩展与系统配置状况,单片机应
6、用系统可分为最小系统、最小功耗系统及典型系统等。AT89C52单片机是美国ATMEL公司生产的低电压、高性能CMOS8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C52单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。3.2硬件电路设计实验电路可划分为两个组成部分,一者为显示电路部分,主要是由8个相同的发光二
7、极管组成,用来显示流水灯的不同显示形态,另一部分即控制电路部分,主要由脉冲按键开关组成,用以控制流水灯的不同显示状态。其整个硬件电路图如下:图3原理电路图3.3软件流程图及程序:关闭中断再次读入按键状态保护现场读入按键状态保存延时10ms去抖两次按键状态相同?K1按下?K2按下?K3按下?右向循环点亮左向循环点亮间隔闪烁点亮恢复现场开中断返回主程序YNYYYNNN.C语言源程序代码#include#de
此文档下载收益归作者所有