五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

51匯編Proteus仿真教程——5.編寫LED流水燈匯編程序

2023-08-27 11:04 作者:電子廠人  | 我要投稿

詳細(xì)介紹如何使用51匯編的Proteus仿真去實(shí)現(xiàn)LED流水燈。此教程只做操作過程,不具體解釋每一步具體含義,以極簡的方式,通過操作讓你實(shí)現(xiàn)相關(guān)功能。
前提條件:

①新建好相關(guān)的仿真工程,繪制好相關(guān)原理圖

②學(xué)會了點(diǎn)亮LED

如果不具備以上條件,可以往回看相關(guān)教程

1、原理圖如下,通過程序控制P0口,讓LED間隔一定時(shí)間,按照順序逐個(gè)點(diǎn)亮,從而實(shí)現(xiàn)流水燈效果。


2、流水燈子程序

;====================================================================

; LED流水燈子程序

; 名稱:LEDRUN

; 輸入:空

; 輸出:空

; 功能: ?控制LED像流水一樣滾動逐個(gè)點(diǎn)亮

;====================================================================

LEDRUN:

MOV ?LED ,#01H ? ; 點(diǎn)亮第一顆LED

MOV ?R0 ,#8 ? ?; LED為8位,設(shè)置循環(huán)次數(shù)位8

LEDRUN1:

MOV ?A ?,LED ? ?; 將LED的值賦給A

LCALL DELAY ? ? ; 調(diào)用延時(shí)子程序,實(shí)現(xiàn)延時(shí)

RL ?A ? ? ? ; 將A中的值,循環(huán)左移一位

MOV ?LED ,A ? ? ; 從新將A的值賦給LED,實(shí)現(xiàn)點(diǎn)亮下一顆lLED

DJNZ R0 ,LEDRUN1 ; 將R0中的值減1,并跳轉(zhuǎn)到LEDRUN1。當(dāng)減到零退出,。(R0為8,即循環(huán)8次后退出)

RET

3、具體效果展示

?


4、整體個(gè)程序

;====================================================================

; 文件名稱:main.asm

; 文件描述:匯編基本程序教程:LED流水燈

; 創(chuàng)建人:lsh ?

; 創(chuàng)建日期: 2022.8.21

; 程序版本:1.0

; 完成日期:2022.8.21

;=========================修改記錄=====================================

; 修改人:

; 修改內(nèi)容:

; 修改時(shí)間:

;====================================================================

?

$NOMOD51

$INCLUDE (80C52.MCU)

; IO引腳定義

;====================================================================

LED ?EQU ?P0 ? ? ?; 定義P0口為LED

;====================================================================

;====================================================================

??????org ??0000h

??????jmp ??Start ? ? ? ?; 跳轉(zhuǎn)到程序開始入口

?

;====================================================================

; 主程序

;====================================================================

??????org ??0100h

Start:

;====================================================================

; 主程序的主循環(huán)

;====================================================================

Loop: ? ? ? ? ? ; ?程序主循環(huán)

LCALL LEDRUN ? ? ?; ??調(diào)用LED流水燈子程序

????AJMP ?Loop ? ? ? ?; ?跳轉(zhuǎn)到程序主循環(huán)開頭

?

;====================================================================

;子程序

;====================================================================

; 延時(shí)子程序

; 名稱:DELAY

; 輸入:空

; 輸出:空

; 功能:占用cpu,實(shí)現(xiàn)延時(shí)一段時(shí)間

;====================================================================

DELAY:

MOV ?R0,#228

DELAY1:

MOV ?R1,#20

DELAY2:

MOV ?R2,#20

DJNZ R2,$

DJNZ R1,DELAY2

DJNZ R0,DELAY1

RET

;====================================================================

?

;====================================================================

; LED流水燈子程序

; 名稱:LEDRUN

; 輸入:空

; 輸出:空

; 功能: ?控制LED像流水一樣滾動逐個(gè)點(diǎn)亮

;====================================================================

LEDRUN:

MOV ?LED ,#01H ? ; 點(diǎn)亮第一顆LED

MOV ?R0 ,#8 ? ?; LED為8位,設(shè)置循環(huán)次數(shù)位8

LEDRUN1:

MOV ?A ?,LED ? ?; 將LED的值賦給A

LCALL DELAY ? ? ; 調(diào)用延時(shí)子程序,實(shí)現(xiàn)延時(shí)

RL ?A ? ? ? ; 將A中的值,循環(huán)左移一位

MOV ?LED ,A ? ? ; 從新將A的值賦給LED,實(shí)現(xiàn)點(diǎn)亮下一顆lLED

DJNZ R0 ,LEDRUN1 ; 將R0中的值減1,并跳轉(zhuǎn)到LEDRUN1。當(dāng)減到零退出,。(R0為8,即循環(huán)8次后退出)

RET

;====================================================================

??????END ? ? ? ? ?; ??程序結(jié)束

;====================================================================

?

點(diǎn)贊、收藏加關(guān)注,下期不迷路!

?

一起學(xué)起來,讓我們成為更優(yōu)秀的自己!我們下期不見不散!


51匯編Proteus仿真教程——5.編寫LED流水燈匯編程序的評論 (共 條)

分享到微博請遵守國家法律
扶沟县| 铜陵市| 莱芜市| 长子县| 永宁县| 呈贡县| 隆安县| 祁阳县| 远安县| 永定县| 叶城县| 井研县| 万年县| 华容县| 原阳县| 锡林郭勒盟| 伊川县| 杭州市| 桦南县| 大洼县| 错那县| 镇江市| 苏尼特左旗| 民丰县| 普安县| 双柏县| 吉林省| 黎川县| 榆树市| 旌德县| 锡林郭勒盟| 婺源县| 开封县| 土默特右旗| 开远市| 洪洞县| 桃江县| 永登县| 香河县| 安远县| 邮箱|