问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求一单片机AT89C51汇编语言编程如下要求

发布网友 发布时间:2022-05-09 15:37

我来回答

3个回答

热心网友 时间:2023-10-08 16:34

汇编帮你写一个 Sec EQU 78H
MM EQU 7BH
TM BIT 00H
STOP BIT 9H
KEY_1_DL BIT 2H
KEY_2_DL BIT 3H
KEY_3_DL BIT 4H
KEY_1_ZX BIT 5H
KEY_2_ZX BIT 6H
KEY_3_ZX BIT 7H
FLG BIT 8H
KEY_4_ZX BIT 10H
KEY_4_DL BIT 11H ORG 0000H
LJMP INIT
ORG 000BH
LJMP INIT0
INIT: MOV SP,#60H ;主程序初始化
MOV TMOD,#01H ;选择定时器/计数器T0的方式1
MOV TL0,#0B0H ;对低位赋初值
MOV TH0,#03CH ;高位赋初值
SETB EA
SETB ET0
SETB TR0
SETB STOP
START1: LCALL ST LCALL KEYSCAN
SJMP START1 ST: JB STOP,TZ
SETB P3.1
CLR P3.0
SJMP OU
TZ: CLR P3.1
SETB P3.0
MOV SEC,#00H
OU: RET
INIT0: PUSH ACC
PUSH PSW
CLR ET0
CLR TR0
MOV TL0,#0B0H
MOV TH0,#03CH
SETB TR0
INC MM
MOV B,#02H
MOV A,MM
DIV AB
MOV A,B
CJNE A,#00H,OUTN
SETB TM
OUTN: MOV A,MM

CJNE A,#14H,OUTT0 ;50ms是否到20次,没有到就继续执行50ms的延时
MOV MM,#00
JB FLG,OUTT0 ; PAUSE FLAG
INC SEC
MOV A,sec
CJNE A,#3CH,OUTT0 ;一秒的延时是否计到60次,没有就继续执行
MOV sec,#00
SETB STOP
CLR FLG
OUTT0:SETB ET0 ;启动定时器T0
POP PSW
POP ACC
RETI KEYSCAN: JB TM, KEYS
SJMP KEYOUT
KEYS: CLR TM
JNB P3.2,KEYSCAN0
JNB KEY_1_ZX,KEY2S
CLR KEY_1_ZX ;P1.0有按键按下则跳转到子程序
KEY2S: JNB P1.0,KEYSCAN1
JNB KEY_2_ZX,KEY3S
CLR KEY_2_ZX ;P1.1有按键按下则跳转到子程序
KEY3S: JNB P1.1,KEYSCAN2
JNB KEY_3_ZX,KEY4S
CLR KEY_3_ZX
KEY4S: JNB P1.2,KEYSCAN4
JNB KEY_4_ZX,KEYOUT
CLR KEY_4_ZX
KEYOUT: RET KEYSCAN0: JB KEY_1_ZX,KEYOUT
JB KEY_1_DL,WAITO
SETB KEY_1_DL
SJMP KEYOUT WAITO: SETB KEY_1_ZX
SETB FLG ; 设置暂停标志
SETB STOP
SJMP KEYOUT KEYSCAN1: JB KEY_2_ZX,KEYOUT
JB KEY_2_DL,WAIT1
SETB KEY_2_DL
SJMP KEYOUT
WAIT1: SETB KEY_2_ZX SJMP KK

KEYSCAN4: JB KEY_4_ZX,KEYOUT
JB KEY_4_DL,WAIT1
SETB KEY_4_DL
SJMP KEYOUT
WAIT4: SETB KEY_4_ZX SJMP KK KEYSCAN2: JB KEY_3_ZX,KEYOUT
JB KEY_3_DL,WAIT2
SETB KEY_3_DL ;20ms的延时消抖
SJMP KEYOUT
WAIT2: SETB KEY_3_ZX ;判断是否放开按键
KK: JB FLG ,HUI
MOV SEC,#00H
CLR STOP
SJMP KEYOUT HUI: CLR FLG
CLR STOP SJMP KEYOUT
END

热心网友 时间:2023-10-08 16:34

写这样的程序,别人会要收费的!

热心网友 时间:2023-10-08 16:35

我会用C语言写,但是用汇编我还没有用过。你要是要用C写,我可以帮到你。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何用易语言实现QQ登录器的QQ号空了就出现“QQ号为空,请输入QQ号... 介绍几首最新的网络歌手唱得网络红歌呗。。谢谢啊 求推荐几首好听的歌,要和徐良风格差不多的 ...男女合唱的】最好多推荐几首,试到一首好听的 有什么蛮好听的新歌吗?网络歌手、非主流的,像汪苏泷、徐良、阿悄他们的... 关于Guitar Rig 4的两个问题,求解答。。。 右脚跟疼是什么原因引起的 男人右脚后跟筋疼的原因 右脚跟痛 我右脚跟腱痛怎么治呀,两个多月前崴了一下,找人捏了几次,但现在跟腱一... 用8086汇编语言编写的学生信息查询程序 谁给我一套汇编语言程序,masm和 link软件 如何用汇编语言设计算器? 用汇编语言讲一个文件显示在显示器上 如何运行汇编程序 编写汇编语言程序,找出所有不超过n (n<256) 的其平方具有对称性质的数(也称回文数),并显示在屏幕上 三级的pc技术考什么?汇编语言是什么?? 单片机汇编语言RETI的用法 汇编语言编写电子秒表代码 外交学院大学排名如何,为什么在北京分那么高? 外交学院算名牌大学吗? 外交学院到底好不好啊?规模那么小,既非211,更非985,怎么名气倒挺大的! 北京外交学院是211吗 211985大学名单里面有北外和外交学院大学吗 各位大神,外交学院是985还是211啊?文理科都能报考吗? 为什么大家都不建议报考外交学院? 外交学院是985大学还是211大学 外交学院是985大学还是211大学? 魔兽世界:我怎样从荒芜之地到燃烧平原。 WOW部落怎么去灼热峡谷和燃烧平原!要详细点的 求许向阳编著的《80X86汇编语言程序设计上机指南》光盘 求一个开始延时三秒后灯亮的汇编程序 hp+laptop+14s-dr3xxx键盘使用方法 怎样可以去除衣服的黄渍? 如何去除衣服上的黄渍? 衣服上的黄渍怎么去去除 微信pc端支付接口是怎么开发的?找的哪个服|务|商? 微信支付接口的开发问题? 为什么纯水牛奶会比纯牛奶甜?而且纯水牛奶都是“部分脱脂灭菌乳”,而不是“灭菌乳”? 灭菌乳是什么? gb25190是什么标准 女人的抉择全集 女人的抉择全集下载 保持灭菌乳是什么意思 QQ密保忘了怎么改密码? 我的耳机左右声道反了该怎么调整回来? 用ocam录屏软件录网课会被发现吗 《封神英雄榜》是否是对经典的传承? 封神英雄榜哪咤封的甚么神? 电视剧封神英雄榜是那个朝代的 封神英雄榜四不像为什么会是万兽之王