版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理与应用技术课程设计报告 基于单片机控制的时钟控制器 专业班级: _ 电气 XX班_ _ 姓名: _ _XXX_ _ 时 间: 2013/11/25 12/15 指导教师: XXXX XXX 2013年 12月 11日 基于单片机控制的时钟控制器课程设计任务书 1。设计目的与要求 设计出一个基于单片机控制的时钟控制器。通过向单片机输入不同的指令可以实现 24 小时 制时钟的基本显示和连续的调时,调分和调秒的功能,同时又扩展了整点报时功能。该电路硬件 较为简单、 计时精度高、 可控性好, 可以随时调整和设定时间, 并且调时间的误差小, 操作简单、 通用性强。 (1)基本功能 、显示:可以
2、显示时、分和秒 、调时功能:时( 0-24 )、分和秒( 0-60 )可以连续可调 (2)性能:时间日误差 2 秒 (3)扩展功能 增加整点报时功能 增加闹钟任意设定功能 2设计内容 (1)画出电路原理图,正确使用逻辑关系; (2)确定元器件及元件参数; (3)进行电路模拟仿真; (4)SCH文件生成与打印输出; 3编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4答辩 在规定时间内,完成叙述并回答问题。 目录 摘要 1 1. 引言 1 2. 设计目的和要求 1 3. 总体设计方案 1 3.1 方案设计要求 1 3.2 方案设计与论证 1 3.3 整体设计框图 2 3.4 系
3、统设计流程图 2 4. 设计原理分析 3 4.1 外接晶振电路 3 4.2 复位电路 3 4.3 数码管显示电路 3 4.4 键盘控制电路 4 4.5 Proteus 仿真电路 4 4.6 单片机程序的编写 5 4.7 电路的检测 5 4.8 CAD 电路的连接及 PCB电路布线并做出电路板 5 4.9 软件与硬件的调试 5 5. 总结与体会 5 6. 附录 5 6.1 CAD 电路连接图 5 6.2 PCB 电路布线图 6 6.3 时钟控制器参考源程序 6 7. 参考文献 13 基于单片机控制的时钟控制器 班级:电气 115 班 姓名:赵传阳 摘要: 近年来随着计算机在社会领域的渗透和大规模
4、集成电路的发展,单片机的应用不断地走向深入,由于 它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点。本次设计的时钟控制器是以单片机 (AT89C51)为核心,结合相关的元器件( 3 个 2位共阳数码管,一个发光二极管和一个蜂鸣器)和应用程序(在 Proteus 软件和 KEIL 编译软件),构成相应的应用系统。 关键词 :单片机 AT89C51 共阳数码管 发光二极管 蜂鸣器 Proteus 软件 KEIL 编译软件 中断 1. 引言 随着科技的发展,电子技术得到了飞速的发展,尤其是单片机的应用更为普遍。单片机的应 用已深入众多技术领域,从军事、工业到家庭日常生活,单片机因体积
5、小、功能强、价格低廉而 得到广泛应用。在此基础上,越来越多各式各样的时钟也逐渐走进我们的生活,它们设计精巧、 方便、耐用、美观,深得各领域的厚爱。随着科技的进步,基于单片机控制的时钟控制器的出现 则打破了人们对时钟的传统概念,因为数字时钟不仅可以通过数字直观地显示出时间,还可以定 时发出各种声、光、电信号,以启动各种设备实现实时控制、时间顺序控制。该课程设计既有一 般时钟的基本显示和调整功能,同时又增加了整点报时功能,复位功能及实时时钟控制功能。 2. 设计目的与要求 设计出一个基于单片机控制的时钟控制器。通过向单片机输入不同的指令可以实现 24 小时 制时钟的基本显示和连续的调时,调分和调秒
6、的功能,同时又扩展了整点报时功能。该电路硬件 较为简单、 计时精度高、 可控性好, 可以随时调整和设定时间, 并且调时间的误差小, 操作简单、 通用性强。 在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定 时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系 统的标准定时时钟,即定时时间。 本文主要介绍用单片机为核心部件的时钟控制器, 本设计由单片机 AT89C51芯片和 3 个两位 一体的共阳极的数码管为核心,辅以必要的电路,构成了一个单片机时钟控制器。 基本要求: 1. 显示: 可以显示时、分和秒 2. 调时功能:时( 0-2
7、4 )、分和秒( 0-60 )可以连续可调并进行校准 3. 能够完成时间的显示、定时闹钟、整点报时及复位功能 3. 总体设计方案 3.1. 方案设计要求 设计制作一个时钟控制器,要求能实现基本走时,并以数字形式显示时、分、秒,采用 24 小时制,能实现校时、校分连续可调、整点报时功能、复位功能以及闹钟任意设定功能。 3.2 方案设计与论证 方案一:采用各种纯数字芯片实现数字时钟的设计。优点:各个模块功能清晰,电路易于理 解实现。缺点:各个模块功能已定不能进行智能化调整,整体电路太庞大。 方案二:采用 FPGA模块用硬件语言实现功能。优点:运算速度快,走时精度高,算法简单。 缺点:成本高,大材小
8、用。 方案三:采用单片机最小系统实现功能。优点:电路简单,能通过程序进行随机调整并扩展 功能,成本低,易于实现。缺点:走时有一定的误差。 经过综合考虑成本问题以及电路实现问题,选择第三种方案实现设计要求。 3.3 整体设计框图 整体设计框图如图 1 所示: 图 1 整体设计框图 3.4 系统设计流程图 设计流程图如 2 图所示: 图 2 系统设计流程图 - 2 - 4. 设计原理分析 4.1 外接晶振电路 晶振连接电路图如图 3,以 12MHZ晶振为基准。 图3 外接晶振电路连接图 XTAL1、XTAL2:XTAL1是片内振荡器的反相放大器输入端,XTAL2 则是输出端,使用外部振 荡器时,外
9、部振荡信号应直接加到XTAL1,而 XTAL2悬空。内部方式时,时钟发生器对振荡脉冲 二分频,如晶振为 12MHz,时钟频率就为 6MHz。晶振的频率可以在 1MHz-24MHz内选择,一般选 用 12MHZ晶振,电容取 30PF 左右。 4.2 复位电路 常用复位电路图如图 4: 图 4 复位电路连接图 在振荡器运行时,有两个机器周期( 24 个振荡周期)以上的高电平出现在此引: 脚时,将使 单片机复位,只要这个脚保持高电平, 51 芯片便循环复位。复位后 P0 P3口均置 1 引脚表现为 高电平,程序计数器和特殊功能寄存器SFR全部清零。 4.3 数码管显示电路 二位一体共阳极数码管电路连
10、接图如图5,以 PNP三极管为驱动。 图 5 数码管显示电路连接图 4.4 键盘控制电路 键盘控制电路如图 6。 图6 时钟按键控制电路图 通过 S1、S2、S3和 S4四个按键, 对时间进行修改和闹钟的设置, S0控制闹钟的启动和停止。 按下 S4键显示闹钟,松开后显示时间;按下 S1 键进入时间修改模式,再按 S1键时间的时加 1, 按 S3 分加 1,调整结束后按下 S4 恢复正常显示;按下 S2 键进入闹钟修改模式,再按 S3 键闹钟 的时加 1,按 S3分加 1,调整结束后按下 S4 恢复正常显示。在按键按下和放开时会出现抖动现 象。通过延时程序,可以进行去抖动设计。 4.5 Pro
11、teus 仿真电路 整体电路连接图如图 7: 图 7 整体电路连接图 4.6 单片机程序的编写 用KEIL编译软件进行程序的设计、编译并生成可执行文件。 4.7 电路的检测 电路连接完毕后,应用单片机程序烧录工具进行程序烧录,然后单击运行按钮进行仿真,检 测电路是否有误。 4.8 CAD 电路的连接及 PCB电路布线并做出电路板 待仿真电路检测无误后,则通过 CAD软件进行电路图的连接并对元件进行封装,确定无误后 生成 PCB图进行电路的布线,之后做出电路板进行元件的焊接。 4.9 软件与硬件的调试 单片机应用系统的调试包括硬件和软件两部分,但是它们并不能完全分开。一般的方法是排 除明显的硬件
12、故障,再进行综合调试,排除可能的软件或硬件故障。 软件调试是指用仿真软件进行仿真调试, 验证系统的各项功能; 硬件调试即软件调试成功后, 将程序下载至 AT89C51芯片中,用焊接好的电路来进行各项功能的验证与检测。 需要特别注意的是软件调试与硬件调试的差异,软件调试只是初步的估测,硬件的调试才是 最真实的。 5 总结与体会 经过三周的实习设计,我设计的时钟控制器实现了它最基本功能, 三个星期的紧张实习, 让我获益非浅, 更加熟练的掌握了 Proteus 软件、 KEIL 软件及 CAD软件的应用, 使我看到了自己 专业知识的浅薄与不足。通过本次的课程设计,我对单片机这门课程有了更深的了解,单
13、片机课 程设计则是人生课程,我学到了很多课堂上无法学到的东西,懂得了学习的不容易,在以后的学 习中我会更加努力的去学习和研究,以取得更好的成绩。 6. 附录 6.1 CAD 电路连线图如图 8。 图 8 CAD 电路连接图 6.2 PCB 电路布线图如图 9。 图 9 PCB 布线电路图(注 : 未连线的端口用外接线连接) 6.3 时钟控制器参考源程序 使用 keil 软件编写源程序 ORG 0000H LJMP START ORG 000BH LJMP TIME 初始化 定义秒 定义分 定义时 - 6 - START: MOV SP, #50H MOV 20H,#00H MOV 21H,#0
14、0H MOV 22H,#00H MOV 23H,#01H MOV 24H,#01H MOV 25H,#00H 定义闹钟分钟 ; 定义闹钟小时 MOV 26H,#01H MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H MOV 36H,#01H MOV 37H,#00H MOV 38H,#01H ;BCD SECOND ;BCD MINUTE ;BCD HOUR 按键次数 ;16 位计数器 赋初值 中断允许 启动 T0 MAIN: JB P1.4,GB LCALL TIMEPRO GB: L
15、CALL DISPLAY1 JB P1.3,M1 ;P1.3=1 LCALL SETTIME LJMP MAIN M1: JB P1.2,M2 ;P1 g.2=1 LCALL SETATIME LJMP MAIN M2: JB P1.0,M4 ;P1.0 LCALL LOOKATIME ; 调用 M4: LJMP MAIN 延时子程序 * ; 调用闹钟判断 ; 调用时间显示 时转移 S4 没有按下 调用 SETTIME调时子程序 时转移 S3 调用 SETATIME子程序 1 时转移 S1 LOOKATIME显示闹钟子程序 DL00: DL11: MOV R5,#0FFH MOV R6,#9H
16、 DL12: DJNZ R6,DL12 DELAY: MOV R4,#030H DJNZ R5,DL11 DJNZ R4,DL00 RET 时间调整 * MOV 39H,#00H MOV 50H,#00H MOV TMOD,#01H MOV TH0, #03CH MOV TL0, #0B0H MOV IE, #87H; SETB TR0; MOV R2,#14H MOV P2,#0FFH 主程序 ; 设置时间 时转移 延时 SETTIME: L0: LCALL DISPLAY1 MM1: JB P1.3,L1 ;P1.3=1 MOV C,P1.3 JC MM1 LCALL DELAY1 ; J
17、C MM1 ;P1.3 为 0 时转移 ; 延时 小时自加一 小时计数循环 复位 时转移 延时 ;P1.1 0 时转移 延时 分钟加一 分钟计数循环 复位 将 A 的低 4 位存入 32 单元 将 A 的高 4 位存入 33 单元 将 A的低 4位存入 34 单元 将 A 的高 4 位存入 35 单元 1 时转移 MSTOP1: MOV C,P1.3 JNC MSTOP1 LCALL DELAY1 MOV A,50H INC 50H CJNE A,#00H,HJ1 LJMP L0 HJ1: MOV C,P1.3 JNC MSTOP1 INC 22H ; MOV A,22H CJNE A,#18
18、H,GO12 ; MOV 22H,#00H ; MOV 34H,#00H MOV 35H,#00H LJMP L0 L1: JB P1.1,L2 ;P1.1=1 MOV C,P1.1 JC L1 LCALL DELAY1 ; JC L1 MSTOP2: MOV C,P1.1 JNC MSTOP2 LCALL DELAY1 ; MOV C,P1.1 JNC MSTOP2 INC 21H ; MOV A,21H CJNE A,#3CH,GO11 ; MOV 21H,#00H ; MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11: MOV B,#0AH DIV AB MO
19、V 32H,B; MOV 33H,A; LJMP L0 GO12: MOV B,#0AH DIV AB MOV 34H,B; MOV 35H,A; LJMP L0 L2: JB P1.0,L0 ; P1.0 MOV C,P1.0 JC L2 LCALL DELAY1 ; 延时 MOV C,P1.0 JC L2 STOP1: MOV C,P1.0 ; P1.0 0 时转移 JNC STOP1 延时 调用 DISPLAY2显示闹钟 时转移 延时 ; P1.2 0 时转移 延时 小时加一 小时计数循环 复位 1 时转移 延时 ;P1.1 0 时转移 延时 分钟加一 分钟计数循环 复位 将 A 的低
20、4 位存入 36 单元 将 A 的高 4 位存入 37 单元 LCALL DELAY1 ; MOV C,P1.0 JNC STOP1 MOV 50H,#00H LJMP MAIN ;* 设置闹钟 * SETATIME:LCALL DISPLAY2 N0: LCALL DISPLAY2 MM2: JB P1.2,N1 ;P1.2=1 MOV C,P1.2 JC MM2 LCALL DELAY1 ; JC MM2 MSTOP3: MOV C,P1.2 JNC MSTOP3 LCALL DELAY1; MOV A,50H INC 50H CJNE A,#00H,HJ2 LJMP N0 HJ2: MO
21、V C,P1.2 JNC MSTOP3 INC 24H ; MOV A,24H CJNE A,#24,GO22; MOV 24H,#00H; MOV 38H,#00H MOV 39H,#00H LJMP N0 N1: JB P1.1,N2 ;P1.1 MOV C,P1.1 JC N1 LCALL DELAY1 ; JC N1 MSTOP4: MOV C,P1.1 JNC MSTOP4 LCALL DELAY1; MOV C,P1.1 JNC MSTOP4 INC 23H ; MOV A,23H CJNE A,#60,GO21 ; MOV 23H,#00H ; MOV 36H,#00H MOV
22、37H,#00H LJMP N0 GO21: MOV B,#0AH DIV AB MOV 36H,B; MOV 37H,A; LJMP N0 GO22: MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0 N2: JB P1.0 ,N0;P1.0 MOV C,P1.0 JC N2 LCALL DELAY1 ; MOV C,P1.0 JC N2 STOP2: MOV C,P1.0 JNC STOP2 将 A 的低 4 位存入 38 单元 将 A 的高 4 位存入 39 单元 1 时转移 延时 LCALL DELAY1 MOV C,P1.0 JNC STOP
23、2 MOV 50H,#00H LJMP MAIN ;* 闹钟判断 TIMEPRO: MOV A,21H MOV B,23H CJNE A,B,BK MOV A,22H MOV B,24H CJNE A,B,BK SETB 25H.0 MOV C,25H.0 LCALL TIMEOUT ; BK:RET 判断定时闹钟的分钟 判断定时闹钟的小时 调用 TIMEOUT 调用喇叭响应程序 调用喇叭响应程序结束 延时 喇叭响应时间 喇叭报警 TIMEOUT: X1: LCALL BZ CLR 25H.0 LCALL DELAY CLR 25H.0 LJMP DISPLAY1 BZ:MOV C,25H.1
24、 MOV P1.6,C CLR P1.7 MOV R7,#0FFH T2: MOV R6,#0FFH T3: DJNZ R6,T3 DJNZ R7,T2 SETB P1.7 RET 显示闹钟时间 * LOOKATIME:LCALL DISPLAY2 MM: JNB P1.0,LOOKATIME LCALL DELAY1 LJMP MAIN DELAY1: MOV R4,#14H ; 时间延时 - 10 - DL001: MOV R5,#0FFH DL111: DJNZ R5,DL111 DJNZ R4,DL001 RET TIME: PUSH ACC 定时 保护现场 初值 PUSH PSW M
25、OV TH0,#03CH MOV TL0,#0B0H DJNZ R2,RET0 MOV R2,#14H MOV A,20H CPL 25H.1 CLR C INC A ; CJNE A,#3CH,GO1 MOV 20H,#0 ; MOV 30H,#0 MOV 31H,#0 MOV A,21H INC A ; CJNE A,#3CH,GO2 MOV 21H,#0H ; MOV 32H,#0 MOV 33H,#0 MOV A,22H INC A ; CJNE A,#18H,GO3 MOV 22H,#00H MOV 34H,#0 MOV 35H,#0 AJMP RET0 秒自加一 秒计数循环 复位
26、分钟自加一 分钟计数循环 复位 小时自加一 小时计数循环 复位 GO1: MOV 20H,A MOV B,#0AH DIV AB 将 A的低 4 位存入 31单元 将 A的高 4 位存入 30 单元 MOV 31H,A MOV 30H,B AJMP RET0 GO2: MOV 21H,A MOV B,#0AH 将 A 的低 4 位存入 33 单元 将 A 的高 4 位存入 32 单元 DIV AB MOV 33H,A MOV 32H,B AJMP RET0 GO3: MOV 22H,A MOV B,#0AH DIV AB MOV 35H,A MOV 34H,B AJMP RET0 RET0: POP PSW 将 A 的低 4 位存入 35 单元 将 A 的高 4 位存入 34 单元 恢复现场 - 11 - POP ACC RETI 显示子程序 DISPLAY1: MOV R0,#30H MOV R3,#0FEH MOV A,R3 PLAY1: MOV P2,A MOV A,R0 MOV DPTR,#DSEG1 取要显示的数据 指向字形段码首地址 MOVC A,A+DPTR CJNE R0,#34H,PA ORL A,#80H PA:CJNE R0,#32H,PB 查表取字形段码 指向 P0 口 ORL A,#80H PB:CPL A MOV P0,A LCALL DL1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年吉林水利电力职业学院单招职业适应性测试题库含答案详解(突破训练)
- 2026年吉林省长春市单招职业适应性测试题库及答案详解(有一套)
- 2026青海西宁市公物拍卖中心有限公司招聘1人笔试备考题库及答案解析
- 2026福建漳州市漳浦县赤湖第二中心幼儿园招聘1人笔试备考试题及答案解析
- 2026福建福州市中医药科学院招聘高层次人才11人笔试备考题库及答案解析
- 2026河北石家庄市井陉矿区财兴建设工程有限公司公开招聘劳务派遣人员考试备考题库及答案解析
- 2026年吉林省松原市单招职业倾向性考试题库带答案详解(巩固)
- 2026湖北武汉市武昌医院卫生专业技术岗位招聘(第一批)武汉市武昌医院2026年卫生专业技术岗位招聘(第一批)考试参考题库及答案解析
- 2026年四川托普信息技术职业学院单招综合素质考试题库有完整答案详解
- 2026年四川中医药高等专科学校单招职业适应性测试题库附答案详解(考试直接用)
- 房屋安全鉴定培训资料课件
- 学生安全员培训材料课件
- 液氧储罐安全操作规程标准版
- 资产出入库管理办法
- 水培蔬菜课件
- 金融控股公司经营管理
- 口腔修复前临床检查要点
- 果林合股协议书
- 2024-2025学年初中数学专项练习:费马点与加权费马点详细总结(含解析)
- 硬笔书法全册教案共20课时
- 开学健康教育第一课
评论
0/150
提交评论