欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机倒计时音乐闹钟课程设计报告Word文档下载推荐.docx

    • 资源ID:4311864       资源大小:198.46KB        全文页数:18页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机倒计时音乐闹钟课程设计报告Word文档下载推荐.docx

    1、(二)掌握51单片机计数器/定时器的工作方式和1602LCD的驱动工作原理;(三)掌握keil4、AD10、prtues等软件的使用(四)掌握调试电路和分析问题的能力二、设计内容(1)利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器。一分钟倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数到达。(2)通过按键可以自主设置倒计数的时间(1-60min、5min、10min)。一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。三、总体设计与方案讨论倒计时音乐器主要有六个模块组成:51单片机最小系统电路LCD1602液晶屏电路按键电路LED指示灯电路电源电路蜂鸣器电路方

    2、案论证:方案一:由于STC89C52中自带有定时器T0、T1,所以倒计时音乐闹钟可采用定时器中断方式和定时产生可变方波方式。此方式需要考虑两个定时器的优先级和定时器的交替开断需要精确。所以变成比较麻烦,但是比较准备和稳定。方案二:只利用STC89C52的一个定时器用来倒计时,而音乐是通过有不同的延时来达到产生不同方波的目的。这种方法虽然编程简单,但是音乐的效果不好。对比以上两种方法,我最后选择的方案一,虽然编程较方案二麻烦,但是最终的效果比较好。四、硬件介绍序号元器件名称型号可代用型号数量2单片机STC89C521LED4晶振电容22p5复位按钮710复位电阻8单独按键10电解电容10uf11

    3、4.7K排阻121电阻1311.0592M晶振1.所需元件STC89C52介绍单片机主控电路的主要元件是STC89C52,其外型及管脚如图1所示: 图1STC89C51管脚排列图STC89C52是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的STC89C52提供了高性价比的解决方案。STC89C52是一个低功耗高性能单片机,40个引脚,3

    4、2个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。3.1.2管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。P3口也可作为STC89C52的一些特殊功能口,如下所示:P3.0RXD(串行输入口)P3.1TX

    5、D(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)1602LCD液晶屏简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD。 管脚列表四、硬件电路设计与仿真原理图PCB图Protues仿真图硬件总结:由于考虑到元器件的布局、电路板的美观和减少飞线,我采用了双面板的形式。因为这个倒计时音乐闹钟不是高速板,所以它的PCB布线不用太讲究,主要是不要违反基本规则就可以了。个人比较喜欢在电路板加多一个LED用来指示电源

    6、正常和用另外一个LED来指示程序运行正常,所以额外加多了两个LED灯。五、程序流程图六、程序设计主程序:#include reg52.h1602.hsbit beep = P20; sbit LED = P14;bit flag2;uchar ptr = 0x00;uchar high;uchar low;uchar time;uchar beep_flag=0;uchar m;int a,b,y;sbit switch_one = P10;sbit switch_two = P11;sbit switch_three = P12;sbit switch_four = P13;uchar mi

    7、ao=60,fen=1,num=0;uchar flag=1;uchar s1num=0;uchar code music = 0xFC,0x44,0x7F, 0xFC,0x44,0x7F, 0xFC,0x44,0xFF, 0xFA,0x68,0xFF,/ 3 _ 3_ 3 10xFD,0x23,0x7F, 0xFD,0x23,0x7F, 0xFD,0x23,0xFF, 0xFC,0x44,0xFF,/ 1_ 3_ 5 50xFC,0x44,0x7F, 0xFD,0x23,0x7F, 0xFD,0x82,0xFF, 0xFD,0x82,0xFF,/ 4_ 3_ 2 -0xFD,0x23,0x7

    8、F, 0xFD,0x23,0x7F, 0xFC,0xAC,0xFF, 0xFF,0xFF,0xFF,/ 2_ 3_ 4 40xFC,0xAC,0x7F, 0xFD,0x23,0x7F, 0xFD,0x34,0xFF, 0xFD,0x34,0xFF,/ 3_ 2_ 3 10xFD,0x23,0x7F, 0xFC,0xAC,0x7F, 0xFD,0x23,0xFF, 0xFC,0x44,0xFF,/ 1_ 3_ 2 .50xFC,0x44,0x7F, 0xFD,0x23,0x7F, 0xFC,0xAC,0xFF, 0xFA,0x68,0xFF, / .7_ 2_ 1 -0xFC,0x0C,0x7F

    9、, 0xFC,0xAC,0x7F, 0xFC,0x44,0xFF, 0xFF,0xFF,0xFF,0x00;void delayms(int z) int a,b; for(a=z;a0;a-) for(b=112;bb-);void time_init() TMOD=0x11; TR1=0; TH1= 0xDC; /10ms TL1 = 0x00; ET1=1; EA=1;void keyscan() if(switch_one=0) / s1num+; while(!switch_one); if(s1num=1) TR1=1; if(s1num=2) s1num=0; TR1=0; if

    10、(switch_two=0) /160 fen+; miao=0; if(fen=60) fen=0; write_sfm(4,fen); write_sfm(7,miao); write_com(0x80+0x40+4); write_com(0x80+0x40+7); miao=60; if(switch_three=0) /5 fen=5; if(switch_four=0) /10 fen=10;void main () time_init(); lcd_init(); print_string(By:Blue); write_com(0x80+0x40);TIM 00:00 /56

    11、89 while(1) keyscan(); if(beep_flag=1) beep_flag=0; do m+; for(a=0;a2000;a+) beep=beep;for(b=0;b24;b+); 25;26;27; while(m5);void time1() interrupt 3 num+; if(num=90) LED=LED; num=0; miao-; if(miao=59) fen-; if(miao=0) miao=60; if(fen=0) TR1=0; fen=0; miao=0; beep_flag=1;1602LCD液晶屏驱动程序#includesbit RS

    12、=P22;sbit LCDRW=P23;sbit EN=P24;/- void write_data(uchar dat) RS=1; LCDRW=0; DATA_PORT=dat; delay_ms(5); EN=1; EN=0; void write_com(uchar com) RS=0; DATA_PORT=com;void lcd_init() write_com(0x36); write_com(0x0f); write_com(0x38); write_com(0x06); write_com(0x01); write_com(0x0C); write_com(0x80);voi

    13、d print_string(char* str) int i; for(i=0;stri!=0;i+) write_data(stri); void delay_ms(uchar t) int j; for(;t! t-) for (j=0;j255;j+);void write_sfm(uchar add,uchar date) uchar shi,ge; shi=date/10; ge=date%10; write_com(0x80+0x40+add); write_data(0x30+shi); write_data(0x30+ge);七、设计小结这是第一次做课程设计,在途中遇到了很多

    14、问题。1、51片单机的两个定时器优先级问题,用于蜂鸣器唱歌的产生占空比的定时器1和倒计时的定时器1在设计的过程中存在干扰。解决办法:后来通过慢慢的调试,把定时器1设置为最高优先级,在倒计时倒数到0时停止定时器1,给一个标志位,在主程序的大循环中判断标志位,然后才开启定时器0,产生不同占空比的方波,蜂鸣器唱歌。2、蜂鸣器的三极管型号选不对,导致唱歌声音比较小。解决方法:更换三极管,最后换成PNPS8550。3、画电路图时LCD1602的数据口用P0口,只加了排阻,而忘了上拉,导致液晶屏只亮而没有数据在电路板上更换9脚排阻,一脚飞线到VCC。有错误不用怕,仔细查资料问老师找出问题就可以了。经过一周的努力,把一个个小问题解决后,终于把单片机课程设计做好了。在这次课程设计中,我发现了自己存在的一些不足,有时不够细心导致做多了很多无用功,以后一定要改正这一点。 经过这次课程设计,我也学会了查找资料和调试电路,发现问题解决问题。 最后,感谢老师在这次课程设计中对我的帮助。八、参考文献:1 谭浩强.C程序设计(第四版) 清华大学出版社,20102 刘焕成.工程背景下的单片机原理及系统设计,20113 廖惜春.工模拟电子技术基础,20114 郭天祥.51单片机程序设计及C语言,20115 杨欣.电子设计从零开始第二版,2011


    注意事项

    本文(单片机倒计时音乐闹钟课程设计报告Word文档下载推荐.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开