导航:首页 > 操作系统 > 存储器单片机99秒电路图

存储器单片机99秒电路图

发布时间:2023-03-15 07:47:17

1. 如何用单片机做一个简单的倒计时器

一般我们用定时器来做计时器,实现时间得加。每次中断发生,用一个变量自增来判断时间是否到1S,到了之后清零这个变量,另一个时间变量自增来作时间得增加。现在就是要把这个自增的时间变量改为自减,判断当小于0时,又赋初值,然后继续自减判断。

2. 帮忙解读一下51单片机99秒倒计时程序。

大概是下面这样的
ORG 00H ;复位后主程序入口
JMP START ;转移至主程序
ORG 0BH ;中断服务程序入口
JMP TIMER ,转移至中断
START: MOV TMOD,#01H ;选择定时器工作方式1
MOV TH0,#0BDH ;定时器0高8位给初始值
MOV TL0,#0C0H ;定时器0给低八位初始值
MOV IE,#82H
MOV 20H,#10 ;地址位20H的寄存器赋值
MOV 21H,#10 ;同上
MOV R7,#16 ;同上
CLR TR0
A4: MOV P2,#19H
CALL DELAY ;调用延时子程序
ANL P2,#00H ;与p2口数据进行与运算
MOV P2,#29H
CALL DELAY ;调用延时子程序
ORL P2,#00H
JB P1.0,A4
SETB TR0 ;打开定时器0
A1: MOV A,20H
MOV DPTR,#TABLE
MOVC A,@A+DPTR
ADD A,#10H
MOV P2,A
CALL DELAY
ANL P2,#00H
MOV A,21H
MOV DPTR,#TABLE
MOVC A,@A+DPTR
ADD A,#20H
MOV P2,A
CALL DELAY
ANL P2,#00H
MOV A,#01H
CJNE A,21H,A1 ;判断是否到10
MOV A,#01
CJNE A,20H,A1 ;判断是否到10
JMP START ;跳入主程序
TIMER: DJNZ R7,A2
MOV TH0,#0BDH
MOV TL0,#0C0H
MOV R7,#16
DJNZ 20H,A2
MOV 20H,#10
DJNZ 21H,A2
MOV 21H,#10
A2: RETI
DELAY: MOV R6,#248
DJNZ R6,$
RET
TABLE: DB 00H,00H,01H,02H,03H,04H ;定义表
DB 05H,06H,07H,08H,09H
END;结束

o(∩_∩)o...,给分吧

3. 编一个AT89C51单片机00 —99 秒的汇编程序,要求有循环和暂停,用两个独立数码管显示

;利用中断的99秒计时器,动态扫描两位数码管

;P0口接J3,数据端口

;P2.2接J2B端子,表示段码锁存

;P2.3接J2A端子,标志位码锁存

LATCH1BITP2.2

LATCH2BITP2.3

ORG00H

JMPSTART

ORG0BH

JMPTIM0

START:MOVR3,#00;中断循环次数

MOVR4,#0;时间初值

MOVDPTR,#TABLE

MOVSP,#40H

MOVTMOD,#01H;定时器工作方式

MOVTH0,#HIGH(65536-3800)

MOVTL0,#LOW(65536-3800);初值4MS

SETBTR0

MOVIE,#82H;开中断

TIM0:

MOVTH0,#HIGH(65536-3800)

MOVTL0,#LOW(65536-3800)

INCR3

CJNER3,#250,X1;1S

MOVR3,#0

MOVA,R4;十进制转换

MOVB,#10

DIVAB

MOV20H,B;个位

MOV21H,A;十位

INCR4

CJNER4,#100,LEDSCAN;到100则清零

MOVR4,#0

LEDSCAN:CALLSCAN;调用数码管扫描

X1:PUSHACC

PUSHPSW

CALLSCAN

POPPSW

POPACC

RETI

SCAN:

MOVA,21H

MOVCA,@A+DPTR

MOVP0,A

SETBLATCH1

CLRLATCH1

MOVP0,#11111110B;扫描子程序

SETBLATCH2

CLRLATCH2

CALLDELAY1

MOVA,20H

MOVCA,@A+DPTR

MOVP0,A

SETBLATCH1

CLRLATCH1

MOVP0,#11111101B;0代表选通该位数码管

SETBLATCH2

CLRLATCH2

CALLDELAY1

RET

DELAY:MOVR5,#50;典型延时程序

D1:MOVR6,#40

D2:MOVR7,#248

CALLSCAN

DJNZR7,$

DJNZR6,D2

DJNZR5,D1

RET

DELAY1:MOVR6,#4;扫描延时

D3:MOVR7,#248

DJNZR7,$

DJNZR6,D3

RET

TABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;共阴字码表

是用动态扫描的方法显示的,用了2个锁存器,8个数码管的。

附上电路图

阅读全文

与存储器单片机99秒电路图相关的资料

热点内容
框架结构可以加密吗 浏览:218
python编译器怎么清除 浏览:73
linux全局socks代理 浏览:611
php微信抽奖 浏览:771
压缩算法嵌入式移植 浏览:531
php新手小例子 浏览:233
按照医生的算法一周是几天 浏览:805
三次b样条曲线算法 浏览:924
java7特性 浏览:555
爱山东app小学报名怎么知道报没报上 浏览:458
android获取wifi信号 浏览:133
娜拉美妆app怎么使用 浏览:760
有了源码要买服务器吗 浏览:365
app怎么查看自己的存款利息 浏览:515
碧蓝安卓与b站有什么区别 浏览:342
php静态块 浏览:719
ftpmget命令 浏览:475
源码时代怎样 浏览:415
编译aptget 浏览:102
打开防火墙的命令 浏览:161