单片机论文单片机定时闹钟.doc_第1页
单片机论文单片机定时闹钟.doc_第2页
单片机论文单片机定时闹钟.doc_第3页
单片机论文单片机定时闹钟.doc_第4页
单片机论文单片机定时闹钟.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

单片机论文 题 目: 单片机定时闹钟设计 系 别: 机械系 专 业: 机械设计制造及自动化_ 班 级: 机自二班_ 学 号: _ 姓 名: _ 指导老师: 一、1.1 单片机基础知识 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。 MCS-51单片机是美国INTEL公司于1980年推出的产品,与MCS- 48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MSC-51单片机作为代表进行理论基础学习。 MCS-51系列单片机主要包括8031、8051和8751等通用产品。 DP-51S单片机仿真实验仪是由广州致远电子有限公司设计的DP系列单片机仿真实验仪之一,是一种功能强大的单片机应用技术学习、调试。二、2.1 硬件设计80C51 芯片内部集成了 CPU、RAM、ROM、定时/计数器和I/O口等各功能部件,并由内部总线把这些不见连接在一起。80C51单片机内部包含以下一些功能部件:1、 一个8位CPU;2、 一个片内振荡器和时钟电路;3、 4KB ROM(80C51有4KB掩膜ROM,87C51有4KB EPROM,80C31片内有无ROM);4、 128B内RAM;5、 可寻址64KB的外ROM和外RAM控制电路;6、 两个16位定时/计数器;7、 21个特许功能寄存器;8、 4个8位并行I/O口,共32条可编程I/O端线;9、 一个可编程全双工串行口;10、 5个中断源,可设置成2个优先级。三、STC89C52RC单片机简要介绍单片机应用系统由硬件系统和软件系统两部分组成。硬件系统是指单片机以及扩展的存储器、IO接口、外围扩展的功能芯片以及接口电路。软件系统包括监控程序和各种应用程序。 在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、信息输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和IO接口,使单片机应用系统能够运行。 在一个单片机应用系统中,往往都会输入信息和显示信息,这就涉及键盘和显示器。在单片机应用系统中,一般都根据系统的要求配置相应的键盘和显示器。配置键盘和显示器一般都没有统一的规定,有的系统功能复杂,需输入的信息和显示的信息量大,配置的键盘和显示器功能相对强大,而有些系统输入/输出的信息少,这时可能用几个按键和几个LED指示灯就可以进行处理了。在单片机应用系统在中配置的键盘可以是独立键盘,也可能是矩阵键盘。显示器可以是LED指示灯,也可以是LED数码管,也可以是LCD显示器,还可以使用CRT显示器。单片机应用系统中键盘一般用的比较多是矩阵键盘,显示器用的比较多的是LED数码管还LCD显示器。内部定时器计数器中断系统1、MCS-51系列中51子系列有两个16位的可编程定时计数器可:定时计数器T0和定时计数器T1。它由加法计数器、方式寄存器TMOD、控制寄存器TCON等组成。方式寄存器用于设定定时计数器T0和T1的工作方式,控制寄存器用于对定时计数器启动、停止进行控制。 2、每个定时计数器既可以对系统时钟计数实现定时,也可以外部信号计数实现计数功能通过编程设定来实现。 3、每个定时计数器都有多种工作方式,其中T0有四种工作方式,T1有三种工作方式,T2有三种工作方式。通过编程可设定工作于某种方式。四种工作方式为:13位定时计数器、16位定时计数器、8位自动重置定时计数器、两个8位定时计数器(只有T0有) 4、每一个定时计数器定时计数时间到时产生溢出,使相应的溢出位置位,溢出可通过查询或中断方式处理。中断系统:1、MCS-51单片机提供5个硬件中断源,2个外部中断源,2个定时计数器T0和T1的溢出中断TF0和TF1,1个串行口发送TI和接收RI中断。2、MCS-51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器IE的各位来控制的。中断允许寄存器IE的字节地址为A8H,可以进行位寻址。系统复位时,中断允许寄存器IE的内容为00H,如果要开放某个中断源,则必须使IE中的总控置位和对应的中断允许位置“1”。3、MCS-51单片机有5个中断源,为了处理方便,每个中断源有两级控制,高优先级和低优先级。通过由内部的中断优先级寄存器IP来设置,中断优先级寄存器IP的字节地址为B8H,可以进行位寻址。如果某位被置“1”,则对应的中断源被设为高优先级;如果某位被清零,则对应的中断源被设为低优先级。对于同级中断源,系统有默认的优先权顺序,从高到低优先权顺序为外部中断0、定时计数器T0中断、外部中断1、定时计数器T1中断、串行口中断。通过设置中断优先级寄存器IP能够改变系统默认的优先级顺序。4、MCS-51单片机响应中断的条件为:中断源有请求且中断允许。键盘和LED数码管显示器简介键盘是单片机应用系统中最常用的输入设备,在单片机应用系统中,操作人员一般都是通过键盘向单片机系统输入指令、地址和数据,实现简单的人机通信。键盘实际上是一组按键开关的集合,平时按键开关总是处于断开状态,当按下键时它才闭合。键盘的结构形式一般有两种:独立式键盘和矩阵式键盘。矩阵式键盘的工作方式有3种:查询工作方式、定时扫描工作方式和中断工作方式。LED数码管显示器在单片机应用系统中,经常用到LED数码管作为显示输出设备,LED数码管显示器虽然显示信息简单,但它具有显示清晰、亮度高、使用电压低、寿命长、与单片机接口方便等特点,基本上能够满足单片机应用系统的需要,所以在单片机应用系统中经常用到。LED数码管显示器是由发光二极管按一定的结构组合起来的显示器件。在单片机应用系统中通常使用的是8段式LED数码管显示器,它有共阴极和共阳极两种。所谓译码方式是指由显示字符转换得到对应的字段码的方式。对于LED数码管显示器,通常的译码方式有两种:硬件译码方式和软件译码方式。LED数码管在显示时,通常有两种显示方式:静态显示方式和动态显示方式。在使用时可以把它们组合起来。在实际应用时,如果数码管个数较少,通常用硬件译码静态显示,在数码管个数较多时,则通常用软件译码动态显示。主程序流程图定时器/计数器T0用于时间计时。选择方式1,重复定时,定时时间设为50ms,定时时间到则中断,在中断服务程序中用一个计数器对50ms计数,计20次则对秒单元加1,秒单元加到60则对分单元加1,同时秒单元清0;分单元加到60则对时单元加1,同时分单元清0;时单元加到24则对时单元清0,标志一天时间计满。在对各单元计数的同时,把它们的值放到存储单元的指定位置。定时器/计数器T0中断服务程序流程图,如图,见下页开始现场保护,重置初值启动下一个50ms50ms 计数器加1秒单元加1,50ms计数器清0,秒写入秒个位和秒十位50ms 计数器=20?是分单元加1,秒单元清0,分写入分个位和分十位秒单元=60?分单元=60?中断返回否否否是是设计思想及操作用定时计数器T0,工作于定时,采用方式1,对12MHZ的系统时钟进行定时计数,设初值。形成定时时间为50ms。用片内RAM的7BH单元对50ms计数,计20次产生秒计数器78H单元加1,秒计数器加到60则分计数器79H单元加1,。然后把秒、分、时计数器分成十位和个位放到8个数码管的显示缓冲区,通过数码管显示出来。显示格式为分十位、分个位-秒十位、秒个位。在处理过程中加上了按键判断程序,能对按键处理。按键处理设置为:如没有按键,则时钟正常走时。当按下K0按键时,进入调分状态,时钟停止走动;按K1可K2按键可进行加1或减1操作;继续按K0键可分别进行分的调整;最后按K0键将退出调整状态,时钟开始计时运行。1、在PROTEUS中设计硬件PROTEUS软件使用过程如下:1)选择元器件2)放置元器件3)连线4)添加程序5)运行仿真2、在KEIL51中编写程序,编译、连接形成HEX文件。3、在PROTEUS中把HEX文件加载到单片机芯片上。4、运行仿真看结果。四、4.1 设计总结 单片机的设计至今为止已经进入了令人鼓舞的阶段,在进行了长达几个月的时间的摸索与实验,使我不仅仅是对于单片机入门软件与硬件的常用设计与功能,还使我对于一项设计研究的制作过程所需要的详细步骤和具体的实现方法的力度的掌握。基于此作品作为毕业设计的创作成果,在当其中机器的功能等方面并非处于一个成熟的阶段,而且仅仅是因为向延元老师的要求以及我们的初步尝试,当中的缺点是无可非议地存在着。 当然在这次宝贵的结业设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再合适不过了。但是,光是完成了作品还是不可以自我满足的,在从一开始的时候就怀着将作品制作得更加人性化,更加令人满意,更加地使功能完美又方便地被应用领域这个最终目的下,随着对单片机这门学科的认识加深,到达了拓展的程度,我想这个目的将在不远的时期内被实现。 总之,这次设计从软件编写、调试到软硬件联机调试,我倾注了大量的时间和心血。真是曾经为程序的编写而冥思查找过,曾经为无法找出错误而郁闷苦恼过,也曾经为某一功能不能实现而犹豫彷徨过,但最终我成功了。 因为我不仅品味到了结果的喜悦,更明白了过程的弥足珍贵。大收获和财富,使我终身受益。参考程序#include #define uint unsigned int#define uchar unsigned charuchar code segcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /09uchar code segcode2=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef; /带小数点09uchar buffer=0,0,0,0;uchar buffer2=0,0,0,0; /闹钟uint hou,min,sec;uint hou2,min2=0; /闹钟uint i,status,num;bit flag,flag1,keyrelease;sbit alarm=P37;uchar buf,keyinput;void display();void keyscan();void keyprocess(unsigned char key);void delayMS(uint t)uint i;while(t-)for(i=0;i125;i+);void init() /初始keyrelease=1;buf=0x0f;min2=2; /避免打开就鸣叫,设闹钟分=2flag=0;TMOD=0x21;TH0=(65536-5000)/256;TL0=(65536-5000)%256;TH1=0xfd;TL1=0xfd;SCON=0x50;PCON=0x00;TR1=1;IP=0x10;TR0=0;IE=0x92; /开总、定时器0,串口中断void main()init();while(1)keyscan();display();if(hou=hou2&min=min2&sec5) /仿真使用alarm=alarm;/ if(hou=hou2&min=min2&sec=3) status = 0;break;case 0x0b:switch(status) /按下K3 加1 键,2 种模式下加1case 1:if(flag1=0) if(min59) min+;else min=0;if(flag1=1)if(min259) min2+;else min2=0;break;break;case 2:if(flag1=0) if(hou23) hou+;else hou=0;if(flag1=1)if(hou20) min-;else min=59;if(flag1=1)if(min20) min2-;else min2=59;break;case 2:if(flag1=0) if(hou0) hou-;else hou=23;if(flag1=1)if(hou20) hou2-;else hou2=23;break;default:break; /case 0break;default:break;void display()if(flag1=0)buffer0=hou/10; / 显示时的十位buffer1=hou%10; / 显示时的个位buffer2=min/10; / 显示分的十位buffer3=min%10; / 显示分的个位P2=0xef;/位选 第1 个管P0=segcodebuffer0;delayMS(1);P2=0xdf;/位选 第2 个管if(flag=1)P0=segcodebuffer1;elseP0=segcode2buffer1;delayMS(1);P2=0xbf;/位选 第3 个管P0=segcodebuffer2;delayMS(1);P2=0x7f;/位选 第4 个管P0=segcodebuffer3;delayMS(1);if(flag1=1)buffer20=hou2/10; / 显示时的十位buffer21=hou2%10; / 显示时的个位buffer22=min2/10; / 显示分的十位buffer23=min2%10; / 显示分的个位P2=0xef;/位选 第1 个管P0=segcodebuffer20;delayMS(1);P2=0xdf;/位选 第2 个管P0=segcode2buffer21; /便于区别,闹钟时间都带有小数点delayMS(1);P2=0xbf;/位选 第3 个管P0=segcodebuffer22;delayMS(1);P2=0x7f;/

温馨提示

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

评论

0/150

提交评论