歡迎您光臨本站 登入註冊首頁

概述

   採用普通集成電路製作輕觸式步進調整控制電路時,外圍電路相對較複雜;本文介紹用單片機AT89C2051來編程製作輕觸式步進調整控制電路,則外圍電路較簡單,微型繼電器的……

    採用普通集成電路製作輕觸式步進調整控制電路時,外圍電路相對較複雜;本文介紹用單片機AT89C2051來編程製作輕觸式步進調整控制電路,則外圍電路較簡單,微型繼電器的驅動電路容易製作,實際運行效果也不錯。適合初學者仿製。

一、 電路結構
    輕觸式步進調整控制電路主要由AT89C2051與微型繼電器構成,電路如圖二所示。P3.0和P3.1作輸入埠,分別接上拉電阻R1、R2和輕觸開關S1、S2,S1做步進調整開關,S2做退步調整開關。P1.7~P1.0和P3.2~P3.7共13個口作輸出埠,每一個埠用一顆發光二極體與PNP型三極體基極相連接,輸出信號經過三極體放大后驅動微型繼電器工作,發光二極體起到連接輸出信號和顯示輸出信號的作用。微型繼電器的常開或常閉觸點與外圍電路聯接,通過控制微型繼電器的觸點閉合或斷開來達到控制外圍電路作步進調整工作。
  
圖二   輕觸式步進調整控制電路圖
 
圖三     輕觸式步進調整控制直流穩壓輸出電路圖

二、 工作原理
    接通電源后,AT89C2051內部程序首先將P1.7~P1.0和P3.2~P3.7輸出埠置成高電位,使聯接在每個輸出埠上的微型繼電器驅動電路均停止工作,其次將P3.0和P3.1輸入埠也置成高電位,使輸入埠處於準備接收信號的狀態。然後程序開始單獨循環檢測P3.0埠是否為低電位,即檢測輕觸開關S1是否被按下,如果S1是第一次被按下,則P1.7埠由高電位變為低電位,LED1導通,使微型繼電器J1觸點閉合,LED1對應發光顯示該端有信號輸出;此後,程序除了循環檢測接在P3.0埠的輕觸開關S1是否被按下以外,還要增加循環檢測接在P3.1埠的輕觸開關S2是否被按下;如果S1是連續第二次被按下,則P1.6埠由高電位變為低電位,LED2導通,使微型繼電器J2觸點閉合,LED2對應發光顯示該端有信號輸出,同時P1.7埠從低電位變為高電位,LED1熄滅,微型繼電器J1觸點斷開。依此原理,每按下一次S1時,J1~J13觸點順序步進閉合,LED隨步進對應發光顯示該端有信號輸出,外圍電路也隨之作步進調整工作;反之,每按下一次S2時,J1~J13觸點順序退步閉合,LED隨退步發光顯示該端有信號輸出,外圍電路同樣也隨之作退步調整工作。圖三是該電路的一個應用實例。適當剪短程序,用其中五個輸出埠可輕觸式步進調整控制直流穩壓輸出電壓,控制J1~J5的觸點閉合或斷開,就能分別為LM317的調整端接入不同阻值的電阻,使LM317輸出大小不同的電壓。電阻R*8~R*12的值可以根據需要輸出電壓大小不同通過實驗測得。在LM317輸入為18V時,分別測得電阻值為  2K、1.4K、865Ω、704Ω、 和 327Ω,可對應輸出12V、9V、6V、5V和3V五組常用直流穩壓電壓。

三、輕觸式步進控制電路的流程圖
    圖一是用89C2051製作輕觸式步進控制電路的程序流程圖中的一部分。其餘部分原理相同,依次類推。 
 

