模擬開關燈

2021-04-16 10:03:53 字數 1824 閱讀 1400

1.

實驗任務

如圖4.2.1

所示,監視開關

k1(接在

p3.0

埠上),用發光二極體

l1(接在微控制器

p1.0

埠上)顯示開關狀態,如果開關合上,

l1亮,開關開啟,

l1熄滅。

2.

電路原理圖

圖4.2.1

3.

系統板上硬體連線

(1).

把「微控制器系統」區域中的

p1.0

埠用導線連線到「八路發光二極體指示模組」      區域中的

l1埠上;

(2).

把「微控制器系統」區域中的

p3.0

埠用導線連線到「四路撥動開關」區域中的

k1埠上;

4.

程式設計內容

(1).

開關狀態的檢測過程

微控制器對開關狀態的檢測相對於微控制器來說,是從微控制器的

p3.0

埠輸入訊號,而輸入的訊號只有高電平和低電平兩種,當撥開開關

k1撥上去,即輸入高電平,相當開關斷開,當撥動開關

k1撥下去,即輸入低電平,相當開關閉合。微控制器可以採用

jbbit

,rel

或者是jnb

bit,

rel指令來完成對開關狀態的檢測即可。

(2).

輸出控制 如圖

3所示,當

p1.0

埠輸出高電平,即

p1.0=1

時,根據發光二極體的單向導電性可知,這時發光二極體

l1熄滅;當

p1.0

埠輸出低電平,即

p1.0=0

時,發光二極體

l1亮;我們可以使用

setb

p1.0

指令使p1.0

埠輸出高電平,使用

clrp1.0

指令使p1.0

埠輸出低電平。

5.

程式框圖

圖4.2.2

6.

彙編源程式

org 00h

start:jb p3.0,lig

clr p1.0

sjmp start

lig:

setb p1.0

sjmp start

end7.

c語言源程式

#include

sbit k1=p3^0;

sbit l1=p1^0;

void main(void)

else

}

}

開關燈問題

描述 一條長廊裡依次裝有n 1 n 65535 盞電燈,從頭到尾編號1 2 3 n 1 n。每盞電燈由乙個拉線開關控制。開始,電燈全部關著。有n個學生從長廊穿過。第乙個學生把號碼凡是1的倍數的電燈的開關拉一下 接著第二個學生把號碼凡是2的倍數的電燈的開關拉一下 接著第三個學生把號碼凡是3的倍數的電燈...

開關燈問題

題目描述 有若干隻燈排成一排。所有的燈開始的時候都是關閉的,現對這些燈進行一系列的操作。在第 i次操作的時候,調整所有編號是 i的倍數的燈的狀態 原本開啟的燈將它關閉,原本關閉的將它開啟 輸入 每組測試資料佔一行,包含乙個整數 n 0 n 10 5 輸出 經過無限次操作之後,第 n隻燈的狀態 0表示...

解題筆記 開關燈

題目 假設有 n 盞燈 n為不大於 5000 的正整數 從 1到 n 按順序依次編號,初始時全部處於開啟狀態 有 m 個人 m為不大於 n 的正整數 也從 1 到 m 依次編號。第乙個人 1號 將燈全部關閉,第二個人 2 號 將編號為 2的倍數的燈開啟,第三個人 3 號 將編號為 3的倍數的燈做相反...