可调控的走马灯_第1页
可调控的走马灯_第2页
可调控的走马灯_第3页
可调控的走马灯_第4页
可调控的走马灯_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、宁波工程学院课程设计课程 设 计(论文) 报 告设计(论文)题目: 可以调控的走马灯 学 院 名 称: 电子与信息工程学院 专 业: 电子信息工程(通信) 班 级: 电信133 姓 名: 罗浙 学 导 教 师: 施吉方 定稿日期: 2015 年 7 月 1 日目录第1章 技术指标························&#

2、183;···········31.1整体功能要求································31.2系统框图···&#

3、183;································3第2章 硬件介绍················

4、;····················4第3章 程序流程图····························&

5、#183;·····93.1模式流程图······································93.2速度流程图···&

6、#183;··································9第4章 电路图及仿真设计·············

7、···············10第5章 实验心得及体会······························12第6章 源程序·&#

8、183;····································12附录 参考文献············

9、;··························13一技术指标1.1 整体功能要求1.实现16只LED以8种不同模式滚动。2.模式选择由K1,加速与减速由K2和K3控制3.在数码管上显示模式编号4.在设计电路时,结构应尽量简单 5.根据硬件电路,编写单片机AT89C51芯片的程序,通过编 程、编译、调试,把程序下载到单片机上运行,并

10、实现本设计的功能1.2 系统框图框图设计是为了能够从整体上把握系统的各个大的模块以及各个模块之间的联系。同时罗列出需要主要使用到的各个器件,以方面系统开发中器件的选取。通过框图设计,让设计者从整体上把握系统的开发.此系统的系统框图如下所示发光二极管数码管AT89C51 按键模块系统框图二硬件介绍2.1单片机模块 主芯片(AT89C51单片机),AT89C51是一种带4K字节内存可编程可擦除只读存储器(FPEROM-Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C51 是一种带 2K

11、字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集中和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51 是一种高效微控制器,AT89C51是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。其截图如图3:主要特性:·与MCS-51兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz&#

12、183;三级程序存储锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路2.2数码管模块 VCC:供电电压 GND:接地 P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0口作为源代码输入口,当FLASH进行校验时,P0输出源码,此时P0外部必须被拉高。P1口:PI口是一个内部提供上拉电阻的8位双向I/O口,P2缓冲器可接收,输出4个TTL门电流,P1口管脚写

13、入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLAS

14、H编程和校验时接收高八位地址信号和控制信号。  P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。  P3口也可作为AT89C51的一些特殊功能口,如下所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /I

15、NT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。   RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正

16、脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。   /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器

17、(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。     XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。     XTAL2:来自反向振荡器的输出。  2.3.共阳极数码显示管发光二极管显示管简称LED,具有结构简单、价格低廉、使用方便、耗电少、与单片机接口容易等特点,在单片机应用系统使用非常普遍。LED

18、数码显示器由七段条形的发光二极管组成“ 8 ”字形显示字段,用一只圆形的发光二极管做小数点。LED数码显示器中,通常将各段发光二极管的阴极或阳极连在一起做公共端,这样可以使驱动电路简单。共阳极数码管是指发光二极管的阳极都与正极接在一起,引脚接输出端,故低电平有效。 要使LED数码管显示数字,只要点亮相应字段的发光二极管即可。如要显示“1”,点亮b、c段;要显示“0”,点亮a、b、c、d、e、f段。不难看出,对于共阳极数码管,点亮字段则用低电平“0”来表示,所以低电平有效。这样我们就可以把要显示的数字与一串二进制代码对应起来,即对LED数码显示器实现编码。由于这种编码是与显示器结构相对应的,因此

19、分为共阴显示码和共阳显示码两种。不考虑小数点的编码只有七位,常称为七段显示码;如果对小数点也进行编码,则称为八段显示码。如表2-3所示:表2-3常用字符的八段显示码2.4.发光二极管 它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。发光二极管与普通二极管一样是由一个PN结组成,所以具有单向导电性。常用的发光二极管是发红光、绿光或黄光的二极管。它广泛应用于各种电子电路、家电、仪表等设备中、作电源指示或电平指示。三程序流程图开始模式按键是否按下初始化中断 结束模式不变新的模式 是 否速度键是否按下初始化中断开始模式流程图加速还是减速结束速度减少速度增加 速度流程图4 电路图及仿真设计

20、4.1设计完成原理图如下,运行4.2 在模式3下如图所示4.3在模式8下如图所示5. 心得及体会 通过此次课程设计,首先让我对AT89C51有了更全面的了解,其次这是第一次用编程软件和仿真软件结合完成的整个实验。在遇到难题或者是自己现在的知识水平无法解决的情况下,通过问老师、同学,更多的是自己查阅相关资料料解决问题。我在网上查到了一些相关的资料,再综合书本上学到的一些知识,参考网上的程序,经过调试修改后,最终实现了题目设计的要求。6.源程序 #include <reg51.h>#define uchar unsigned char#define uint unsigned intu

21、char ModeNo;/模式编号uint Speed;uchar tCout=0;uchar Idx; /速度取值索引uchar mb_Count=0;/移动位数bit Direct =1;/滚动方向/段码表uchar code DSY_CODE=0xC0,0xF9,0xa4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;/调速表uint code sTable=0,1,3,5,7,9,15,30,50,100,200,230,280,300,350;/延时void Delay(uint x) uchar i; while (x-) for(i=0;i<120;

22、 i+) ;/检测按键uchar GetKey() uchar k; if(P2=0xFF) return 0; Delay(10); switch (P2) case 0xFE: k=1;break;case 0xFD: k=2;break;case 0xFB: k=3;break;default: k=0; while (P2 != 0xFF);/等待释放按键 return k;/-/ 16只LED显示/-void Led_Demo(uint Led16) P1=(uchar)(Led16&0x00FF);/显示低8位 P0=(uchar)(Led16>>8); /显示

23、高8位/-/定时器2/-void T0_INT() interrupt 1 if (+tCout<Speed) return;tCout=0;switch (ModeNo) case 0:Led_Demo(0x0001<<mb_Count);break;case 1: Led_Demo(0x8000>>mb_Count);break;case 2: if (Direct) Led_Demo(0x000F<<mb_Count); else Led_Demo(0xF000>>mb_Count);if(mb_Count=15) Direct=!D

24、irect;break; case 3:if (Direct) Led_Demo(0x000F<<mb_Count);else Led_Demo(0xF000>>mb_Count);if(mb_Count=15) Direct=!Direct;break;case 4:if (Direct) Led_Demo(0x003F<<mb_Count);else Led_Demo(0xFC00>>mb_Count);if(mb_Count=15) Direct=!Direct;break;case 5:if (Direct) Led_Demo(0x0001<<mb_Count);else Led_Demo(0x8000>>mb_Count);if(mb_Count=15) Direct=!Direct;break;case

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论