产品选型

51单片机数码管汇编 A36基于51单片机汇编数码管时钟proteus设计keil程序asm

小编 2024-11-25 产品选型 23 0

A36基于51单片机汇编数码管时钟proteus设计keil程序asm

A36汇编数码管时钟。

hello大家好,今天使用51单片机设计一个简易的数码管时钟,它的要求如下:

·1、使用汇编语言进行程序设计。

·2、使用6位数码管分别显示时分秒,上电的时候显示00.00.00表示时间,同时最后一位数码管每1秒增加1,这表示秒。

这是以上的要求,还是打开仿真软件,双击单片机,从这里载入程序。

可以简单介绍一下原理图的基本构成,中间还是单片机最小系统,使用的是AT89C51,当然使用AT89C52都是一样的,它们同属于51系列单片机。左上角是晶振电路和复位电路,右边是数码管的驱动电路。

这是6位共阴数码管,点开始,上电显示00.00.00,每一秒增加一,这表示了时钟的秒数,当累加到一分钟的时候会分钟加一,秒钟清零,可以稍微的等一下,看到分钟加一,秒钟重新计时。

这就是今天的仿真,谢谢大家。

51单片机主要汇编指令集

1)数据传送类指令(7种助记符)

MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;

MOVC(Move Code)读取程序存储器数据表格的数据传送;

MOVX (Move External RAM) 对外部RAM的数据传送;

XCH (Exchange) 字节交换;

XCHD (Exchange low-order Digit) 低半字节交换;

PUSH (Push onto Stack) 入栈;

POP (Pop from Stack) 出栈;

(2)算术运算类指令(8种助记符)

ADD(Addition) 加法;

ADDC(Add with Carry) 带进位加法;

SUBB(Subtract with Borrow) 带借位减法;

DA(Decimal Adjust) 十进制调整;

INC(Increment) 加1;

DEC(Decrement) 减1;

MUL(Multiplication、Multiply) 乘法;

DIV(Division、Divide) 除法;

(3)逻辑运算类指令(10种助记符)

ANL(AND Logic) 逻辑与;

ORL(OR Logic) 逻辑或;

XRL(Exclusive-OR Logic) 逻辑异或;

CLR(Clear) 清零;

CPL(Complement) 取反;

RL(Rotate left) 循环左移;

RLC(Rotate Left throught the Carry flag) 带进位循环左移;

RR(Rotate Right) 循环右移;

RRC (Rotate Right throught the Carry flag) 带进位循环右移;

SWAP (Swap) 低4位与高4位交换;

(4)控制转移类指令(17种助记符)

ACALL(Absolute subroutine Call)子程序绝对调用;

LCALL(Long subroutine Call)子程序长调用;

RET(Return from subroutine)子程序返回;

RETI(Return from Interruption)中断返回;

SJMP(Short Jump)短转移;

AJMP(Absolute Jump)绝对转移;

LJMP(Long Jump)长转移;

CJNE (Compare Jump if Not Equal)比较不相等则转移;

DJNZ (Decrement Jump if Not Zero)减1后不为0则转移;

JZ (Jump if Zero)结果为0则转移;

JNZ (Jump if Not Zero) 结果不为0则转移;

JC (Jump if the Carry flag is set)有进位则转移;

JNC (Jump if Not Carry)无进位则转移;

JB (Jump if the Bit is set)位为1则转移;

JNB (Jump if the Bit is Not set) 位为0则转移;

JBC(Jump if the Bit is set and Clear the bit) 位为1则转移,并清除该位;

NOP (No Operation) 空操作;

(5)位操作指令(1种助记符)

SETB(Set Bit) 位 置1 。

相关问答

51单片机汇编 语言,要求P1口LED灯闪烁,并且P2口接1个 数码管 自动计数并且P3.2按键计数,求答案啊?

MOVCA,@A+DPTRMOVP2,ARETIDELAY:MOVR2,#100DELAY1:MOVR3,#250DJNZR3,$DJNZR2,DELAY1RETTAB...

51单片机汇编 是ARM汇编吗?

答51单片机汇编不是ARM汇编的。因51单片机是早期的、传统的单片机,它是属于CISC(复杂指令集计算机)体系,相当于把计算机系统微型化。而ARM属于RISC(精简...

51单片机 ,用 汇编 语言怎么编程:几个有符号数的比较大小?

51单片机中,没有专门的有符号数比较指令,只能通过一些变通的方法来实现,比如:比较30H和40H中有符号数的大小,结果放在R2中,大于则为1,等于为0,小于为128:...5...

设计电子时钟 要用AT89 S51单片机 的定时器实现,用4位 数码管 ...

用21134位数码管显示,用点的闪烁表示秒,就是共有52615位,7段;那么用一整个4102PIO口(8位)去对应7段数据,1653再用另外一个PIO口的部分(全部)管脚去...

汇编 怎么写 51单片机 的延时程序?

DEL1S:MOVR7,#10D1:MOVR6,#200D2:MOVR5,#250DJNZR5,$DJNZR6,D2DJNZR7,D1RET说明:1、如果不使用R5、R6、R7...

帮忙用MSC- 51单片机汇编 语言修改给出的代码?

你也可以在工程选项里勾选输出汇编代码,然后编译输出就行了,再从lst文件里抄出来。你也可以在工程选项里勾选输出汇编代码,然后编译输出就行了,再从lst文件里...

51单片机 的可以嵌套 汇编 语言吗?

笔者问的应该是单片机开发中,c语言功能程序中是否可以嵌套汇编语言来编程实现功能吧!答案是可以。不管用那种语言,那只是人机交互的一种接口编码,不管是c语...

51单片机汇编 程序详解:POP是干什么的?

POP是弹栈指令,我们写程序过程中,有时候会用到,寄存器冲突现象,比如,我们刚在A中存储了一个数据,但是我们又要做加法,我们不希望A中的书据丢失,怎么办,...POP...

pic 汇编 语言是什么意思?

pic汇编语言指令格式pic系列微控制器汇编语言指令与MCS-51系列单片机汇编语言一样,每条汇编语言指令由4个部分组成,其书写格式如下:标号操作码助记符操...

用C语言写 51单片机 闹钟程序 - 132****9191 的回答 - 懂得

#include"reg51.h"chartab1[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsigned...

猜你喜欢