单片机课程设计倒数计数器_第1页
单片机课程设计倒数计数器_第2页
单片机课程设计倒数计数器_第3页
单片机课程设计倒数计数器_第4页
单片机课程设计倒数计数器_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理及系统课程设计报告1引言本设计利用at89c51单片机结合字符型lcd显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了。2设计方案及原理设计一个简易的倒数计数器。当键盘按键有按下时,调整计数器值,lcd显示新值。当复位键有按下时,计数器复位为初值,重新倒计数。当计数器值倒计为0时,蜂鸣器发出声音,计数器停止倒计,程序结束。具体过程:按k1键,则在lcd上显示出设置画面。此时,若: (1) 按k2键-增加倒计数的时间1分钟。 (2) 按k3键-减少倒计数的时间1分钟。 (3) 按k4键-设置完成。

2、3硬件设计3.1 设计说明 设计的功能:输出时间,按下键就开始计时,并将时间显示在lcd1602显示器上。当倒计数为0时,蜂鸣器就发出音乐声响。该计数器系统主要由计数器模块、lcd显示器模块、蜂鸣器模块、键盘模块、复位模块等部分组成。总体设计方框图如图所示。lcd1602复位电路at89c51蜂鸣器键盘 图1 总体设计方框图3.2电路原理图电路原理图连接如图2所示图1 电路原理图4软件设计音乐倒数计数器程序流程图包括主程序流程图,lcd显示流程图以及按键流程图,各流程图如图2,图3,图4所示。 图2 主程序流程图 图3 lcd显示流程图 图4 按键流程图 5系统的仿真与调试本课程设计调试结果详

3、见附录6总结经过设计,简单带有lcd显示的音乐倒数计数器完成,系统基本功能基本实现,测试运行也正常。该系统完成了计数与报警的功能。当然这个系统还存在许多有待完善的地方:(1) 功能相对较少,有待于添加,如时钟与闹钟功能。(2) 界面设计不够精致完美。参考文献1 康华光.陈大钦.电子技术基础模拟部分m.北京:高等教育出版社,2005.2 李朝青.单片机原理及接口技术m.北京:航空航天大学出版社,2005.3 兰吉昌.51单片机应用设计百例m.北京:化学工业出版社,2009.附录1调试结果图图2调试结果图2 程序关键问题的部分代码#include#include#define time 100#d

4、efine uint unsigned int#define uchar unsigned charuint t,flag,flag0,flag1,flag2,flag3,flag4,flag5,minute,second=60;uchar num,j,i,k=0;uchar code table=time 00:00;uint code table1=64580,64684,64777,64820,64898,64968,65030;sbit key1=p10;sbit key2=p11;sbit key3=p12;sbit key4=p13;sbit key5=p14;sbit p1_5=

5、p15;sbit rs=p20;sbit rw=p21;sbit e=p22;sbit led_red=p23;void write_time(uint addr,uint date);/延时函数/void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/延时1s/void delay1(void) uchar a,b,c; for(c=13;c0;c-) for(b=247;b0;b-) for(a=142;a0;a-); _nop_;/1602写命令函数/void write_com(uchar com)rs=0;p3=com;d

6、elay(5);e=1;delay(10);e=0;/1602写数据函数/void write_date(uchar date)rs=1;p3=date;delay(5);e=1;delay(10);e=0;/按键1处理函数/void key1() while(flag1) if(key2=0) delay(time);if(key2=0) if(minute0) minute=minute-1;write_time(7,minute);if(key4=0|key5=0) delay(150);if(key4=0|key5=0) flag1=0;flag =1;tr0=1;void write

7、_time(uint addr,uint date) uint ge,shi;ge=date%10;shi=date/10; write_com(0x80+addr);write_date(0x30+shi);write_date(0x30+ge);if(addr=7&date=0) j=1;if(j=1&addr=10&date=0) flag0=1; tr0=0;tr1=1;flag5=1; /初始化函数/void init() p1=0xff;rw=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x80);tmod

8、=0x11;th0=(65536-50000)/256;tl0=(65536-50000)%256;th1=0xfc;tl1=0x44;et1=1;et0=1;/tr1=1;/tr0=1;ea=1;flag0=1;for(num=0;num0) minute=minute-1;write_time(7,minute);if(second=0) k=1;second=60;int main() init(); while(1) while(flag0) start();counter();while(flag5)delay1(); i+; if(i7) i=0;return 0;void inter0() interrupt 1th0=(65536-50000)/256;tl0=(65536-50000)%256

温馨提示

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

评论

0/150

提交评论