网站大量收购闲置独家精品文档,联系QQ:2885784924

带音乐跑马灯课程设计 张尹、袁斌.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
湖南软件职业学院《单片机原理及应用课程设计》 音乐跑马灯的设计 班 级:电子1001班 指导教师: 周文辉 姓 名: 张 尹 袁 斌 设计提交日期: 2012年6月 实验要求 使用LED灯,用这发光二极管以不同的模式循环点亮;通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。该实验通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的功能,并同时可以用显示,在现实生活中应用广泛,具有现实意义AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。主要性能: 与MCS-51 微控制器产品系列兼容。 片内有4KB可在线重复编程的快闪擦写存储器 存储数据保存时间为10年 宽工作电压范围:Vcc可为2.7V到6V 全静态工作:可从0Hz至16MHz 程序存储器具有3级加密保护 128*8位内部RAM 32条可编程I/O线 两个16位定时器/计数器 中断结构具有5个中断源和2个优先级 可编程全双工串行通道 空闲状态维持低功耗和掉电状态保存存储内容3、实验仪器集成电路芯片8032,,AT89C51实验箱,按键,DVCC系列单片机微机仿真实验系统中的软件(WAVE 6000)#includereg52.h #includeSoundPlay.h unsigned char RunMode; void Delay1ms(unsigned int count) { unsigned int i,j; for(i=0;icount;i++) for(j=0;j1200;j++); } unsigned char code LEDDisplayCode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}; void Display(unsigned char Value) { P3=LEDDisplayCode[Value];} void LEDflash(unsigned char Count) { unsigned char i; bit Flag; for(i=0;iCount;i++) { Flag=!Flag; if(Flag) Display(RunMode); else Display(0x10); Delay1ms(100); } Display(RunMode); } unsigned char Getkey(void) { unsigned char KeyTemp,CheckValue,Key=0x00; CheckValue=P20x32; if(CheckValue==0x32) return 0x00; Delay1ms(10); KeyTemp=P20x32; if(KeyTemp==CheckValue) return 0x00; if(!(CheckValue0x02)) Key|=0x01; if(!(CheckValue0x10)) Key|=0x02; if(!(CheckValue0x20)) Key|=0x04; return Key; } unsigned int Timer0Count,SystemSpeed,SystemSpeedIndex; void InitialTimer2(void) { T2CON=0x00; TH2=RCAP2H=0xfc; ET2=1; TR2=1; EA=1; } unsigned int code SpeedCode[]={1,2,3,5,8,10,14,17,20,30 ,40,50,60,70,80,90,100,120,140,160,180,200,300,400,500,600,700,800,900,1000}; void SetSpeed(unsigned char Speed) { SystemSpeed=SpeedCode[Speed];} void LEDshow(unsigned int LEDStatus) { P1=~(LEDStatus0x00ff); P0=~((LEDStatus8)0x00ff); } void InitialCPU(void) { RunMode=0x00; Timer0Count=0;

文档评论(0)

mx597651661 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档