数字钟液晶1602.docx
《数字钟液晶1602.docx》由会员分享,可在线阅读,更多相关《数字钟液晶1602.docx(14页珍藏版)》请在冰豆网上搜索。
数字钟液晶1602
(封面)
天津理工大学中环信息学院
电子技术课程设计
设计题目:
时钟分频电路设计
姓名:
学号:
系别:
电子信息工程系专业班级:
12通信2
开始日期:
2014年6月9日完成日期2014年6月20日
指导教师:
成绩总评(分数):
天津理工大学中环信息学院
课程设计任务书
系别:
电子信息工程系班级:
12通信2姓名:
王鑫泽学号:
12050086
课程名称
电子技术课程设计
设计题目
时钟分频电路设计
设计
任务
描述
及
基本
要求
一、任务描述
1、设计钟震荡电路和分频电路。
2、给出电路原理图及元器件参数。
二、基本要求
1、振荡时钟配置为4.096MHz。
2、输出时钟频率包括1KHz,2KHz,4KHz…2048KHz。
任务下
达时间
2014年6月9日
设计完
成时间
2014年6月20日
主要参考材料
1、《模拟电子技术基础》(第四版)童诗白华成英主编。
高等教育出版社
2、《数字电子技术基础》阎石高等教育出版社
辅导老师
姓名
教研室
意见
年月日
天津理工大学中环信息学院
课程设计成绩评定表
系别:
电子信息工程系班级:
12通信2姓名:
学号:
评分项目及标准
权值
实际得分
评价内容
优秀标准
设计
选题
能体现本专业培养目标,难度和工作量较大,有较强的创新性。
10
说明书
质量
圆满完成任务书中各项要求,分析、计算、实验正确、严密;设计科学、先进;计算准确;图样绘制及技术要求符合国家标准;有较强的实用价值;对专业知识综合训练程度高;撰写规范。
30
独立工作能力及设计期间的表现
能独立查阅文献以及从事其它形式的调研,能较好理解课题任务并提出实施方案,有分析整理各类信息,从中获得新知识的能力。
40
回答问
题情况
态度认真,作风严谨,刻苦钻研精神突出。
遵守各项规章制度,无任何事故发生。
回答问题准确、全面,概念清楚。
10
特色与综合素质
设计说明书有很明显的特点或特色,学生的综合素质较高。
10
指导老师
彭利标
得分合计
目录
绪论…………………………………………………………………………………………1
第一章系统设计…………………………………………………………………………2
1.1方案选择与对比……………………………………………………………………2
第二章硬件设计…………………………………………………………………………3
2.1中央控制器………………………………………………………………………3
2.2液晶显示……………………………………………………………………………4
2.3整体电路……………………………………………………………………………4
第三章软件仿真…………………………………………………………………………6
3.1ISIS仿真…………………………………………………………………………6
结论………………………………………………………………………………………7
参考文献…………………………………………………………………………………8
附录一:
源程序……………………………………………………………………9
附录二:
元件清单……………………………………………………………………10
绪论
数字钟是一种通过使用相应的数字电路而搭建实现的,可以显示出时、分、秒用来进行计时的钟表。
相比普通的机械钟来说更具有准确性以及直观性,还有更长的使用寿命,所以得得以广泛的使用。
本文详细的介绍了关于数字钟的设计方法通过STC89C51单片机芯片配以显示电路由LCD1602显示屏构成其所需要的外围电路组成电子钟了系统来完成本次的时钟电路制作和设计并且配有具体的仿真。
可以直观的当前日期和时间显示。
而且其中由于利用单片机而实现的电子钟所以具有可编程后期修改拥有高度的灵活性,以便于未来相应功能的扩展。
第一章
方案设计
1.1方案选择
一.数字钟主要分为数码显示器、60进制和24进制计数器、这几个部分。
数字钟要完成显示需要6个数码管,八段的数码管需要译码器械才能显示,然后要实现时、分、秒的计时需要60进制计数器和24进制计数器。
60进制可能由10进制和6进制的计数器串联而成,而小时的24进制可以采用74LS90清零发实现通过三五芯片搭建出的多谐稳态电路,产生固定脉冲信号进入各类相连的计数器之中,然后再通过译码器对数码管进行控制显示。
图1系统设计框
二.系统直接使用单片机作为中央控制器,来通过发出不同的高低电平对液晶直接进行控制显示。
利用单片机内部所具有高度的集成化功能,同样对外围电路的要求不是很高。
系统可以长时间的工作并且便携性较高。
图2系统设计框
因为未来扩展性较强,设定的时间稳定,集成化较高相对电路稳定外围电路较少。
成本适中,如果进行实际的制作应该会非常容易。
综合性考虑在实现上述内容后最终选择方案二为具体的设计方案。
第二章硬件设计
2.1中央控制器
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
对于核心单片机因为相关的资料比较多所以不论在制作的成本和制作难度以及编程方面可以用来参考的代码都较多。
而处理速度要求并不严格要求所以选择了较为平常的低端STC89C52这款单片机,综合考虑后最终定为系统的核心模块设计方案。
如电路原理图图3。
图3控制电路原理
2.2液晶显示
液晶使用LCD1602,工业字符型液晶,能够同时显示16x02即32个字符。
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。
因为数字时钟的显示较为简单,如果使用数码管虽然直观方便,但是没有多余的字符在未来的可扩展性也较低。
而12864来说则是性能过剩所以选择成本低,显示效果较好,重量较低体积较小可以满足整体结构设计,耗功低的LCD1602。
如显示模块电路图4。
图4显示电路原理
2.3整体电路
为系统整体的电路原理图,由中央控制器与液晶电路所组成。
如图5整体电路。
图5整体电路原理
第三章软件仿真
3.1ISIS仿真
Proteus软件是一款强大的单片机仿真软件,对于单片机学习和开发帮助极大。
ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析各种模拟器件和数字集成电路,包括单片机。
对整个系统进行仿真的过程测试,首先开始运行ISIS7Professional仿真软件。
在仿真的过程中我们可以明显的看到相应的效果,在引脚之间的电平变化以及数码管是否显示了特定的时间循环等各类表现。
直观的观察测试设备的表现与预想效果和实际情况对比。
如图具体仿真图5。
图6ISIS仿真
结论
书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。
真是万事开头难,开始还不知道如何入手。
最后终于做完了有种如释重负的感觉。
此外,还得出一个结论:
知识必须通过应用才能实现其价值!
有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。
生活同样也是如此,汗水预示着结果也见证着收获。
想说,设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会,所以这次课程设计对我的收获真的很多。
未来的扩展,可以尝试搭建更多的外围电路。
参考文献
[1]胡乾斌,李光斌,李玲等.单片微型计算机原理与应用[M].武汉:
华中科技大学出版社,2004
[2]张友德.单片微型机原理、应用与实验[M].上海:
复旦大学出版社2005.
[3]阎石数字电子电路[Z]北京:
中央广播电视大学出版社1992
[4]实用电子电路手册[M]北京:
高等教育出版社1992
附录
附录一:
源程序
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitlcden=P3^4;//数据使能端
sbitlcdrs=P3^5;//数据端
sbitkey1=P1^0;//小时加
sbitkey2=P1^2;//分钟加
sbitkey3=P1^1;//小时减
sbitkey4=P1^3;//分钟减
//ucharcodelcd[]="0123456789";//数字字符
ucharcodetable[]="clockshow:
";//第一行字符显示
ucharhour=12,min=0,sec=0,num=0;//初始时钟值
voiddisplay(ucharh,ucharm,uchars);
void_delay_ms(uintms)//延时毫秒函数
{
uinti,j;
for(i=0;ifor(j=0;j<110;j++);
}
voidwrite_com(ucharcom)//写指令函数
{
lcdrs=0;
P2=com;
_delay_ms
(2);
lcden=1;
_delay_ms
(2);
lcden=0;
}
voidwrite_dat(uchardat)//写数据函数
{
lcdrs=1;
P2=dat;
_delay_ms
(2);
lcden=1;
_delay_ms
(2);
lcden=0;
}
voidinit()//1602函数初始化设置函数
{
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
voidT0_init()//TO定时器初始化函数
{//用16位定时器
TMOD=0X01;//定时器0,M1MO模式01
TH0=(65536-45872)/256;//晶振11.0952M,定时初值低位
TL0=(65536-45872)%256;//定时初值高位,定时50ms
EA=1;//开总中断
ET0=1;//开启定时器0
TR0=1;//启动定时器0
}
voiddisplay(ucharh,ucharm,uchars)//1602显示函数
{
uchari,j,a,b,c,d;
i=h/10;
j=h%10;
a=m/10;
b=m%10;
c=s/10;
d=s%10;
write_com(0x80+0x40);
write_dat(48+i);
write_dat(48+j);
write_dat(':
');
write_dat(48+a);
write_dat(48+b);
write_dat(':
');
write_dat(48+c);
write_dat(48+d);
}
voidkey()//按键检测函数
{
if(key1==0)//小时加
{
_delay_ms(10);
if(key1==0)
{
hour++;
if(hour==24)
{
hour=0;
}
while(!
key1);
}
}
if(key2==0)//分钟加
{
_delay_ms(10);
if(key2==0)
{
min++;
if(min==60)
min=0;
while(!
key2);
}
}
if(key3==0)//小时减
{
_delay_ms(10);
if(key3==0)
{
hour--;
if((hour>=24)||(hour>=255))
hour=23;
while(!
key3);
}
}
if(key4==0)//分钟减
{
_delay_ms(10);
if(key4==0)
{
min--;
if((min>=60)||(min>=255))
min=59;
while(!
key4);
}
}
}
voidmain()//主函数
{
uchark;
init();
write_com(0x80);
for(k=0;k<11;k++)//显示TIME:
{
write_dat(table[k]);
_delay_ms(5);
}
T0_init();
//无限循环函数
while
(1)
{
key();
}
}
voidT0_time()interrupt1//定时中断函数
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num++;
if(num==20)//定时20*50ms=1s
{
num=0;
sec++;
if(sec==60)//60S进1
{
min++;
sec=0;
if(min==60)//60minute进1
{
hour++;
min=0;
if(hour==24)//24hour后返回00:
00:
00
{
hour=0;
min=0;
sec=0;
}
}
}
}
//显示小时,分钟,秒
display(hour,min,sec);
}
附录二:
元件清单
表1元件清单
编号
名称
型号
数量
成本
1
电阻
2K,200
若干
0.5元
2
液晶屏
LCD1602
1个
7元
3
电容
0.1uf,0.2pf
若干
0.7元
4
按钮
4引脚
4个
5
单片机
STC89C52
1个
4元
合计
12.3元