自动滚动屏课程设计.doc_第1页
自动滚动屏课程设计.doc_第2页
自动滚动屏课程设计.doc_第3页
自动滚动屏课程设计.doc_第4页
自动滚动屏课程设计.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

河南机电高等专科学校电气工程系电子课程设计报告设计题目:自动滚动屏广告 专业: 供电用电技术 班级: 1 0 1 学号: 姓名: 指导教师: 设计时间: 2012年9月13 微控制器技术课程设计任务书设计题目: 自动滚动广告 设计时间: 2012.9.102012.9.10 设计任务:在Proteus中画出原理图或使用实物,编制程序,实现以下功能:1、使用液晶或者LED点阵显示文字广告。2、上下翻页;3、往上翻页时到顶时,默认往下翻页;往下翻页到底时,往上翻页。背景资料:1、单片机原理与应用 2、检测技术3、计算机原理与接口技术进度安排:1、第一天,领取题目,熟悉设计内容,分解设计步骤和任务;规划设计软硬件,编制程序流程、绘制硬件电路。3、第2-3天,动手制作硬件电路,或编写软件,并调试。4、第4天,中期检查。5、第5-6天,完善为完成内容,书写设计报告。6、第7天,提交设计报告,整理设计实物,等待答辩。7、第8天,设计答辩。题目:自动滚动广告一、 设计目的1、 掌握单片机控制电路,熟悉运用proteu画电路图,进行仿真练习,运用keil编程,输出后缀为.hex文件下载到单片机内仿真练习。2、 掌握点阵式led阵列,点亮相应的led小灯拼成理想的汉字3、 掌握单片机各I/O端口的运用。4、 运用单片机自动控制实现商业价值二、设计要求在Proteus中画出原理图或使用实物,编制程序,实现以下功能:1、使用液晶或者LED点阵显示文字广告。2、上下翻页;3、往上翻页时到顶时,默认往下翻页;往下翻页到底时,网上翻页。 三、方案设计与论证图一 图一为8*8 led点阵式显示模拟原理图,要让此阵列中的led点亮左侧为高电平,右侧为底电平要一次性显示出一个图形就要用到动态扫描,即第一个led点亮后点亮第二个,第三个等等,由于点亮led灯时间差很短,人眼视觉暂留现象,这些led看起来就同时亮了。由于要显示图形和汉字,这里可以引用字膜提取软件如图二,可以自动方便提取到图形十六进质数码,实用方法这里就不再介绍三、设计方案一、 用at89c52型单片机,74sl138译码器 ,1k电阻,8*8 led点振,晶振,电容,5V直流电源。此种方案可减少单片机IO口的占用,用po口接在点阵的阴极上,从38译码器接出到点阵led的阳极上p0口输出低电平,38译码器输出高电平,点亮led,然后编程二,在一的基础上去掉38译码器,可以节省成本,又可以达到一样的效果四、设计原理和电路图如下由于单片机p0口是开漏形式输出,输出电流很小驱动能力很差,要点亮一个led小灯需要5mA的电流,所以要在p0口接上上拉电阻,阻值选1k,只要完好控制p0口与p1口的输出状态就能很好的驱动点阵led由于在proteus仿真中,可以省去单片机电源,复位电路,晶振电路而在实际的电路中这些都不能少,晶振是单片机的心脏,控制着定时等,复位防止单片机运行中掉电而停止运行,只要用c语言编一程序控制单片机IO口状态就能驱动led点阵显示出需要的效果五、C程序设计及说明#i#include typedef unsigned char uint8;typedef unsigned int uint16;typedef unsigned long uint32; code uint8 graph = 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xAB,0x05,0xAC,0x05,0xAD,0x75,0xFF, 0xF7,0xC1,0xD5,0xC1,0xD5,0xC1,0xB7,0x87, 0xFF,0xBD,0xBD,0xA5,0xA5,0xBD,0xBD,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF ;sbit ADDR0 = P20;sbit ADDR1 = P21;sbit ADDR2 = P22; /*对端口进行声明 */sbit ADDR3 = P23;sbit ADDR4 = P24;sbit ADDR5 = P25;sbit ADDR6 = P26;sbit ADDR7 = P27 ;uint8 i= 0,counter = 0;void timer1_init() TMOD |= 0x10; TMOD &= 0xdf; TH1 = 0xFC;TL1 = 0x67; /* 定时1ms*/TR1 = 1;void int_init()ET1 = 1;EA = 1;void refresh_led() static uint8 j = 0;switch(j) case 0: ADDR0 = 1;ADDR1 = 0;ADDR2 = 0;ADDR3= 0 ; ADDR4=0 ; ADDR5=0 ; ADDR6=0 ;ADDR7=0;break;case 1: ADDR0 = 0;ADDR1 = 1;ADDR2 = 0;ADDR3= 0 ; ADDR4=0 ; ADDR5= 0 ; ADDR6=0 ;ADDR7=0;break;case 2: ADDR0 = 0;ADDR1 = 0;ADDR2 = 1;ADDR3= 1 ; ADDR4=0 ; ADDR5= 0 ; ADDR6=0 ;ADDR7=0;break;case 3: ADDR0 = 0;ADDR1 = 0;ADDR2 = 0;ADDR3= 1 ; ADDR4=0 ; ADDR5= 0 ; ADDR6=0 ;ADDR7=0;break;case 4: ADDR0 = 0;ADDR1 = 0;ADDR2 = 0;ADDR3= 0 ; ADDR4=1 ; ADDR5= 0 ; ADDR6=0 ;ADDR7=0;break;case 5: ADDR0 = 0;ADDR1 = 0;ADDR2 = 0;ADDR3=0 ; ADDR4=0 ; ADDR5= 1 ; ADDR6=0 ;ADDR7=0;break;case 6: ADDR0 = 0;ADDR1 = 0;ADDR2 = 0;ADDR3= 0 ; ADDR4=0 ; ADDR5= 0 ; ADDR6=1 ;ADDR7=0;break;case 7: ADDR0 = 0;ADDR1 = 0;ADDR2 = 0;ADDR3= 0 ; ADDR4=0 ; ADDR5= 0 ; ADDR6=0 ;ADDR7=1;break;default: break;P0 = graphi + j;if(7 = j+) j = 0; main() timer1_init();int_init();while(1);void interrupt_timer1()interrupt 3 TH1 = 0xFC; TL1 = 0x67; counter+; if(counter = 200) counter = 0;i+;if(i=32)i=0; refresh_led(); nclude(reg52.h) 六、元件清单表1 元件清单元件名称参数个数R1K8U5V2LED点阵8*81AT89C521七、设计总结本论文用AT89c52单片机作为自动滚动广告机的控制核心,通过定时器T1精确定时一秒,利用中断程序控制,使点阵led从上述动作,并最终使广告片随之转动。完成了自

温馨提示

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

评论

0/150

提交评论