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

这个单片机汇编程序应怎么写。100分6

发布网友 发布时间:2023-10-22 21:38

我来回答

5个回答

热心网友 时间:2024-10-21 08:47

这位仁兄,我是下了狠心的要把你这个分数赚到呀,要给我哦,嘿嘿最好给我再加点分哦。为了让你能够清楚的理解整个程序,故每一段都主要注释,以下是是一个完整的程序。在下面就是延时程序那儿,用了入栈和出栈程序,要注意一下哦,对于入栈和出栈我们要记得,先进后出,后进先出的顺序,所以在那儿的他们的位置可不能换哦

ORG 2000H //设置入口地址
LJMP MAIN
MAIN: JNB P1.0, MAIN //P1.0等于0开始跳转,即这句话就是等待P1.0输入高电平
SETB P1.2 //输出高电平
JNB P1.2, $ //P1.2等于0开始跳转,即这句话就是等待P1.2输入高电平
SETB P1.3 //输出高电平
SETB P1.4 //输出高电平
ACALL DELAY1S //延时1s
SETB P1.5 //输出高电平
ACALL DELAY0.5S //延时0.5s
JNB P1.6, $ //等待输入第一次输入高电平
CLR P1.6
JNB P1.6, $ //等待输入第二次输入高电平
CLR P1.3 //输出低电平
CLR P1.4 //输出低电平
CLR P1.5 //输出低电平
//判断P1.7是否输入高电平,如果不是就此等待,直到输入高电平
JNB P1.7,$
//将所有P1口输入低电平
CLR P1.7 //输出低电平
CLR P1.0 //输出低电平
CLR P1.1 //输出低电平
CLR P1.2 //输出低电平
CLR P1.6 //输出低电平
//以下三个端口的输出低电平程序可以不要,因为在上面已经把它值为低电平
CLR P1.3 //输出低电平
CLR P1.4 //输出低电平
CLR P1.5 //输出低电平

/*设置的延时1s的子函数*/
DELAY1S: PUSH R0 //入栈
PUSH R1
PUSH R5
CLR PSW.3 //工作寄存器设置
CLR PSW.4
MOV R5,#20
L0: MOV RO,#200
L1: MOV R1,#125 //设置处置
L2: DJNZ R1,L2
L3: DJNZ R0,L1 //判断
DJNZ R5,L0
POP R5
POP R1 //出栈
POP R0
RET //返回

/*设置的延时0.5s的子函数*/
DELAY0.5S: PUSH R2 //入栈
PUSH R3
PUSH R6
SETB PSW.3 //工作寄存器设置
CLR PSW.4
MOV R6,#10
L0: MOV R2,#200 //设置处置
L1: MOV R3,#125
L2: DJNZ R3,L2
L3: DJNZ R2,L1 //判断
DJNZ R6,L0
POP R6
POP R3 //出栈
POP R2
RET //返回
END

啊,总于写完了呀,希望对你有帮助!

热心网友 时间:2024-10-21 08:47

朋友,我告诉你,其实没有必要学汇编,尤其是刚开始学习的时候,学习汇编会打击你的信心,这是目前至少我认为没有必要一开始就学习汇编,你完全可以先学习C语言,简单,容易上手,等你入门了,如果将来项目有要求,你再学习汇编,也是可以的。我简单写一下用C语言来实现你的功能,你会觉得很简单。
sbit P10= P1^0;//这是定义单片机引脚,以下同样
sbit P11= P1^1;
sbit P12= P1^2;
sbit P13= P1^3;
sbit P14= P1^4;
sbit P15= P1^5;
sbit P16= P1^6;
sbit P17= P1^7;

void main()
{
P1=0x00;//P1为低;

while(P10==1);//等待P10输入为高
P10==1;//P10为高
P11==1;//P11为高
P12=1;//P12输出为高
P13=1;//P13输出为高
P14=1;//P14输出为高
DELAY(1);//这里的函数没有写,表示一下意思,延时1S
P15=1;//P15输出为高
DELAY(0.5);//这里的函数没有写,表示一下意思,延时0.5S
while( P16==1 );
P16=0;//P10输出为低
while( P16==1 );//再次等待P16输入为高,就是两次为高
P13=0;//P13输出为低
P14=0;//P14输出为低
P15=0;//P15输出为低
while( P17==1 );//等待P17输入为高
P1=0;//P1口全部为0
while(1);//死循环,防止程序跑飞

}

是否是简单?先学习C语言吧!

热心网友 时间:2024-10-21 08:48

C语言,远不如汇编语言简单和直观。
编写大程序,C语言才有优越性。

