急求乙個單片程式

時間 2022-12-25 13:50:05

1樓:匿名使用者

一鍵多功能按鍵識別技術。

1.實驗任務。

開關k1接在管腳上,在at89s51微控制器的埠接有1個發光二極體,上電的時候,l1接在p1.

0管腳上的發光二極體在亮,當一次按下開關k1的時候,燈滅,再按一次,燈亮,如此輪流下去。

2.系統板上硬體連線。

把「微控制器系統」區域中的埠連線到「獨立式鍵盤」區域中的k1埠上;把連到l1上。

3.程式設計方法。

(1. 設計思想由來。

在我們生活中,我們很容易通過這個叫張三,那個叫李四,另外乙個是王五;那是因為每個人有不同的名子,我們就很快認出,同樣,對於要通過乙個按鍵來識別每種不同的功能,我們給每個不同的功能模組用不同的id號標識,這樣,每按下一次按鍵,id的值是不相同的,所以微控制器就很容易識別不同功能的身份了。

(2. 設計方法。

從上面的要求我們可以看出,l1到亮滅受開關k1來控制,我們給l1亮滅定義出不同的id號,當l1在亮時,id=0;當l1在滅時,id=1;分別給出不同的id號我們就能夠完成上面的任務了。

4.匯程式設計序:

id equ 30h

k1 bit

l1 bit

org 0000h

clr mov id,#00h

start: jb k1,rel ;k1沒閉合轉。

lcall delay10ms ;k1閉合,延時消抖動。

jb k1,rel :再判斷。

inc id

mov a,id

cjne a,#02,rel

mov id,#00h

rel: jnb k1,$ 等待開關彈起。

mov a,id

cjne a,#00h,is0 ;判斷相應id

clr l1 :id=0,燈亮。

lcall delay光 ;延時。

sjmp start

is0: cjne a,#01h,start;

setb l1

lcall delay

sjmp start

delay10ms: mov r6,#20 ;延時10ms子程式。

loop1: mov r7,#

djnz r7,$

djnz r6,loop1

retdelay: mov r5,#20 ;延時20ms子程式。

loop2: lcall delay10ms

djnz r5,loop2

retend

求微控制器中圍繞中斷的程式題目?急求

嘻哈海棠 找了幾個定時 計數器的題目,外部中斷應該很簡單。1 利用定時 計數器t0從p1.0輸出週期為1s的方波,讓發光二極體以1hz閃爍,設晶振頻率為12mhz。2 利用定時 計數器t1產生定時時鐘,由p1口控制8個發光二極體,使8個指示燈依次一個一個閃動,閃動頻率為10次 秒 8個燈依次亮一遍為...

求哲理故事,急,求一個哲理故事,急

一枝梅 世界上最遙遠的距離 泰戈爾 世界上最遙遠的距離 不是生與死 而是我就站在你面前 你卻不知道我愛你 世界上最遙遠的距離 不是我就站在你面前你卻不知道我愛你 而是 明明知道彼此相愛 卻不能在一起 世界上最遙遠的距離 不是 明明知道彼此相愛卻不能在一起 而是 明明無法抵擋這股想念 卻還得故意裝作絲...

程式的疑問,求高手解答,乙個程式的疑問,求高手解答。

include stdio.h include math.h main else break 這一句不用的。讓迴圈提前結束了。這是著名的哥德 猜想問題。另外除了3 31 5 29,11 23還有17 17 滄海雄風 你的取值範圍有問題 都去了 a 2 sqrt 根本不可能出現大於輸入數字一半的你能把...