微控制器第三次實驗課 P1 口輸入 輸出實驗

2021-09-25 05:28:51 字數 1540 閱讀 5131

(1)p1 口作輸出口,接八隻發光二極體,編寫程式,使發光二極體迴圈點亮。(採用軟體延時的方法)

(2)p1 作輸入口,將開關的狀態反映在發光二極體上。

(1)彙編

org 0000h

mov a,#00000001b

mov p1,a

lcall delay

loop:

rl a

mov p1,a

lcall delay

sjmp loop

delay:

mov r0,#0ah

delay1:

mov r1,#00h

delay2:

mov r2,#0c3h

djnz r2,$

djnz r1,delay2

djnz r0,delay1

retend

注:我所用微控制器晶振頻率為40mhz,如果所使用微控制器晶振頻率不同需自己計算機器週期及迴圈次數,不然延時過短會導致現象觀察不到。

(2)都接p1,第四位接開關,高四位接led燈

1)p1整體操作(彙編)

org 0000h

ajmp start

start:

orl p1,#00fh

mov a,p1

swap a

anl a,#0f0h

mov p1,a

sjmp start

end

2)對每一位操作(彙編)

org 0000h

clr p1.4

clr p1.5

clr p1.6

clr p1.7

aga:

setb p1.0

jb p1.0,lig0

setb p1.4

back1:

setb p1.1

jb p1.1,lig1

setb p1.5

back2:

setb p1.2

jb p1.2,lig2

setb p1.6

back3:

setb p1.3

jb p1.3,lig3

setb p1.7

sjmp aga

lig0:

clr p1.4

sjmp back1

lig1:

clr p1.5

sjmp back2

lig2:

clr p1.6

sjmp back3

lig3:

clr p1.7

sjmp aga

end

注:對每一位操作讀取前之前要先用setb指令為讀取做準備。

3)c語言

#include#includemain()

C 第三次實驗 1

專案1 靜態成員應用 檔名稱 作 者 肖學杪 完成日期 2016 年 4 月 10 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 問題描述 程式輸出 問題分析 演算法設計 includeusing namespace std class time 下面寫出靜態成員的初始化及各成員函...

微控制器 P0口 P1口 暫存器和引腳的不同

已知8051微控制器的p0口8個引腳開路,p1口8個引腳均通過1k電阻上拉到電源 vcc mov a,10 mov b,20 mov p1,a mov p0,b add a,b mov b,p0 add a,p1 執行以上程式後,暫存器a 第1空 b 第2空 p0鎖存器 第3空 p1鎖存器 第4空 ...

C 第三次上機實驗報告 1

一 問題及 檔名稱 keng 1 作 者 羅嵐濤 完成日期 2016 年 4 月 7 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 輸入本月的收入總額 元 問題描述 計算個人的個人所得稅和稅後收入 程式輸出 個人所得稅和稅後收入 問題分析 略 演算法設計 用if語句來篩選多種情況,...