单片机汇编程序电子闹钟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子闹钟课程设计
摘要:本课程设计主要就是通过单片机系统,综合运用定时器、中断、数码显示等知识设计一个可定时得电子钟.它包括系统总体方案及硬件设计,软件设计,Proteus软件仿真等部分。
硬件设计得主要任务就是根据总体设计要求,以及在所选机型得基础上,确定系统扩展所要用得存储器,I/O电路及有关外围电路等然后设计出系统得电路原理图。
合理得软件结构就是设计出一个性能优良得单片机应用性系统软件得基础,因此必须充分重视.编写完程序后在用Proteus软件仿真检查设计就是否合理. 一。课程设计得概况
通过对51单片机得扩展,接键盘,显示器等相应得外围器件。在LED显
示器中分成静态显示与动态显示两类,在本设计中主要用了它得动态显示功能,动态显示利用了人视觉得短暂停留,在数据得传输中就是一个一个传输得,且先传输低位。键盘就是由若干个按键组成得开关矩阵,就是一种廉价得输入设备。键盘通常包括有数字键,字母键以及一些功能键。操作人员可以通过对键盘向计算机输入数据,地址,指令或其她得控制命令,实现简单得人机对话。这里采用非编码式键盘。通过51单片机得P1口扩展出独立连接式键盘。外围扩展复位,时钟电路,利用软件源程序代码实现相应得功能。
二.课程设计实现得功能:
1。能显示时时-分分-秒秒。
2、能够设定定时时间,修改定时时间。
3、定时时间到能发出警报声或者启动继电器,从而控制电器得起停.
三。设计方案ﻩ
使用就是单片机作为核心得控制元件,使得电路得可靠性比较高,功能也比较强大,而且可以随时得更新系统,进行不同状态得组合.
本系统采用单片机AT89C51作为本设计得核心元件,利用7段共阴LED作为显示器件。接入共阴LED显示器,可显示时,分钟,秒,单片机外围接有定时报警系统,定时时间到,扬声器发出报警声,提示预先设定时间电器得起停时间到,从而控制电器得起停。
电路由下列部分组成:时钟电路、复位电路、控制电路、LED显示,
报警电路,芯片选用AT 89C51 单片机。
系统框图: 四.硬件设计
1、单片机AT89C51
AT89C51就是一个低电压,高性能CMOS 型 8位单片机,片内含4KB 得可反复擦写得Flash 只读程序存储器(ROM )与128 B 得随机存取数据存储器(RAM ),器件采用ATME L公司得高密度、非易失性存储技术生产,兼容标准MCS —51,内
置功能强
大得
微型高性价
I O 端口
得编实际上就就
根据应
用电路得具体功能与要求对I/O 寄存器进行编程。具体步骤如下:
l)根据实际电路得要求,选择要使用哪些I/O 端口.
2)初始化端口得数据输出寄存器,应避免端口作为输出时得开始阶段出现不确定状态,影响外围电路正常工作.
3)根据外围电路功能,确定FO 端口得方向,初始化端口得数据方向寄存器。对于用作输入得端口可以不考虑方向初始化,因为FO 得复位缺省值为输入。
4)用作输入得FO 管脚,如需上拉,再通过输入上拉使能寄存器为其内部配置上拉电阻.
5)最后对I /O端口进行输出(写数据输出寄存器)与输入(读端口)编程,完成对外围电路得相应功能.
几个特殊管脚:
X TAL1:反向振荡放大器得输入及内部时钟工作电路得输入。 XT AL2:来自反向振荡器得输出。
RST:复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期得高电平.
2、时钟电路
单片机得时钟产生方法有两种:内部时钟方式与外部时钟方式。本系统中AT89C51单片机采用内部时钟方式。最常用得内部时钟方式就是采用外接晶体与电容组成得并联谐振回路.振荡晶体可在1、2MHz ~12MHz 之间。电容值无严格要求,但电容取值对振荡频率输出得稳定性、大小与振荡电路起振速度有少许影响,一般可在20p F~100p F之间取值。时钟电路图如下:
3、数码管显示电路
单片机中通常使用7段LED,L ED 就是发光二极管显示器得缩写。LED 显示
器由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响
应速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用.LED 显示器就是由若干个发光二极管组成显示字段得显示部件,当发光二极管导通时,相应
得一个点或一个笔划发光,控制不同组合得二极管导通,就能显示出各种字符。L ED 显示器有多种形式,在单片机系统中使用最多得就是七段数码显示器。 LED 七段数码显示器由8个发光二极管组成显示字符,根据内部发光二极管得连接形式不同,LED 有共阴极与共阳极两种,如下图所示引脚与其内部结构:
五。软件设计 1、设计流程图
AT89C51XTAL2XTAL1JZ 12M
C130PF
C230PF AT89C51
XTAL2
XTAL1
JZ 12M
C130PF C230PF
AT89C51XTAL2
XTAL1JZ 12M C1
30P F C230P F
2、程序模块ORG0000H
ﻩLJMP MAIN
ﻩORG 000BH
LJMP TIME
//主程序部分
ORG0100H
MAIN:MOV SP,#50H
MOV20H,#00H ;秒钟BIN
MOV 21H,#00H ;分钟BIN
MOV22H,#00H ;小时BIN
MOV23H,#01H
MOV24H,#01H
MOV 25H,#00H
MOV30H,#00H
ﻩMOV 31H,#00H
MOV32H,#00H
ﻩMOV 33H,#00H
MOV 34H,#00H
ﻩMOV35H,#00H
MOV36H,#01H
ﻩMOV 37H,#00H
ﻩMOV 38H,#01H
ﻩMOV 39H,#00H
MOVTMOD,#01H;16位计数器
MOV TH0,#03CH ;赋计数初值
ﻩMOV TL0,#0B0H
MOV IE,#10000111B
ﻩSETBTR0 ;T0启动计数
MOVR2,#14H
MOVP2,#0FFH
LOOP:LCALL TIMEPRO
ﻩLCALL DISPLAY1
JB P1、1,M1
LCALL SETTIME ;调用设定时间程序
LJMP LOOP
M1:JBP1、2,M2
ﻩLCALL SETATIME ;调用设定时间程序
ﻩLJMPLOOP
ﻩM2:JB P1、4,M4
LCALL LOOKATIME ;调用设定闹钟时间程序
M4:LJMP LOOP
DELAY:MOVR4,#030H ;延时时间
DL00:MOVR5,#0FFH
DL11:MOV R6,#9H
DL12:DJNZR6,DL12
DJNZR5,DL11
ﻩDJNZR4,DL00