网站大量收购独家精品文档,联系QQ:2885784924

单片机控制的-定时报警器--数码管显示.docVIP

单片机控制的-定时报警器--数码管显示.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

蜂鸣器报警数码管显示

倒数计时器

学号:

班级:电信1302

姓名:杨五鹏

分数:

设计内容:利用89C51单片机结合LED数码管设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。

一流程图:

二程序:

ORG 0000H

LJMP START

org 0003h

ljmp int0p

ORG 000BH ;子程序中断入口

lJMP IPT0 ;转子程序

a_bit equ20h

b_bit equ21h

time equ30h

temp equ31h

flag equ32h

cout equ33h

ORG 0100H

;程序初始化

START:mov time,#0 ;初始化时间为0

mov flag,#0 ;初始为设定状态

clr p1.7 ;LED灭,表示设置状态

MOV TMOD,#01H ;设置T0为方式1

MOV TH0,#0D8H ;T0赋初值(D8F0)16=(55536)10

MOVTL0,#0F0H ;

setb it0 ;int0下降沿触发

SETB EX0 ;外部中断int0允许

setbea ;开CPU中断

clr p3.7

DISPLAY: ;主程序为数码管扫描显示程序

MOV A,time

mov b,#10

div ab

mov a_bit,a

mov b_bit,b

mov a,a_bit

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P0,A

clr p0.7

acall delay10ms

setb p0.7

mov a,b_bit

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P0,A

clr p2.0

acall delay10ms

setb p2.0

sjmpDISPLAY

int0p: PUSH Acc

PUSH PSW

set1:

jnb p1.0,chg ;button1未按下,不用切换切换状态,按下跳转

mov a,flag

cjne a,#0,run1 ;判断当前状态,若为1则跳转至工作状态处理

clr p1.7

clr tr0

jb p1.2,s1 ;判断是否为button2按下

inc time;时间+1min

sjmp r02

s1:

mov a,time

jz r02

dec time

sjmp r02

chg: mov a,time

jz r02

djnz flag,c2

mov time,#0

mov flag,#0

clr p1.7

clr tr0

sjmp r02

c2: mov flag,#1

run1: setb p1.7 ;点亮led表示工作状态

jb p1.2,r01 ;若为button2按下,启动计时,不是则跳转判断button3

mov cout,#100

mov temp,#30 ;延时1分钟

SETBTR0 ;启动T0

SETBET0 ;允许T0中断

sjmp r02

;计时结束处理

r01: jb p1.4,r02 ;若为button3按下,停止计时

clr tr0

r02:

POPPSW

POPACC

reti

;计时中断子程序

IPT0: MOVTH0,#0D8H ;T0中断服务子程序,T0置初值

MOVTL0,#0F0H

DJNZcout,IEXIT ;cout自减一,判断是否为零,非零跳转IEX

文档评论(0)

199****8042 + 关注
实名认证
文档贡献者

相信自己,相信明天

1亿VIP精品文档

相关文档