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的倍數的燈做相反...