C语言,如果以前就会,那就可以 以C语言为起点,来学习单片机。
否则,先学C语言,不仅是走弯路,还会严重挫伤学习单片机的积极性。

热心网友 时间:2024-10-21 08:49

第一步,P1。0输入高电平后,-P1。2输出高电平,且保持,
--------------------------------------------------------我感觉这里的p1.2,应该是p1.1
-----------------------------------------------------
jnb p1.0,$
setb p1.1
然后等P1。2入高电平时,P1。3、P1。4输出高电平保持。
jnb p1.2,$
setb p1.3
setb p1.4

延时1S后,P1。5输出高电平保持。再延时0。5S后等待P1。6输入高电平2次。
lcall delay1000ms
setb p1.5
lcall delay500ms
jnb p1.6,$
jb p1.6,$
jnb p1.6,$

P1。6输入高电平两次以后P1。3P1。4P1。5输出低电平,P1。0P1。1还是保持高电平不变。
clr p1.3
clr p1.4
clr p1.5
当P1。7输入高电平时P1口所有输出都为低电平。
jnb p1.7,$
mov p1,#0

热心网友 时间:2024-10-21 08:49

如果你看了好久的书连这个程序也不能写的话,只有两种可能:
1、你没有这方面的基础,比如计算机原理、编程语言、电子电路等
2、这方面悟性不足,不适合干这一行。(一般书上都有编程的例子)

我说的前提是你真的看了好久的书,比如累计200小时以上
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生回嘿嘿是什么意思(嘿嘿是什么意思) 嘿嘿你是什么意思? 高考自主复习语文知识最全范文 有关高考语文冲刺复习的知识点 让你嘿嘿嘿是什么意思(评论嘿嘿嘿是什么意思) 乐视音乐 我们一起嘿嘿嘿 那首歌 HA HA HA~叫 什么名字 谁唱的? 法律规定没结婚证一胎罚多少 黑魔鬼鱼多久长大 黑魔鬼鱼生长周期需要多久? 我有一只金色的阳光悠悠球,买来100元整,自转时间很长,但收不回来,有什... 我的悠悠球雪鳞锋自转时间一分钟左右。请问这是怎么回事 猪疥螨病的疾病病原 如何防治猪疥螨病? 51单片机,汇编程序求助,谁能帮我解释下这段程序不 什么是猪疥螨病,其概念是什么 单片机汇编程序谁给我讲下啥意思1 新注册的怎么养号不容易封? 金花罗汉鱼一般多少钱可以买到 2013版手机qq卸载后.我不在线,别人看到我的头像却是亮的...1 今天是星期三,如果从明天开始算,明天是第1天,那么第300天...4 从明天算起第三天是星期五,那从昨天算起第四天是星期几?(要解... 今天是星期三,从明天开始,第一百天是星期几?57 新注册的怎么养不会被封 一年半就到了感情的平淡期会不会有点早? 请问:习水是哪个省哪个市的啊?18 赤水县有几个镇4 赤水到习水的车的班次9 如何营业执照年检132 个人营业执照网上怎么年检1876 在网上怎么操作个体营业执照年检161009 蒲公英从梦中醒来,伸了伸懒腰,摸了摸脸颊,发现自己开花了。(仿写拟人... 一年的感情进入平淡期了,心里总觉得不是滋味,应该怎么办呢?77 单片机中中断服务函数 有哪位大神能帮我解释一下下面这段程序什...4 怎么在一部手机上同时有多个? 某人存入银行10000元,年利息率10%,五年后其复利终值及利息各为多少... 现金10000元存入银行,年利率为10%,半年计息一次,则实际利率为多少... 奥迪括约肌在哪个部位 zippo哑漆系列怎么样,手感如何,会不会掉漆 老王在银行存款10000元,现年利率为10%,按单利计算,老王第一年,第二年... ZIPPO黑哑漆会不会掉漆?还有什么需要注意的?13 zippo哑漆是什么系列的 zippo有哪些系列呀17 某人在三年后用款10000,银行三年期存款年利率为10%,存入银行多少钱才能... zippo的哑漆是啥意思额。。4 有对方怎样加入微信1 对方搜索不到怎么添加360 怎么添加?4 某企业将现金10000元存入银行,期限为5年,年利率为10%,按单利息计算_百 ... 新买的房子地下室被公共管道占用了一部分,我们能否获得赔偿29 加别人的怎么加不上?523 地下室管道占了三分之一的地方怎么办啊17 有别人微信名,没有,怎么加她好友呢?7