导航:首页 > 操作系统 > 存储器单片机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秒电路图相关的资料

热点内容
优信二手车解压后过户 浏览:61
Windows常用c编译器 浏览:778
关于改善国家网络安全的行政命令 浏览:833
安卓如何下载网易荒野pc服 浏览:654
javainetaddress 浏览:104
苹果4s固件下载完了怎么解压 浏览:1003
命令zpa 浏览:285
python编译器小程序 浏览:944
在app上看视频怎么光线调暗 浏览:540
可以中文解压的解压软件 浏览:593
安卓卸载组件应用怎么安装 浏览:913
使用面向对象编程的方式 浏览:339
程序员项目经理的年终总结范文 浏览:929
内衣的加密设计用来干嘛的 浏览:432
淮安数据加密 浏览:292
魔高一丈指标源码 浏览:982
松下php研究所 浏览:168
c回调java 浏览:399
梦幻端游长安地图互通源码 浏览:745
电脑本地文件如何上传服务器 浏览:313