国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術中心 >> 單片機入門 >> 單片機的I/O引腳(輸出篇)

單片機的I/O引腳(輸出篇)

關鍵字:單片機教程 IO口基本知識 作者:admin 來源:不詳 發(fā)布時間:2018-05-08  瀏覽:63

一、I/O引腳的特性

單片機的外部屬性就是它有眾多的I/O引腳,如40腳封裝的51系列,就有32個腳是I/O引腳。它們也叫單片機的并口。

這32個I/O引腳全是數(shù)字的(即只會出現(xiàn)或只允許0、1變化)。

這32個I/O引腳分成4組,每組8位(即8根I/O引腳),用P0、P1、P2、P3標注,每組里的各位用Px.y區(qū)別,如P0口的8位標記為P0.0~P0.7(x=0~3;y=0~7)。

當然,這四個口P0、P1、P2、P3是有區(qū)別的,它們都有另外的功能;若只做一般的I/O引腳用,可視它們是一樣的(我們這一講只考慮做一般的I/O引腳用)。

二、I/O引腳的尋址

這四個口P0、P1、P2、P3(共32根引線)在內部映射有4個8位專用寄存器,名字也叫P0、P1、P2、P3,對這4個寄存器進行操作,也就可對32根引線進行操作(它們一一對應),很方便。

這里介紹一下字操作、字節(jié)操作、位操作的概念:字是由字節(jié)組成的,一個字節(jié)為8位二進制。字的位數(shù)由CPU的位數(shù)(或CPU里寄存器的位數(shù))決定,即字長;若CPU為8位機,則字長為8位,正好等于一個字節(jié);若CPU為16位機,則字長為16位,所以字操作時,一次就對兩個字節(jié)進行處理,同理,我們就知道當CPU為32位機、64位機時,字操作所處理的字節(jié)數(shù)了。所謂字節(jié)操作,就是一次對8位二進制同時進行操作。說到這里,大家肯定能回答什么叫位操作了,即對一個字節(jié)里的某一位進行操作。再次強調一下,以上所講的操作、處理,就是對I/O引腳的尋址、就是執(zhí)行指令的過程,執(zhí)行的結果就是各位變0或1。

有了以上概念,我們就可以告訴大家,這四個口P0、P1、P2、P3即可字節(jié)操作,也可位操作。(同學們好好想一想,拿P1口做例,字節(jié)操作是怎么回事?位操作又是怎么回事?)再進一步,操作的含義是什么呢?答:輸入和輸出,即I/O。這32根線,每一根都可以輸入和輸出,輸入是單片機從外部接收數(shù)據(jù)和命令、感知外部世界的過程;輸出是單片機根據(jù)設定、經過運算、甚至是智能的對外部世界作出反應,進行控制的過程。從指令的角度看,輸入和輸出稍有不同,輸入稍復雜一些,所以,51單片機的這32個輸入和輸出口,也叫準雙向口。我們下邊先講簡單的輸出過程,而把輸入過程放在后邊的講座里。

三、I/O引腳的輸出

在第一講里,在最小系統(tǒng)的電路圖里,大家已知P1口和P3口接了16只發(fā)光二極管,現(xiàn)在我們將這兩個口作為輸出口用,很明白,當其中的某個腳為1時,該腳所接的LED是“滅”的;反之,為0時,則“亮”。如下圖所示?梢姡@里的亮或滅是由硬件的接法決定的(若換一種接法,亮滅的電平會顛倒的)。

由此我們也看出,學習單片機,軟、硬件是分不開的,這是它的顯著的特點。

下面給大家介紹幾條I/O引腳輸出的指令:

先介紹指令格式

【標號:】操作碼操作數(shù)1,操作數(shù)2 【,操作數(shù)n】【;注釋】

以上的指令格式中,方括號內的內容可有可無,若要的話,一定注意標點符號不能省略;操作碼必有,它是簡單的英語單詞以助記符形式出現(xiàn),便于記憶,它說明了操作的性質;操作數(shù)可有可無,可多可少,中間以逗號分隔,它和操作碼之間至少空一格,它說明了操作的具體內容;注釋也是可有可無,但規(guī)范和專業(yè)的做法是要有詳細的注釋,且不是簡單的指令說明,而是其物理的、硬件的、實質性的解釋。

