ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:156.61KB ,
资源ID:20196960      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20196960.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(zl数字时钟Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

zl数字时钟Word下载.docx

1、三、设计内容 针对要实现的功能,拟采用 AT89C51 单片机进行设计,AT89C51 单片机是一款低功耗,高性能 CMOS8 位单片机,片内含 4KB在线可编程(ISP)的可反复擦写 1000次的 Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS-51 指令系统及 80C51 引脚结构。这样,既能做到经济合理又能实现预期的功能。摘要:用 89C51,BUTTON,六段数码管等构成电子时钟,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。关键字:89c51 数字时钟 实验设计 系

2、统总体构成:首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。设计使用 12MHZ晶振与单片机 AT89C51 相连接,以 AT89C51 芯片为核心,实现在 6个 LED 数码管上显示日期、时间、定时、闹铃,通过 6个按键实现设置日期、进行调时、设定闹铃、倒计时等功能。软件部分用汇编实现,分为显示、延迟、调时、闹铃、定时、调整日期等部分。通过软硬件结合达到最终目的 图 1 单片机数字钟硬件系统的总体设计框图 原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息,并通过程序控制扫描输出显示数据。利用定时器 0与软

3、件结合实现 1秒定时中断,每产生一次中断,存储器内相应的秒值加 1;若秒值达到 60,则将其清零,并将相应的分字节值加 1;若分值达到 60,则清零分字节,并将时字节值加 1;若时值达到 24,则将时字节清零。该方案具有硬件电路简单的特点,但当单片机不上电,程序将不执行。电源模块方案:采用普通的 USB线连接微型计算机作为系统电源,虽然功率上可以满足稍大于系统需要,但同样不需要更换电源,并且比直流稳压电源更轻便,可随时使用、调试系统。按键模块方案:采用独立式键盘。独立式按键是直接用 I/O 口线构成的单个按键电路,其特点是每个按键单独占用一根 I/O口线,每个按键的工作不会影响其它 I/O口线

4、的状态。但当所需按键数量多,会占用过多的 I/O 口线。硬件设计:单片机的最小系统是由电源、复位、晶振、/EA=1组成,下面介绍一下每一个组成部分。1.电源引脚 Vcc 40 电源端 GND 20 接地端 工作电压为 5V,另有 AT89LV51工作电压则是 2.7-6V,引脚功能一样。2.输入输出引脚(1)P0 端口P0.0-P0.7 P0 是一个 8位漏极开路型双向 I/O端口,端口置 1(对端口写 1)时作高阻抗输入端。作为输出口时能驱动 8 个 TTL。(2)P1 端口P1.0P1.7 P1 是一个带有内部上拉电阻的 8位双向 I/0 端口。输出时可驱动 4个 TTL。端口置 1时,内

5、部上拉电阻将端口拉到高电平,作输入用。(3)P2 端口P2.0P2.7 P2 是一个带有内部上拉电阻的 8位双向 I/0 端口。对内部Flash程序存储器编程时,接收高 8位地址和控制信息。(4)P3 端口P3.0P3.7 P2 是一个带有内部上拉电阻的 8位双向 I/0 端口。3.LED显示电路 发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式 LED显示器件(半导体显示器)。分段式显示器(LED数码管)由 7 条线段围成 8 字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示

6、各种字形或符号。LED数码管有共阳、共阴之分。图是共阳式、共阴式 LED数码管的原理图和符号.图 2 共阳式、共阴式 LED数码管的原理图和数码管的符号图 显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要 6 个数码管,另需两个数码管来显示横。采用动态显示方式显示时间,硬件连接如下图所示,时的十位和个位分别显示在第一个和第二个数码管,分的十位和个位分别显示在第四个和第五个数码管,秒的十位和个位分别显示在第七个和第八个数码管,其余数码管显示横线。多位 LED 显示器,通常都是采用动态扫描的方法进行显示,其硬件连接方式如下图所示。图 4 数码管的硬件连接示意图 软件设计:系统的软件设

7、计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;(4)绘制程序流程图;(5)合理分配系统资源;调试步骤:首先打开 protus 6 professional 软件,在元件库中找到要选用的所有元件,然后进行原理

8、图的绘制;绘制好后再选择 wave6000 已经编译好的*.hex 文件,选择运行,观察显示结果,根据显示的结果和课题的要求再修改程序,再运行查,直到满足要求。调试中出现的问题:在电子钟设计中程序比较长,调试时遇到了各种各样的问题,比如跳转距离过长出现语法错误。因此修改程序的时间很长,有语法错误,也有仿真时功能无法实现的问题,在此不能一一说明,只能对个别问题加以阐述。由于在走时调整、闹铃调整及定时设定时,按下键时每 0.2 秒步进 1,这就需要每0.2 秒对按键输入进行一次扫描,因此开始时,我用的是延迟 0.2秒再返回按键扫描程序的方法,但是可以想到,进行单纯的延迟时,不会有显示,在仿真时功能

9、没有实现。后来我采用的是反复调用若干次显示程序以实现延迟,较好地解决了这个问题。在使用 Proteus 进行仿真时,仿真图不用画出数码管驱动程序,其他部分与设计的硬件图相仿。绘制结果如下:图 3 仿真图 源程序代码 ORG 0000H MOV 30H,#1 MOV 31H,#2 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0 MOV TMOD,#01 XS0:SETB TR0 MOV TH0,#00H MOV TL0,#00H XS:MOV 40H,#0FEH MOV DPTR,#TAB MOV P2,40H MOV A,30H MOVC A,A+DPT

10、R MOV P0,A LCALL DELAY MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,31H ADD A,#10 MOVC A,A+DPTR MOV P0,A LCALL DELAY MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,32H MOVC A,A+DPTR MOV P0,A LCALL DELAY MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,33H ADD A,#10 MOVC A,A+D

11、PTR MOV P0,A LCALL DELAY MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,34H MOVC A,A+DPTR MOV P0,A LCALL DELAY MOV P0,#0FFH MOV A,40H RL A MOV 40H,A MOV P2,40H MOV A,35H MOVC A,A+DPTR MOV P0,A LCALL DELAY MOV P0,#0FFH MOV A,40H RL A MOV 40H,A JB TF0,JIA JNB P1.0,P100 JNB P1.1,P1000 JNB P1.2,

12、P10000 AJMP XS P100:MOV 30H,#0 MOV 31H,#0 MOV 32H,#0 MOV 33H,#0 MOV 34H,#0 MOV 35H,#0 JIA:CLR TF0 MOV A,35H CJNE A,#9,JIA1 MOV 35H,0 MOV A,34H CJNE A,#5,JIA10 MOV 34H,#0 P10000:JNB P1.2,P10000 MOV A,33H CJNE A,#9,JIA100 MOV 33H,#0 MOV A,32H CJNE A,#5,JIA1000 MOV 32H,#0 P1000:JNB P1.1,P1000 MOV A,31H

13、 CJNE A,#9,JIA10000 MOV 31H,#0 MOV A,30H CJNE A,#2,JIA100000 MOV 30H,#0 AJMP XS0 JIA100000:INC 30H AJMP XS0 JIA10000:CJNE A,#3,JIAJIA MOV A,30H CJNE A,#02,JIAJIA MOV 30H,#0 MOV 31H,#0 AJMP XS0 JIAJIA:INC 31H AJMP XS0 JIA1000:INC 32H AJMP XS0 JIA100:INC 33H AJMP XS0 JIA10:INC 34H AJMP XS0 JIA1:INC 35

14、H AJMP XS0 RET DELAY:MOV R6,#9H D1:MOV R7,#19H DJNZ R7,$DJNZ R6,D1 RET TAB:DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H DB 040H,079H,024H,030H,019H,012H,002H,078H,000H,010H END 结语:在程序设计过程中,我遇到了很多困难,这部分也是让我学到很多东西的地方。通过这次单片机课程设计,我感觉到自己知识的严重不足。很多方面都没能很好的掌握,在制作过程中,经常遇到自己不理解的问题,当然,在同学的帮助下,问题最终解决,在这次学习中,让我更深刻的了解了 AT89C51 芯片在电气控制方面的广泛运用和重大作用,所以我们一定要掌握好 AT89C51 芯片。首先,我学习了定时器的相关知识,计数器的使用是很重要的组成部分,在这个设计中选择计数器 T0。T0的工作方式有:方式 0:不推荐 方式 1:16位计数器,常用 方式 2:自动重装初值的 8位定时/计数器 方式 3:T0相当于两个独立的 8位定时/计数器 其次,我参看了文献中的设计思路,做到胸有成竹后再进行具体的程序书写工作。认真学习了教科书中关于汇编语言编程的问题,熟悉了汇编语言的编程方法和语法习惯。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1