四、輕觸式步進控制電路的源程序
ORG  0000H
MOV  P1 ,#0FFH
MOV  P3 ,#0FFH
L0 :JB  P3.0 ,L0    ;按鍵1是否被按下,不是轉L0 
L1 :JNB  P3.0 ,L1   ;按鍵1是否被抬起,不是轉L1 
CLR  P1.7       ;開第1個埠
Q0 :JB  P3.1 ,L2     ;按鍵2是否被按下,不是轉Q0
Q1 :JNB  P3.1 ,Q1   ;按鍵2是否被抬起,不是轉Q1
SETB  P1.7      ;關第1個埠
LJMP  L0       ;轉L0 
L2 :JB  P3.0 ,Q0     ;按鍵1是否被按下,不是轉Q0
L3 :JNB  P3.0 ,L3    ;按鍵1是否被抬起,不是轉L3
SETB  P1.7      ;關第1個埠
CLR  P1.6       ;開第2個埠
Q2 :JB  P3.1 ,L4
Q3 :JNB  P3.1 ,Q3 
SETB  P1.6 
CLR  P1.7 
LJMP  L2 
L4 :JB  P3.0 ,Q2    ;
L5 :JNB  P3.0 ,L5 
SETB  P1.6     ;關第2個埠
CLR  P1.5      ;開第3個埠
Q4 :JB  P3.1 ,L6
Q5 :JNB  P3.1 ,Q5 
SETB  P1.5 
CLR  P1.6 
LJMP  L4 
L6 :JB  P3.0 ,Q4 
L7 :JNB  P3.0 ,L7 
SETB  P1.5      ;關第3個埠
CLR  P1.4       ;開第4個埠
Q6 :JB  P3.1 ,L8
Q7 :JNB  P3.1 ,Q7 
SETB  P1.4 
CLR  P1.5 
LJMP  L6 
L8 :JB  P3.0 ,Q6 
L9 :JNB  P3.0 ,L9 
SETB  P1.4      ;關第4個埠
CLR  P1.3       ;開第5個埠
Q8 :JB  P3.1 ,L10
Q9 :JNB  P3.1 ,Q9 
SETB  P1.3 
CLR  P1.4 
LJMP  L8 
L10 :JB  P3.0 ,Q8 
L11 :JNB  P3.0 ,L11 
SETB  P1.3           ;關第5個埠
CLR  P1.2            ;開第6個埠
Q10 :JB  P3.1 ,L12
Q11 :JNB  P3.1 ,Q11 
SETB  P1.2 
CLR  P1.3 
LJMP  L10 
L12 :JB  P3.0 ,Q10 
L13 :JNB  P3.0 ,L13 
SETB  P1.2           ;關第6個埠
CLR  P1.1            ;開第7個埠
Q12 :JB  P3.1 ,L14
Q13 :JNB  P3.1 ,Q13 
SETB  P1.1 
CLR  P1.2 
LJMP  L12 
L14 :JB  P3.0 ,Q12 
L15 :JNB  P3.0 ,L15 
SETB  P1.1           ;關第7個埠
CLR  P1.0            ;開第8個埠
Q14 :JB  P3.1 ,L16
Q15 :JNB  P3.1 ,Q15 
SETB  P1.0 
CLR  P1.1 
LJMP  L14 
L16 :JB  P3.0 ,Q14 
L17 :JNB  P3.0 ,L17 
SETB  P1.0           ;關第8個埠
CLR  P3.2            ;開第9個埠
Q16 :JB  P3.1 ,L18
Q17 :JNB  P3.1 ,Q17 
SETB  P3.2 
CLR  P1.0 
LJMP  L16 
L18 :JB  P3.0 ,Q16 
L19 :JNB  P3.0 ,L19 
SETB  P3.2            ;關第9個埠
CLR  P3.3             ;開第10個埠
Q18 :JB  P3.1 ,L20
Q19 :JNB  P3.1 ,Q19 
SETB  P3.3 
CLR  P3.2 
LJMP  L18 
L20 :JB  P3.0 ,Q18 
L21 :JNB  P3.0 ,L21 
SETB  P3.3           ;關第10個埠
CLR  P3.4            ;開第11個埠
Q20 :JB  P3.1 ,L22 
Q21 :JNB  P3.1 ,Q21 
SETB  P3.4 
CLR  P3.3 
LJMP  L20 
L22 :JB  P3.0 ,Q20 
L23 :JNB  P3.0 ,L23 
SETB  P3.4           ;關第11個埠
CLR  P3.5            ;開第12個埠
Q22 :JB  P3.1 ,L24 
Q23 :JNB  P3.1 ,Q23 
SETB  P3.5 
CLR  P3.4 
LJMP  L22 
L24 :JB  P3.0 ,Q22 
L25 :JNB  P3.0 ,L25 
SETB  P3.5            ;關第12個埠
CLR  P3.7             ;開第13個埠
Q24 :JB  P3.1 ,L26 
Q25 :JNB  P3.1 ,Q25 
SETB  P3.7 
CLR  P3.5 
LJMP  L24 
L26 :JB  P3.0 ,Q24 
L27 :JNB  P3.0 ,L27 
SETB  P3.7             ;關第13個埠
LJMP  L0              ;轉L0   
END


[admin via 研發互助社區 ] 用89C2051製作輕觸式步進調整控制電路已經有2634次圍觀

http://cocdig.com/docs/show-post-42076.html