字節(jié)輸出的指令

Mov  P1,#00000000B   ;該指令可使P1口的8個腳(P1.0~P1.7)全部變?yōu)榈碗娖,當然,P1口的8只發(fā)光管都會點亮;(指令中的操作數(shù)2也可寫成#0、#0H,前者是10進制寫法,后者是16進制寫法,均可)

Mov   P1,#11111111B   ;這條指令相反,8只發(fā)光管都會滅。

位輸出的指令

Clr   P1.0   ;該指令使P1口的0腳變?yōu)榈碗娖,它所接的那只發(fā)光管亮,不會影響其他。

而  Setb   P1.0  這條指令就使P1口的0腳變?yōu)楦唠娖健?/p>

有了以上這些準備,下面我們就來編一段程序,讓P1口和P3口的發(fā)光管輪流點亮,每個發(fā)光管點亮200ms,輪流不息,俗稱“流水燈”。

四、流水燈編程

1.字節(jié)方式處理

;****************************************
           Org    0000H
;org為偽指令,告訴匯編程序,下面的指令從ROM的0000H處開始放
  Main:    Mov    P1,#11111110B
           Mov    P3,#11111110B
;可見,以上兩條指令使P1口的P1.0腳和P3口的P3.0腳所接發(fā)光管點亮
           Lcall    ys200ms
;上面是一條調用子程序指令,用意是讓CPU執(zhí)行一些其他無關的指令,耗費掉200ms的時間,讓剛亮的兩只發(fā)光管能亮200ms時間,否則,由于CPU執(zhí)行指令太快,我們將無法分清哪只發(fā)光管亮了。
           Mov    P1,#11111101B
           Mov    P3,#11111101B    ;很顯然,換了兩只發(fā)光管亮
           Lcall    ys200ms
           Mov    P1,#11111011B
           Mov    P3,#11111011B    ;很顯然,又換了兩只發(fā)光管亮
           Lcall    ys200ms
           Mov    P1,#11110111B
           Mov    P3,#11110111B    ;很顯然,又換了兩只發(fā)光管亮
           Lcall    ys200ms
           Mov    P1,#11101111B
           Mov    P3,#11101111B    ;很顯然,又換了兩只發(fā)光管亮
           Lcall    ys200ms
           Mov    P1,#11011111B
           Mov    P3,#11011111B    ;很顯然,又換了兩只發(fā)光管亮
           Lcall    ys200ms
           Mov    P1,#10111111B
           Mov    P3,#10111111B    ;很顯然,又換了兩只發(fā)光管亮
           Lcall    ys200ms
           Mov    P1,#01111111B
           Mov    P3,#01111111B    ;很顯然,又換了兩只發(fā)光管亮
           Lcall    ys200ms       
;到此為止,P1口和P3口的發(fā)光管輪流亮了一遍
           Ljmp    main
;我們應該讓CPU返回開始處,再次開始亮燈循環(huán),上邊這條指令就是無條件跳轉指令,命令CPU跳回標號為main處,繼續(xù)執(zhí)行指令,永遠往復。
以下給出延時子程序,以保持程序的完整性,但不講解,以后再說。
Ys200ms:   Mov    r7,#4
Ys0:       Mov    r6,#100
Ys1:       Mov    r5,#250
           Djnz    r5,$
           Djnz    r6,ys1
           Djnz    r7,ys0
           Ret
           End
;************************************************************
位處理方式
;**************************************************
           Org     0000H
Main:      Mov     P1,#0FFH
           Mov     P3,#0FFH   ;先做準備工作,使所有LED全滅
