请高手帮我用8051单片机用汇编一个数字的显示 开关按一下 数字增加一 从0到9 汇编程序

请高手帮我用8051单片机用汇编一个数字的显示 开关按一下 数字增加一 从0到9 汇编程序,第1张

硬件设置:

1、P0口接共阳极数码管,P0口与数码管串接300~470欧电阻;

2、P10接按键,低电平有效;

3、晶振为12M

软件部分如下:

ORG 00H

LJMP MAIN

ORG 100H

MAIN:

MOV 30H,#00H

MOV DPTR,#TAB

START:

LCALL SHOW_DATA

JB P10,START

LCALL DELAY_50MS

JNB P10,$

MOV A,30H

MOV B,#09H

DIV AB

JZ ADD_1:

MOV 30H,#00H

SJMP START

ADD_1:

INC 30H

SJMP START

DELAY_50MS:

MOV R7,#200D

LP:

MOV R6,#250D

DJNZ R6,$

DJNZ R7,LP

RET

SHOW_DATA:

MOV A,30H

MOVC A,@A+DPTR

MOV P0,A

RET

TAB: ;表:共阳数码管 0-9 A-F

DB 0C0H,0F9H,0A4H,0b0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH

END

早上起来没有什么事,跟你写个简单的供您学习与参考吧,这个程序是对应某个按键按下,对应序列号的灯就亮起来,释放按键,则灯灭,都是低电平有效。至于其他功能,你可以自己扩展吧。我只写2个,8个太多了,懒的动了。

#include<REG51H>

#include<stdioh>

sbit KEY1 = P1^0;

sbit KEY2 = P1^1;

sbit LED1 = P2^0;

sbit LED2 = P2^1;

void main(void)

{

//有必要的话,这里先对单片机各类寄存器进行初始化,这里因为简单,未做相关初始化工作

for(;;)

{

if(KEY1==0)//如果按键1被按下

{LED1=0;}//开启LED1灯

else{LED1=1;}//否则关闭LED1等,以下雷同

if(KEY2==0)

{LED2=0;}

else{LED2=1;}

}//end main-for(;;)

}//end main;

以上就是关于请高手帮我用8051单片机用汇编一个数字的显示 开关按一下 数字增加一 从0到9 汇编程序全部的内容,包括:请高手帮我用8051单片机用汇编一个数字的显示 开关按一下 数字增加一 从0到9 汇编程序、在C51单片机中编写8个开关控制8个小灯的程序,用C语言和汇编语言两种编写、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9516296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存