用汇编语言怎么编写跑马灯程序?

用汇编语言怎么编写跑马灯程序?,第1张

跑马灯程序用汇编是很好实现的,只要升迹桐用好循环移位指令就可州森以,吵坦以下是程序。\x0d\x0aORG 0000H\x0d\x0aLJMP MAIN\x0d\x0aORG 0030H\x0d\x0aMAIN:\x0d\x0aMOV A,#0FEH\x0d\x0a\x0d\x0aLOOP:\x0d\x0aMOV P1,A;将控制字送端口\x0d\x0a\x0d\x0aRL A;控制字循环左移\x0d\x0a\x0d\x0aLCALL DELAY;延时\x0d\x0a\x0d\x0aSJMP LOOP\x0d\x0a\x0d\x0aDELAY:延时大概1秒\x0d\x0aMOV R2,#10\x0d\x0a\x0d\x0aDLY1:\x0d\x0aMOV R3,#200\x0d\x0aDLY2:\x0d\x0aMOV R4,#250\x0d\x0a\x0d\x0aDJNZ R4,$\x0d\x0a\x0d\x0aDJNZ R3,DLY2\x0d\x0a\x0d\x0aDJNZ R2,DLY1\x0d\x0a\x0d\x0aRET\x0d\x0a\x0d\x0aEND

#include

<reg52.h>

void

delay(int

a)

//延迟程序

{

while(a--)

}

main(){

P1=0x01

/纳梁宏/P1口初始0000

0001

while(1){

while(P1!=0x80){

//当p1口不是

1000

0000时

P1口左移一位,本来起初是0000

0001,500毫

秒后变成

0000

0010,然后0000

0100,直到变成1000

0000

P1=P1<<1

delay(5000)

}

while(P1!=0x01){

//同理

1000

0000

右移渣带

变成0100

0000,因为P1口接led,高电位时洞册点亮

P1=P1>>1

delay(5000)

}

}

}

Java怎么滚唯编写走马灯程序代码:

package clock

import java.awt.*

import java.awt.event.*

import javax.swing.*

import java.util.Calendar

import java.util.Date

import java.text.*

public class removingLight extends JFrame {

public removingLight() {

Font font1 = new Font("幼圆", Font.BOLD, 16)

Calendar cal = Calendar.getInstance()

SimpleDateFormat formatter = new SimpleDateFormat(

"EEEE,MMMMdd日,没迟yyyy年 HH:mm:ss")

String mDateTime = formatter.format(cal.getTime())

MovingMessagePanel messagePanel = new MovingMessagePanel(mDateTime)

messagePanel.setFont(font1)

messagePanel.setBackground(Color.BLACK)

messagePanel.setForeground(Color.PINK)

add(messagePanel)

}

public static void main(String[] args) {

removingLight frame = new removingLight()

JLabel label = new JLabel("枯备李开始调试时间:5月5日 结束调试时间:5月6日")

label.setBackground(Color.black)

frame.setTitle("软件1班 XXX 3107006757")

frame.setLocationRelativeTo(null)

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.setSize(320, 120)

frame.setVisible(true)

frame.add(label, BorderLayout.SOUTH)

}

static class MovingMessagePanel extends JPanel {

private String message = " "

private int xCoordinate = 0

private int yCoordinate = 40

public MovingMessagePanel(String message) {

this.message = message

Timer timer = new Timer(100, new TimerListener())

timer.start()

}

public void paintComponent(Graphics g) {

super.paintComponent(g)

if (xCoordinate >getWidth()) {

xCoordinate = -100

}

xCoordinate += 5

g.drawString(message, xCoordinate, yCoordinate)

}

class TimerListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

repaint()

}

}

}

}


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

原文地址:https://54852.com/yw/12441392.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存