版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机汇编程序电子闹钟电子闹钟课程设计摘要 : 本课程设计主要是通过单片机系统,综合运用定时器、中断、数码显示等知识设计一个可定时的电子钟。它包括系统总体方案及硬件设计,软件设计, Proteus 软件仿真等部分。硬件设计的主要任务是根据总体设计要求,以及在所选机型的基础上,确定系统扩展所要用的存储器, I/O 电路及有关外围电路等然后设计出系统的电路原理图。合理的软件结构是设计出一个性能优良的单片机应用性系统软件的基础,因此必须充分重视。编写完程序后在用Proteus 软件仿真检查设计是否合理。一课程设计的概况通过对 51 单片机的扩展,接键盘,显示器等相应的外围器件。在 LED 显示器中分
2、成静态显示和动态显示两类,在本设计中主要用了它的动态显示功能,动态显示利用了人视觉的短暂停留,在数据的传输中是一个一个传输的,且先传输低位。键盘是由若干个按键组成的开关矩阵,是一种廉价的输入设备。键盘通常包括有数字键,字母键以及一些功能键。操作人员可以通过对键盘向计算机输入数据,地址,指令或其他的控制命令,实现简单的人机对话。这里采用非编码式键盘。通过 51 单片机的 P1 口扩展出独立连接式键盘。外围扩展复位,时钟电路,利用软件源程序代码实现相应的功能。二课程设计实现的功能:1能显示时时 - 分分 - 秒秒。2. 能够设定定时时间,修改定时时间。3. 定时时间到能发出警报声或者启动继电器,从
3、而控制电器的起停。三设计方案使用是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。本系统采用单片机AT89C51作为本设计的核心元件,利用7 段共阴 LED作为显示器件。接入共阴LED显示器,可显示时,分钟,秒,单片机外围接有定时报警系统,定时时间到,扬声器发出报警声,提示预先设定时间电器的起停时间到,从而控制电器的起停。电路由下列部分组成:时钟电路、复位电路、控制电路、LED显示,报警电路,芯片选用AT89C51 单片机。系统框图:报警器AT89C51数码显示四硬件设计1. 单片机 AT89C51键盘电路时钟电路AT89C51是一
4、个低电压,高性能 CMOS型 8 位单片机,片内含 4KB的可反复擦写的 Flash 只读程序存储器( ROM)和 128 B 的随机存取数据存储器( RAM),器件采用 ATMEL公司的高密度、非易失性存储技术生产,兼容标准 MCS-51指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,内置功能强大的微型计算机的 AT89C51提供了高性价比的解决方案。引脚使用说明:I/O 端口的编程实际上就是根据应用电路的具体功能和要求对I/O 寄存器进行编程。具体步骤如下:l) 根据实际电路的要求,选择要使用哪些 I/O 端口。2) 初始化端口的数据输出寄存器,应避免端口作为输出时的开始阶
5、段出现不确定状态,影响外围电路正常工作。3) 根据外围电路功能, 确定 FO端口的方向,初始化端口的数据方向寄存器。对于用作输入的端口可以不考虑方向初始化,因为FO的复位缺省值为输入。4) 用作输入的 FO管脚,如需上拉,再通过输入上拉使能寄存器为其内部配置上拉电阻。5) 最后对 I/O 端口进行输出 ( 写数据输出寄存器 ) 和输入 ( 读端口 ) 编程,完成对外围电路的相应功能。几个特殊管脚:XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平。2. 时钟电路单片机的时钟产生方
6、法有两种 : 内部时钟方式和外部时钟方式。本系统中AT89C51单片机采用内部时钟方式。 最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。振荡晶体可在 1.2MHz 12MHz之间。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF100pF 之间取值。时钟电路图如下:3. 数码管显示电路单片机中通常使用7段 LED,LED是发光二极管显示器的缩写。LED显示器由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。LED显示器是由若干个发光二极管组成显示字
7、段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。LED显示器有多种形式,在单片机系统中使用最多的是七段数码显示器。LED七段数码显示器由8个发光二极管组成显示字符,根据内部发光二极管的连接形式不同, LED有共阴极和共阳极两种,如下图所示引脚和其内部结构:五软件设计1. 设计流程图开初始判断闹钟时间到否调用显示程序P1.1是否Y调用时间设NNP1.2Y调用闹钟时间设定2. 程序模块 ORG 0000H LJMP MAIN ORG 000BHLJMP TIME/主程序部分ORG 0100HMAIN:MOV SP,#50HMOV 20H,
8、#00H;秒钟BIN21H,#00H; 分 钟MOVBIN22H,#00H; 小 时MOVBINMOV 23H,#01HMOV 24H,#01HMOV 25H,#00HMOV 30H,#00HMOV 31H,#00HMOV 32H,#00HMOV 33H,#00HMOV 34H,#00HMOV 35H,#00HMOV 36H,#01HMOV 37H,#00HMOV 38H,#01HMOV 39H,#00HMOV TMOD,#01H MOV TH0,#03CH;16;位计数器赋计数初值MOV TL0,#0B0HMOV IE,#10000111BSETB TR0;T0启动计数MOV R2,#14H
9、MOV P2,#0FFHLOOP: LCALL TIMEPROLCALL DISPLAY1JB P1.1,M1;LCALL SETTIME调用设定时间程序LJMP LOOPM1:JB P1.2,M2LCALL SETATIME ;调用设定时间程序LJMP LOOPM2:JB P1.4,M4调用设定闹LCALL LOOKATIME ;钟时间程序M4:LJMP LOOP;DELAY:MOV R4,#030H延时时间DL00:MOV R5,#0FFHDL11:MOV R6,#9HDL12:DJNZ R6,DL12DJNZ R5,DL11DJNZ R4,DL00RET/ 设定时间程序SETTIME:L
10、0:LCALL DISPLAY1;调用时间允许程序MM1: JB P1.2,L1MOV C,P1.2JC MM1;LCALL DELAY1调用延时JC MM1MSTOP1: MOV C,P1.2JNC MSTOP1;判断P1.2 是否释放?释放则继续;LCALL DELAY1调用延时MOV C,P1.2JNC MSTOP1;INC 22H小时增加 1MOV A,22HCJNE A,#18H,GO12;判断小时是否到 24 时?未到继续循环MOV 22H,#00H;小时复位MOV 34H,#00HMOV 35H,#00HLJMP L0L1:JB P1.3,L2MOV C,P1.3JC L1;LC
11、ALL DELAY1延时JC L1MSTOP2: MOV C,P1.3;JNC MSTOP2判断 P1.3 是否释放?释放则继续LCALL DELAY1;调用延时MOV C,P1.3JNC MSTOP2;INC 21H分钟增加一MOV A,21HCJNE A,#3CH,GO11MOV 21H,#00H;分钟复位MOV 32H,#00HMOV 33H,#00HLJMP L0GO11:MOVB,#0AH;将 A中的内容分成高低两部分DIVABMOV32H,BMOV33H,ALJMPL0GO12:MOVB,#0AHDIVABMOV34H,BMOV35H,ALJMPL0L2:JB P1.4,L0MOV
12、 C,P1.4JC L2;调用延LCALL DELAY1时MOV C,P1.4JC L2;STOP1: MOV C,P1.4判断按键 P1.4 是否释放?JNC STOP1;LCALL DELAY1调用延时/ 设置闹钟时间SETATIME:LCALL DISPLAY2;调用时间运行N0:LCALL DISPLAY2;MM2:JB P1.3,N1判断P1.3 是否按下?MOV C,P1.3JC MM2LCALL DELAY1JC MM2;MSTOP3: MOV C,P1.3判断P1.3 是否释放?JNC MSTOP3LCALL DELAY1MOV C,P1.3JNC MSTOP3;INC 24H
13、设定小时增加 1MOV A,24HCJNE A,#24,GO22MOV 24H,#00H;时钟复位MOV 38H,#00HMOV 39H,#00HLJMP N0;N1:JB P1.1,N2判断P1.1 是否按下?MOV C,P1.1JC N1LCALL DELAY1JC N1;MSTOP4: MOV C,P1.1判断P1.1 是否释放?JNC MSTOP4LCALL DELAY1MOV C,P1.1JNC MSTOP4;INC 23H设定闹钟分钟增加 1MOV A,23H判断 ACJNEA,#60,GO21;是否到 60 分?;MOV 23H,#00H分钟复位MOV 36H,#00HMOV 3
14、7H,#00HLJMP N0将 A 中GO21:MOV B,#0AH;的内容分成高低两部分DIVABMOV36H,BMOV37H,ALJMPN0GO22:MOV B,#0AHDIVABMOV38H,BMOV39H,ALJMPN0N2:JBP1.4 ,N0;判断P1.4 是否按下?MOV C,P1.4JC N2LCALL DELAY1MOV C,P1.4JC N2;STOP2: MOV C,P1.4判断P1.4 是否释放?JNC STOP2LCALL DELAY1MOV C,P1.4JNC STOP2LJMP LOOPTIMEPRO:MOV A,21HMOV B,23H;CJNE A,B,BK判
15、断分钟是否运行到设定的闹钟的分钟?MOV A,22HMOV B,24HCJNE A,B,BK;判断时钟是否运行到设定的闹钟的时钟?SETB 25H.0MOV C,25H.0JC XX;XX: LCALL TIMEOUT调用时间闹钟响应程序BK:RETTIMEOUT:X1:LCALL BZ;调用喇叭响应程序LCALL DISPLAY2CLR 25H.0;判断 P1.4JB P1.4, X1是否按下?LCALL DELAYCLR 25H.0LJMP DISPLAY1;BZ: CLR P3.7喇叭响应程序;MOV R7,#250响应延时时间T2: MOV R6,#124T3: DJNZ R6,T3D
16、JNZ R7,T2SETB P3.7RET;LOOKATIME:LCALL DISPLAY2调用时间运行程序;MM:JB P1.4,LOOKATIME判断按键 P1.4是否按下MOV C,P1.4JC MMLCALL DELAY1MOV C,P1.4JC MMSTOP3: MOV C,P1.4JNC STOP3LCALL DELAY1MOV C,P1.4JNC STOP3LJMP LOOP;DELAY1: MOV R4,#14H时间延时DL001: MOV R5,#0FFHDL111: DJNZ R5,DL111DJNZ R4,DL001/RET延时时间;DL1: MOV R7,#02H延时时
17、间DL:MOVR6,#0200HDL6: DJNZR6,$DJNZR7,DLRETDSEG1:DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHEND六系统仿真1. 操作过程首先将几个按键从上往下为k1,k2,k3,k4。k1与p1.4相连, k2与p1.3相连 ,k3与p1.3相连, k4 与p1.1相连。当需要设定当前时间时,按一下k4键,进入时间设定状态,按一下k2,分加 1;按一下 k3,小时加 1。如此反复来设定当前时间。调好时间后按k1 退出当前时间设定状态。当要设定定时时间时,按下k3,进入定时时间设定状态,按一下k2, 小时加 1;按一下
18、k4,分钟加 1。如此反复来设定要设定的定时时间。设好后,按下 k1 退出定时时间设定状态。2. 系统总体电路图GNDLS1SPEAKERR3R2R1R410k10k10k10kVCCGNDU117P3.7/RDP1.78167P3.6/WRP1.6156P3.5/T1P1.5145P3.4/T0P1.4134P3.3/INT1P1.3123P3.2/INT0P1.2112P3.1/TXDP1.1101P3.0/RXDP1.028P2.7/A1527P2.6/A142631P2.5/A13EA2530P2.4/A12ALE2429P2.3/A11PSEN23P2.2/A1022P2.1/A921P2.0/A832P0.7/AD7RST9C13334P0.6/AD6P0.5/AD535P0.4/AD4361847pP0.3/AD3XTAL237X1DP0.2/AD2N38P0.1/AD1CRYSTALG39XTAL119C2P0.0/AD0AT89C5147p987654321VCCRP1RESPACK-8六体会与总结在做课程设计的过程中,我进一步认识到全面专业的科学知识以及逻辑思考方式对研究问题的重要性,同时我也更加具体的掌握了课程设计的基本方法。经过不断的的努力,我终于完成了这次课程设计,总的来说,我学到了不少的东西,知道了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 包车线上合同范本
- 机器客户合同范本
- 死亡工伤合同范本
- 公路与房屋租赁合同范本
- 配方加盟合同范本
- 房地产招标代理合同范本
- 影楼服务合同范本
- 返聘合同范本
- 超市转让合同范本
- 关于售后合同范本
- 江西省南昌市民德学校2023-2024学年八年级上学期期中数学试题
- 国际金融(英文版)智慧树知到期末考试答案2024年
- 2024年《药物临床试验质量管理规范》(GCP)网络培训题库
- 辽宁省名校联盟2024届高三下学期3月份联合考试化学
- 2023年度学校食堂每月食品安全调度会议纪要
- 建筑门窗、幕墙安装工人安全技术操作规程
- 糖尿病高渗性昏迷护理查房
- 教学能力比赛-教学实施报告(中职公共基础-英语)
- 绿色高效百万吨级乙烯成套技术开发及工业应用-研究报告
- 逐梦青春志在四方规划启航职引未来
- 项目部单机油耗分析报告
评论
0/150
提交评论