1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 基于51单片机的汇编程序:拨码开关控制八位LED实现流水灯

基于51单片机的汇编程序:拨码开关控制八位LED实现流水灯

时间:2023-03-10 16:45:15

相关推荐

基于51单片机的汇编程序:拨码开关控制八位LED实现流水灯

基于51单片机的汇编程序:拨码开关控制八位LED实现流水灯

-03-08,51单片机学习笔记

功能

打开K1循环左移,打开K2循环右移,打开K3两侧到中心来回点亮,打开K4单双数位置交替点亮。拨码开关优先级:K1>K2>K3>K4。

视频展示

【用汇编写流水灯:基于51单片机的拨码开关控制八位LED流水灯实验】

开发环境

Keil C51

硬件连接方式

STC89C52RC

外设

描述

P1.0 ~ P1.7

LED1 ~ LED8

八位共阳极发光二极管

P3.4 ~ P3.7

KEY1 ~ KEY4

独立拨码开关

汇编代码

; LED点亮方式:低电平点亮;打开K1循环左移,打开K2循环右移,打开K3两侧到中心来回点亮,打开K4单双数位置交替点亮KEY1BITP3.4KEY2BITP3.5KEY3BITP3.6KEY4BITP3.7ORG 0000HAJMPMAINORG 0030HMAIN:MOVA,#0FEHK1: JB KEY1,K2MOVP1,AACALLDELAY_1SRLASJMPK1K2: JB KEY2,K3MOVP1,AACALLDELAY_1SRRASJMPK2K3:JBKEY3,K4MOV A,#07EH MOVP1,AACALLDELAY_1SJBKEY3,K4MOVA,#0BDHMOVP1,AACALLDELAY_1SJBKEY3,K4MOVA,#0DBHMOVP1,AACALLDELAY_1SJBKEY3,K4MOVA,#0E7HMOVP1,AACALLDELAY_1SJBKEY3,K4MOVA,#0DBHMOVP1,AACALLDELAY_1SJBKEY3,K4MOVA,#0BDHMOVP1,AACALLDELAY_1SJBKEY3,K4SJMPK3K4:JBKEY4,OVERMOVA,#55HMOVP1,AACALLDELAY_1SJBKEY4,OVERMOVA,#0AAHMOVP1,AACALLDELAY_1SJBKEY4,OVERSJMPK4OVER:MOVA,#0FEHAJMPK1DELAY_1S:MOVR5,#20DL1:MOVR6,#100DL0:MOVR7,#248DJNZR7,$;寄存器R7减1,不为零转移到当前地址DJNZR6,DL0 ;寄存器R6减1,不为零转移到DL0DJNZR5,DL1 ;寄存器R5减1,不为零转移到DL1RET ;R7从250减到0时,R6减1,R6从100减到0时,R5减1,R5从20减到0时,子程序返回END

写在最后:

本文仅为个人学习笔记,纰漏之处,欢迎斧正!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。