Loop:      Clr       P1.0       ;P1.0腳所接發(fā)光管點亮
           Clr       P3.0       ;P3.0腳所接發(fā)光管點亮
           Lcall     ys200ms
           Setb      P1.0
           Setb      P3.0       ;在點亮下一只前,關掉已點亮的
           Clr       P1.1       ;P1.1腳所接發(fā)光管點亮
           Clr       P3.1       ;P3.1腳所接發(fā)光管點亮
           Lcall     ys200ms
           Setb      P1.1
           Setb      P3.1       ;在點亮下一只前,關掉已點亮的
           Clr       P1.2       ;P1.2腳所接發(fā)光管點亮
           Clr       P3.2       ;P3.2腳所接發(fā)光管點亮
           Lcall     ys200ms
           Setb      P1.2
           Setb      P3.2       ;在點亮下一只前,關掉已點亮的
           Clr       P1.3       ;P1.3腳所接發(fā)光管點亮
           Clr       P3.3       ;P3.3腳所接發(fā)光管點亮
           Lcall     ys200ms
           Setb      P1.3
           Setb      P3.3       ;在點亮下一只前,關掉已點亮的
           Clr       P1.4       ;P1.4腳所接發(fā)光管點亮
           Clr       P3.4       ;P3.4腳所接發(fā)光管點亮
           Lcall     ys200ms
           Setb      P1.4
           Setb      P3.4       ;在點亮下一只前,關掉已點亮的
           Clr       P1.5       ;P1.5腳所接發(fā)光管點亮
           Clr       P3.5       ;P3.5腳所接發(fā)光管點亮
           Lcall     ys200ms
           Setb      P1.5
           Setb      P3.5       ;在點亮下一只前,關掉已點亮的
           Clr       P1.6       ;P1.6腳所接發(fā)光管點亮
           Clr       P3.6       ;P3.6腳所接發(fā)光管點亮
           Lcall     ys200ms
           Setb      P1.6
           Setb      P3.6       ;在點亮下一只前,關掉已點亮的
           Clr       P1.7       ;P1.7腳所接發(fā)光管點亮
           Clr       P3.7       ;P3.7腳所接發(fā)光管點亮
           Lcall     ys200ms
           Setb      P1.7       ;P1.7腳所接發(fā)光管滅
           Setb      P3.7       ;P3.7腳所接發(fā)光管滅    
           Ljmp     Loop       ;跳至標號LOOP處繼續(xù)反復
;***********************************************************
延時子程序同上,不再重復。

以上我們可看出,完成相同的任務,但編寫程序的方法卻不一樣,其實還有更多的方法完成這一任務。由此,我們的同學們應該領會到,“指令是死的,人是活的”,“條條大道通北京”,只要發(fā)揮我們的聰明才智,總是可以達到目的的。

最后強調一下,做這些發(fā)光管亮滅實驗的意義何在?它的意義就在于:我們能使發(fā)光管隨心所欲的亮和滅,且有精確的時間控制,就能對任何其他的外部設備進行控制,如彩燈、電動機、車床等,只是變一變相應的電路而已。

編輯:admin  最后修改時間:2023-04-07

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

少妇特黄av一区二区三区| 成人精品日韩专区在线观看| 青青操在线视频精品视频| 欧美一区二区日韩一区二区| 成人午夜激情在线免费观看| 黑鬼糟蹋少妇资源在线观看| 久久精品久久精品中文字幕| 观看日韩精品在线视频| 亚洲一区二区福利在线| 男人和女人黄 色大片| 欧美一区日韩二区亚洲三区| 亚洲熟女国产熟女二区三区| 国产免费一区二区三区av大片| 国产永久免费高清在线精品| 精品一区二区三区中文字幕| 国产麻豆一区二区三区在| 一区二区三区亚洲国产| 欧美午夜国产在线观看| 中文字幕日韩欧美理伦片| 一区二区免费视频中文乱码国产| 日韩和欧美的一区二区三区 | 亚洲最新av在线观看| 久久91精品国产亚洲| 少妇视频一区二区三区| 精品人妻一区二区四区| 中文字幕日韩无套内射| 91日韩欧美中文字幕| 国产精品美女午夜视频| 日韩成人动画在线观看| 99热九九在线中文字幕| 亚洲一区二区三区国产| 欧美日韩国产午夜福利| 日韩一本不卡在线观看| 国产又粗又猛又黄又爽视频免费| 成人国产激情在线视频| 欧美国产日产综合精品| 欧美乱妇日本乱码特黄大片 | 欧美黑人精品一区二区在线| 亚洲性日韩精品一区二区| 欧美一区二区三区喷汁尤物| 国产一区二区三区四区免费|