计算机控制与应用课程设计.docx
- 文档编号:26341048
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:17
- 大小:125.35KB
计算机控制与应用课程设计.docx
《计算机控制与应用课程设计.docx》由会员分享,可在线阅读,更多相关《计算机控制与应用课程设计.docx(17页珍藏版)》请在冰豆网上搜索。
计算机控制与应用课程设计
计算机控制技术与应用
——基于AT89C51的电子时钟设计
院系:
电气工程与自动化学院
专业:
电气工程及其自动化
学号
目录
摘要……………………………………………………………………………………2
第1章绪论……………………………………………………………………………3
1.1研究背景……………………………………………………………………3
1.2目的与意义…………………………………………………………………3
第2章电子钟设计方案设计…………………………………………………………4
2.设计方案………………………………………………………………………4
2.1.1计时方案………………………………………………………………4
2.2.2显示方案………………………………………………………………4
2.2.3系统运行流程…………………………………………………………4
2.2.4单片机系统流程图……………………………………………………5
第3章硬件设计………………………………………………………………………5
3.1主要器件及其简介…………………………………………………………5
1.AT89C51……………………………………………………………………5
管脚说明…………………………………………………………………6
2.6位数码管…………………………………………………………………7
3.2硬件各部分设计……………………………………………………………8
3.2.1最小系统………………………………………………………………8
3.2.2LCD显示电路…………………………………………………………8
3.2.3键盘输入电路…………………………………………………………9
3.3硬件总体设计………………………………………………………………9
第4章仿真电路图…………………………………………………………………10
第5章结论…………………………………………………………………………10
参考文献……………………………………………………………………………11
附录…………………………………………………………………………………12
摘要
在今天,电子技术获得了飞速的发展,在其推动下,现代电子产品是渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
现代生活的人们非常的重视时间观念,对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。
数码管显示的时间简单明了而且读数快、时间准确显示到秒。
而机械式的依赖于晶体震荡器,可能会导致误差。
数字钟是采用数字电路实现对“时”、“分”“秒”数字显示的计时装置。
数字钟的精度、稳定度远远超过老式机械钟。
在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。
在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。
数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费
关键词:
AT89C51;电子钟;计算机控制技术
第1章绪论
1.1研究背景
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
下面是单片机的主要发展趋势。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟已成为人们日常生活中:
必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点。
1.2目的与意义
数字钟是采用数字电路实现对时,分,秒数字显示的计时装置广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
第2章电子钟设计方案设计
2.设计方案
单片机电子时钟方案选择主要涉及两个方面:
计时方案和显示方案。
2.1.1计时方案
单片机电子时钟计时有两种方法:
第一种是通过单片机内部的定时器/计数器,采用软件编程来实现时钟计时,这种实现的时钟一般称为软时钟,这种方法的硬件线路简单,系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合;第二种是采用专用的硬件时钟芯片计时,这种实现的时钟一般称为硬时钟。
专用的时钟芯片功能比较强大,除了自动实现基本计时外,一般还具有日历和闰年补偿等功能,计时准确,软件编程简单,但硬件成本相对较高,通常用在对时钟精度要求较高的场合。
2.2.2显示方案
对于电子时钟而言,显示是另一个重要的环节。
显示通常采用两种方式:
LED
数码管显示和LCD液晶显示。
其中LED数码管显示亮度高,显示内容清晢,根据具体的连接方式可分为静态显示和动态显示,在多个数码管时一般采用动态显示,动态显示时须要占用CPU的大量时间来执行动态显示程序,显示效果往往和显示程序的执行相关。
LCD液晶显示一般能显示的信息多,显示效果好,而且液晶显示器一般都带控制器,显示过程由自带的控制器控制,不须要CPU参与,但液晶显示器造价相对较高。
本实验采用的是软件编程来实现时钟计时和LED数码管显示。
2.2.3系统运行流程
程序首先进行初始化,在主程序的循环程序中首先调用数据处理程序,然后调用显示程序,在判断是否有按键按下。
若有按键按下则转到相应的功能程序执行,没有按键按下则调用时间程序。
若没到则循环执行。
计时中断服务程序完成秒的计时及向分钟、小时的进位和星期、年、月、日的进位。
调时闪烁中断服务程序用于被调单元的闪烁显示。
调时程序用于调整分钟、小时、星期、日、月、年,主要由主函数组成通过对相关子程序的调用,实现了对时间的设置和修改、LCD显示数值等主要功能。
相关的调整是靠对功能键的判断来实现的。
2.2.4单片机系统流程图
第3章硬件设计
3.1主要器件及其介绍
1.AT89C51单片机
简介:
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示。
管脚说明
VCC:
供电电压
GND:
接地
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
2.6位显示数码管
简介:
LED数码管(LEDSegmentDisplays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。
位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
颜色有红,绿,蓝,黄等几种。
led数码管广泛用于仪表,时钟,车站,家电等场合。
选用时要注意产品尺寸颜色,功耗,亮度,波长等。
这是一个7段6位带小数点数码管,采用静态驱动静态显示驱动,静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
3.2硬件各部分设计
3.2.1最小系统
复位时单片机的初始化操作,只要给RST引脚加上两个机器周期以上的高电平信号,就可以使AT89C51单片机复位。
本次采用的是12M晶振,按钮复位电路。
晶振电路如图
3.2.2LCD显示电路
6位LCD显示屏的段码ABCDEFG和dp与单片机P0口相连,LCD显示屏位选码123456与单片机的P2口相连。
3.2.3键盘输入电路
本次设计采用独立键盘,键盘按下时,相应的I/O口电平由高变低,一次检测按键是否被按下。
3个独立按键与单片机P.10—P1.2口相连,分别控制秒,时,分加计数。
3.3硬件总体设计
根据电子钟设计内容和要求,完成Protues电路的设计,如图所示
第4章仿真电路图
用Keil和Protues进行仿真调试,仿真结果完全达到预期目的。
第5章结论
我在这一次数字电子钟的设计过程中,很是受益匪浅。
在设计过程中,从仿真电路的设计,在设计过程中,从仿真电路的设计,源程序的书写和修改都遇到了不少问题,但在我们的共同努力下解决了,并且从中学到了不少知识。
撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。
培养了我运用所学知识解决实际问题的能力。
通过这次课程设计我发现,只有理论水平提高了;才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。
这个实验十分有意义我获得很深刻的经验。
通过这次课程设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性,也从中得知了很多书本上无法得知的知识。
我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决
问题更加深刻。
学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。
这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。
参考文献
[1]刘国荣.梁景凯.计算机控制技术与应用.机械工业出版社.第二版
[2]谢维成.杨加国.单片机原理与应用.北京.清华大学出版社,第二版
[3]顾德英,罗云林.计算机控制技术.北京.北京邮电大学出版社,2009
[4]沙占友,孟志永.单片机外围电路设计.北京.电子工业出版社,2006.6
附录
C语言程序
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
ucharcodedispcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
ucharseconde=0;
ucharminite=0;
ucharhour=12;
ucharmstcnt=0;
sbitP1_0=P1^0;
sbitP1_1=P1^1;
sbitP1_2=P1^2;
voiddelay(uchark);
voidtime_pro();
voiddisplay();
voidkeyscan();
voiddelay(uchark)
{
ucharj;
while((k--)!
=0)
{for(j=0;j<125;j++)
{;}
}
}
voidtime_pro(void)
{if(seconde==60)
{seconde=0;
minite++;
if(minite==60)
{minite=0;
hour++;
if(hour==24)
{hour=0;}
}
}
}
voiddisplay()
{
P2=0xfe;
P0=dispcode[hour/10];
delay
(1);
P2=0xfd;
P0=(dispcode[(hour%10)])|0X80;
delay
(1);
P2=0xfb;
P0=dispcode[minite/10];
delay
(1);
P2=0xf7;
P0=(dispcode[minite%10])|0X80;
delay
(1);
P2=0xef;
P0=dispcode[seconde/10];
delay
(1);
P2=0xdf;
P0=dispcode[seconde%10];
delay
(1);
}
voidkeyscan(void)
{
if(P1_0==0)
{delay(100);
if(P1_0==0)
{
seconde++;
if(seconde==60)
{seconde=0;}
}
}
if(P1_1==0)
{delay(100);
if(P1_1==0)
{hour++;
if(hour==24)
{hour=0;}
}
}
if(P1_2==0)
{delay(100);
if(P1_2==0)
{minite++;
if(minite==60)
{minite=0;}
}
}
}
voidtimer0(void)interrupt1using0
{
TH0=0x3c;
TL0=0xb0;
TMOD=0x01;
mstcnt++;
if(mstcnt==20)
{seconde++;
mstcnt=0;
}}
voidmain(void)
{P1=0xff;
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
EA=1;
ET0=1;
TR0=1;
while
(1)
{keyscan();
time_pro();
display();
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机控制 应用 课程设计