导航:首页 > 操作系统 > 单片机计数汇编

单片机计数汇编

发布时间:2022-12-15 04:11:32

‘壹’ 8051单片机编程序请教

你的第二次修改,还有一处不足:
……
;CLR C
MOV DPTR,#TABLE
LOOP:
CLR A ;这里少了一句,下面每次读出的,
;就不知道是什么了
MOVC A,@A+DPTR
JNZ CONT_P
INC R2
SJMP NEXT
……

可以正常计数的程序如下。
;=========================================
ORG 0H
MOV A,#00H
MOV R2,A
MOV R3,A
MOV R4,A
MOV R6,A
MOV R5,#40
;CLR C
MOV DPTR,#TABLE
LOOP:
CLR A
MOVC A,@A+DPTR
JNZ CONT_P
; CJNE A,#00H,CONT_P
INC R2
SJMP NEXT
CONT_P:
JB ACC.7, CONT_N
INC R3
SJMP NEXT
CONT_N:
INC R4
NEXT:
INC DPTR
DJNZ R5, LOOP
MOV P0,R4
SJMP $
; 实际个数 保存单元 统计个数
;零个数 14 R2 21
;正数个数 19 R3 19
;负数个数: 7 R4 0
;其实是零和负数没有分开统计,请高手指教一下,谢谢!

ORG 400H
TABLE:
DB 01H, 15H, 22H,0FFH, 00H, 02H, 09H,0F9H, 00H, 00H
DB 01H, 15H, 22H,0FFH, 00H, 02H, 09H,0F9H, 00H, 00H
DB 01H, 15H, 22H,0FFH, 00H, 02H, 09H,0F9H, 00H, 00H
DB 02H, 05H, 00H,0FFH, 26H, 34H, 00H, 00H, 00H, 00H
END

‘贰’ 实现0到99通过单片机内部的定时计数器完成计数功能的汇编程序

SECOND EQU 30H
COUNT EQU 31H
ORG 00H
LJMP START
ORG 0BH ;定时器0中断入口
LJMP INT_T0
START: MOV SECOND,#00H
MOV COUNT,#00H
MOV DPTR,#TABLE ;段码表首地址
MOV P0,#3FH ;数码管显示初始化
MOV P2,#3FH
MOV TMOD,#01H ;设置定时器0工作方式
MOV TH0,#(65536-50000)/256 ;定时50毫秒
MOV TL0,#(65536-50000) MOD 256
SETB TR0 ;启动定时/计数器0
MOV IE,#82H ;开中断
LJMP $ ;等待中断
INT_T0: MOV TH0,#(65536-50000)/256 ;定时50毫秒
MOV TL0,#(65536-50000) MOD 256
INC COUNT ;计数值加1
MOV A,COUNT
CJNE A,#20,I2 ;是否计够1秒
MOV COUNT,#00H
INC SECOND
MOV A,SECOND
CJNE A,#60,I1 ;是否计够60秒
MOV SECOND,#00H
I1: MOV A,SECOND
MOV B,#10
DIV AB ;分离计数值十位和个位
MOVC A,@A+DPTR
MOV P0,A
MOV A,B
MOVC A,@A+DPTR
MOV P2,A ;显示计数值
I2: RETI ;中断返回
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
END

‘叁’ 单片机实现60秒计时器 用汇编语言

这是你学校的实验仪吗?这原理图不全,没有开关电路,两个74374的选片电路也没有,这写不了程序的。

‘肆’ MCS-51单片机,利用定时计数器设计一个程序,汇编语言,最好有注释,很简单的就可以

ORG
0000H
JMP
BEGIN
ORG
0030H
TABLE:
;
共阴极数码管显示代码表
DB
3FH,06H,5BH,4FH,66H
;01234
DB
6DH,7DH,07H,7FH,6fh
;56789
DELAY:
MOV
R5,#20
LOOP4:
MOV
R6,#50H
;延时20X20ms
LOOP5:
MOV
R7,#100
DJNZ
R7,$
DJNZ
R6,LOOP5
DJNZ
R5,LOOP4
RET
;---------------------------------------
BEGIN:
MOV
P2,#0FFH
;P2口置高电平,准备接收信号
MOV
R4,#0
MOV
A,R4
;R4位标志值送A寄存器
AGAIN:
MOV
DPTR,#TABLE
MOVC
A,@A+DPTR
MOV
P1,A
LOOP1:
MOV
A,P3
;
接收p3口的抢答信号
CPL
A
JZ
LOOP1
LOOP2:
RRC
A
;有人抢答信号则逐次移动判断哪一位抢答
INC
R4
JNC
LOOP2
;********************
MOV
A,R4
MOVC
A,@A+DPTR
;找到相应位显示代码
MOV
P1,A
LEDDIS:
MOV
A,#0FFH
CLR
C
LEDDIS1:
RLC
A
DJNZ
R4,LEDDIS1
MOV
P0,A
LOOP3:
JNB
P2.2,BEGIN
;若主持人按下复位信号键,则转向主程序
CPL
P2.0
;若没按复位信号键,则通过p2.2口给出高低信号驱动蜂鸣器
LCALL
DELAY
;调用延时子程序
SJMP
LOOP3
;p2.2口反复间隔0.4s变化,驱动蜂鸣器
END

‘伍’ 51单片机按键计数问题求助,汇编

