基于单片机的数字时钟的设计.doc

上传人:精*** 文档编号:865486 上传时间:2023-10-05 格式:DOC 页数:13 大小:370.78KB
下载 相关 举报
基于单片机的数字时钟的设计.doc_第1页
第1页 / 共13页
基于单片机的数字时钟的设计.doc_第2页
第2页 / 共13页
基于单片机的数字时钟的设计.doc_第3页
第3页 / 共13页
基于单片机的数字时钟的设计.doc_第4页
第4页 / 共13页
基于单片机的数字时钟的设计.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、黄河科技学院课程设计(论文) 摘要 单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。 关键词: 单片机,电

2、路芯片,计算机系统,领域。Abstract Single Chip Microcomputer full name called single-chip Microcomputer (use Chip Microcomputer), is A kind of integrated circuit chips, is to use very large scale integrated circuit technology has data processing ability of the central processor CPU random memory RAM, ROM ROM, A

3、variety of I/O port and interrupt system, A timer/timer functions (may also include display driver circuit, pulse width modulation (PWM) circuit, analog multi-channel converter, A/D converter circuit) integrated into A piece of silicon wafer that constitutes A small and perfect computer system. the

4、function of the looks be like simple, miniature in the pure electronic chip (different from the tape machine principle), requires complex is similar to the principle of the computer. In addition, the MCU in the industry and commerce, finance, scientific research, education, national defense aerospac

5、e and other fields has a very wide range of purposes. Keywords: single chip, chip circuit, computer systems, etc.一总体设计思路1 硬件设计思路00-99加计数器硬件系统主要由AT89C51单片机,数码管,电容,电源等元件组成,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示,通过单片中烧入程序,然后利用 P3.7口作为输入端,通过点动控制实现开关量的控制和计数,然后再通过数码显示

6、器显示出来。通过调试仿真从而实现00-99加计数。 元件名称型号数量/个用途单片机AT89C511控制核心晶振12MHZ1晶振电路电容30pF2晶振电路排阻Respack82上位电阻电阻10k1复位电路电源Vcc3提供电源拨码开关BUTTON2发出信号数码管7SEG-MPX1-CC2显示电路 2 元器件清单显示器3 系统框图电子电路单片机开关图1 系统框图4 软件设计思路实现00-99计数功能,子程序实现将高低电位转化为数码管的十进制数字,实现手动开关计数。通过手动给脉冲信号,实现计数,同时也可以实现手动复位,再加到99时,在手动给脉冲时,回到初始状态00,从而实现00到99加计数。 图2 程

7、序流程图二硬件设计 1 单片机系统AT89C51是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含2k bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器。本设计中单片机采用AT89C51,它是一种高性能低价格单片机。引脚(20个)和指令系统与8031单片机完全兼容。片内有2 K字节的闪速程序存储器(采用电擦除编程, 可重复编程1000次,数据可保10年),除没有P0口、P2口外,具有8031所有功能结构,即一片AT89C

8、51相当于8031、373 、2716 组成的最小系统。用它构成的测量、控制系统具有电路简单、可靠性好、体积小和成本低等优点。AT89C51 的P1 口为八位双向I/ O 口, P1.2P1.7有内部上拉电阻, P1.0与P1.1无内部上拉电阻。P1.0与P1.1具有第二功能, 分别作为片内精密比较器的同相、反相输入端。P1 口输出驱动器能提供20mA 的灌电流驱动能力, 其锁存器写1 时可作为输入口。AT89C51 的P3 口为七位双向I/ O 口, 有内部上拉电阻, P3 口输出驱动器能提供20mA 灌电流驱动能力, 其锁存器写1 时可作输入口。P316作为输入线与片内精密比较器输出端在片

9、内相连, 故无引出线, 但可读该位的值。P310 P315的第二功能与8031 P3 口相应口线的第二功能完全相同。综上所述, P1 和P3 口中的各口线可直接驱动发光二极管, 不用再配置发光二极管驱动电路,P1.0与P1.1具有第二功能, 不用再配置比较器, 从而简化了控制电路的结构。以下是对其引脚及其功能的简要说明:主电源引脚:接电源。 外接晶体引脚XTAL1和XTAL2XTAL1:接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。XTAL2:接外部晶体的另一个引脚。在单片机内部,

10、它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。控制或与其他电源复用引脚RST,ALE/,/VppRST:复位输H入端。当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。ALE/:当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是:每当访问外部数据存储器时,将跳过一个ALE脉冲。 /Vpp:外部访问允许端。要使CPU只访问外部程序存储器(地址为0000HFFFFH),则端必须

11、保持低电平(接到GND端)。然而要注意的是,如果保密位LB1被编程,复位时在内部会锁存端的状态。当端保持高电平(接Vcc端)时,CPU则执行内部程序存储器中的程序。 输入/输出引脚P0.0P0.7,P1.0P1.7,P2.0P2.7和P3.0P3.7P0端口(P0.0P0.7):P0是一个8位漏极开路型双向I/O端口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。在Flash编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。P1端口(P1.0P1.7):P1是一个带有内部上拉电阻的8位双向I/O端口。P2的输

12、出缓冲器可驱动(吸收或输出电流方式)4个输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。在对Flash编程和程序校验时,P1接收低8位地址。P2端口(P2.0P2.7):P2是一个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。在对Flash编程和程序校难期间,P2也接收高位地址和一些控制信号。P3端口(P3.0P3.7):P3是一个带内部上拉电阻的

