(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語句來篩選多種情況,...