假设晶振频率12MHz,P2.5控制蜂鸣器
ORG 0000H
LJMP START
ORG 000BH;T0中断
LJMP T0INT;
START:
MOV SP,#80H ;初始堆栈值
MOV TMOD,#01H ;定时器0工作于方式1
MOV TH0,#0FEH ;定时器0定时时间=500uS
MOV TL0,#00CH ;设置定时初值
SETB ET0 ;使能定时器0中断
SETB EA ;开总中断
SETB P2.5

MOV R1,#0
DISP:
MOV A,R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
K_1:
JB P3.0,K_1
CALL DELAY
JB P3.0,K_1
INC R1
JNB P3.0,$
CJNE R1,#10,DISP
MOV R1,#0

MOV YSJS1,#0
MOV YSJS2,#10
SETB TR0;定时器0启动

SJMP DISP
DELAY:
MOV R6,#20
L1:
MOV R7,#248
DJNZ R7,$
DJNZ R6,L1
RET
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

;定时器0中断服务程序
T0INT: MOV TH0,#0FEH ;定时器0定时时间=500uS
MOV TL0,#00CH ;设置定时初值
CPL P2.5 ;驱动蜂鸣器
DJNZ YSJS1,QT0 ;
DJNZ YSJS2,QT0 ;鸣响1.28秒
CLR TR0 ;
SETB P2.5
QT0: RETI ;

YSJS1 EQU 30H ;
YSJS2 EQU 31H ;

END

‘陆’ 单片机计数器计数怎么用汇编实现

ORG 0000H
LJMP MAIN
ORG 000BH
LJMP T0ISR
ORG 0030H
MAIN:
MOV TMOD,#06H
MOV TH0,#0FFH
MOV TL0,#0FFH
SETB TR0
SETB ET0
SETB EA
CLR A
SJMP $
T0ISR:
INC A
MOV P0,A
RETI
END

‘柒’ 怎样用汇编语言实现单片机的可逆计数功能呢并将其用led显示谢谢

是51核的单片机不?
如果是51的话,使用DEC指令就可以实现连减功能。每执行一次DEC指令。就会将操作的数值减一。
显示的话,要分情况的。数码管的驱动方式分好几种。常用的是共阳极数码管扫描显示。还有共阴极扫描。还有共阳极静态显示和共阴极静态显示。所以,显示这个不太好弄。

程序倒不是很难。不过需要弄清楚数码管的连接。

‘捌’ 52单片机实现两位数按键计数,汇编语言

又有按键又有数码管,即应该先画仿真图或原理图,确定硬件连接关系后才能写程序。如果是实物开发板,就更应该给出原理图,否则,写出来的程序与开发板不符,那程序也没用。可以用仿真图来调试程序。

‘玖’ 用汇编语言写一个单片机定时器/计数器的程序

1.以查询方式工作,每计满100个脉冲,则取反P1.0口线状态。


ORG0000H
MOVTMOD,#06H
MOVTH0,#156
MOVTL0,#156
SETBTR0
LP:JNBTF0,LP
CPLP1.0
SJMPLP

END


2.以中断方式工作,每计满200个脉冲,则取反P1.0口线状态。


ORG0000H
SJMPSTART
ORG000BH
CPLP1.0
RETI
START:
MOVTMOD,#06H
MOVTH0,#56
MOVTL0,#56
SETBTR0
MOVIE,#82H
SJMP$

END

‘拾’ at89c51单片机计数器的使用,汇编语言,

P1,当做按键输入,低电平有效;
P0,计数输出,低电平发光。

KEYSTA EQU P1.0
KEYADD EQU P1.1
KEYSUB EQU P1.2

ORG 0000H
JMP MAIN
ORG 0030H
MAIN:
MOV R2, #255
LOOP:
MOV P0, R2
JB KEYSTA, LOOP1
CALL DELAY
JB KEYSTA, LOOP1
JNB KEYSTA, $
CPL F0
SJMP LOOP

LOOP1:
JNB F0, LOOP2
JB KEYADD, LOOP2
CALL DELAY
JB KEYADD, LOOP2
JNB KEYADD, $
DEC R2
SJMP LOOP

LOOP2:
JNB F0, LOOP
JB KEYSUB, LOOP
CALL DELAY
JB KEYSUB, LOOP
JNB KEYSUB, $
INC R2
SJMP LOOP

DELAY:
MOV R6, #20
DJNZ R7, $
DJNZ R6, $ - 2
RET
END

试验成功。

阅读全文

与单片机计数汇编相关的资料

热点内容
对外汉语pdf 浏览:514
如何用mamp本地web服务器 浏览:869
如何加密自己js代码 浏览:623
排列组合a与c的算法 浏览:534
如何在文件夹中找到同名内容 浏览:786
有什么app文字转韩文配音 浏览:372
循环宏1命令 浏览:35
斐波那契数列矩阵算法 浏览:674
公式保护后加密不了 浏览:82
java跳转到jsp 浏览:819
327平方根算法 浏览:216
win7美化命令行终端 浏览:797
免加密狗图片 浏览:485
一只透明的鸟是什么app 浏览:817
空气压缩机油批发商 浏览:69
linuxifexist 浏览:4
加密tf卡拷入文件 浏览:399
山西php工资 浏览:673
福州看病预约用什么小程序app 浏览:238
php保留两位小数不四舍五入 浏览:292