13、8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(IIL)。在AT89S51中,P3端口还用于一些复用功能,在对Flash编程或程序校验地,P3还接收一些控制信号。复用功能如表2-1所列:表2-1 P3各端口引脚与复用功能表端口引脚复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6(外

14、部数据存储器写选通)P3.7(外部数据存储器读选通) 与MCS-51兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz24Hz 三级程序存储器锁定 128*8位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内震荡器和时钟电路2 排阻的作用 所谓排阻就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚。其余引脚正常引出。所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚。它在排阻上一般用一个色点标出来。排阻一般应用在数字电路上

15、,比如:作为某个并行口的上拉或者下拉电阻用。使用排阻比用若干只固定电阻更方便。 排阻有a型和b型的区别。 a型排阻的引脚总是奇数的。它的左端有一个公共端(用白色的圆点表示),常见的排阻有4、7、8个电阻,所以引脚共有5或8或9个。 B型排阻的引脚总是偶数的。它没有公共端,常见的排阻有4个电阻,所以引脚共有8个。 排阻的阻值读法如下:“103”表示:10k,“510”表示:51。以此类推常用于显示数码管。3 电路原理图 根据编写的c语言程序以及为了满足设计的需要,画出的电路原理图如下:三.软件设计 系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计

16、和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;(4)绘制程序流程图;(5)合理分配系统资源;(6)为程序加入注释,提高可读性,实施软件工程; (7)注意软件的抗干扰设计,提高系统的可靠性1 汇编语言程序SP1BIT P3.7 ;定义SP1 为P3.7管脚ORG 0START:MOV Coun

17、t,#00H;到地址0处开始执行,也就是START就是0地址NEXT:MOV A,CountMOV B,#10DIV AB ; A除以B,商(存于)A余(下)BMOV DPTR,#TABLE ;将最下面的表 地址装入 DPTR里 准备寻址MOVC A,A+DPTRMOV P0,A ;把上面从表里得出的数 输出的 P0口 这是十位数MOV A,B ;把余数送入A ,也就是这其实是两位数码管的 个位数MOVC A,A+DPTRMOV P2,A ;把个位数输出到P2口WT:JNB SP1,WT ;SP为0转移 /中断程序WAIT:JB SP1,WAIT ;SP为1转移LCALL DELY10MS ;

18、调用显示子程序JB SP1,WAITINC Count ; Count加1MOV A,CountCJNE A,#100,NEXT ;累加器与立即数不等转移LJMP START ;返回初始值DELY10MS:MOV R6,#20 ;子程序D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1RET ;子程序返回TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;0-9/子程序END2 C语言程序 C语言是一种面向过程的计算机程序设计语言,它是目前众多计算机语言中举世公认的优秀的结构程序设计语言之一。它由美国贝尔研究所的D.M.Ritch

19、ie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。程序:#include /插入51特殊功能寄存器头文件unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f; /定义显示码unsigned char Count; /定义字符型计数器变量 void delay10ms(void) unsigned char i,j; for(i=20;i0;i-) for(j=248;j0;j-); void main(void) Count=0; /计数器清0 P0=tableCount

20、/10;/计数器十位值送十位显示 P2=tableCount%10;/计数器个位值送个位显示 while(1) if(P3_7=0) delay10ms(); if(P3_7=0) Count+; /计数器加1 if(Count=100) /判断计数器是否加到100 Count=0; 是,计数器清0 P0=tableCount/10;/ 计数器十位值送十位显示 P2=tableCount%10;/计数器个位值送个位显示 while(P3_7=0); 四系统仿真 软件调试是通过对程序的编译、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。先在keil中为所编的程序设置环境,然

21、后输入程序检测并编译,之后用Proteus将编译好的程序输入到已设计好的电路的AT89C51中,开始模拟调试。进一步修改,完成设计。调试结果如下图:其复位调试结果图如下:五设计体会 为期两周的单片机课程设计,给我留下了很深刻的印象,由于这是我第一次从硬件方面接触到单片机, 设计过程中我遇到了很多的困难,因为知识是不连贯的,所以需要准备很多方面的知识去融合,去联系。由于在学习的时候更注重的是书面上的东西,而本次课程设计更多的是锻炼了我的动手动脑能力,让我有机会把课上学习的知识转化为可以在实际生产生活中应用的技术。在制作过程中,我们首先是实验设计,设计电路图,然后画出电路流程图,这个大概耗时一周的

22、时间,在这期间,我们花费大量的时间在寻找方法,上网查资料,不断的讨论,每天都研究的很晚,在焊电路片,由于以前有做过.所以没有什么问题.最后就是程序的下载,这个东西我们以前没有接触过,但是进过我们的研究还是终于成功了,我心情万分激。本次课程设计的开发与设计全部过程,对于我的重要意义在于能在进一步层次了解单片机的工作原理,内部结构和工作状态。理解单片机的接口技术,中断技术,时钟方式和控制方式的原理和意义,这样才能更好的利用单片机来做更有效和实用的设计。在设计的过程中尽管是以最大努力去完成本次课程设计任务的研究,但是所做的工作仍有许多不足,由于水平有限,还有许多部分未能详细分析,不足的部分恳请各位老师对不足或疏漏之处给予指正,我将无比的感谢!参考文献1 皮大能.单片机课程设计指导书.北京:北京理工大学出版社,2010.72 吴金戎.8051单片机实践与应用.北京:清华大学出版社,2003.83 夏路易.单片机技术基础教程与实践.北京:电子工业出版社,2008.14 王质朴.MCS-51单片机原理接口及应用.北京:北京理工大学出版社2009.115 蒋辉平.基于Proteus的单片机系统设计与仿真实例.北京:机械工业出版社 2009.7- 13 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922