久久久性爱视频,青娱乐这里只有精品狼牙,在线日韩av资源播放网站,掩去也俺来也久久丁香图

0 賣盤信息
BOM詢價
您現(xiàn)在的位置: 首頁 > 電子資訊 >基礎(chǔ)知識 > 微控制器的工作原理

微控制器的工作原理

來源:
2023-02-27
類別:基礎(chǔ)知識
eye 62
文章創(chuàng)建人 拍明芯城

  由: 馬歇爾大腦

  

image.png


  微控制器是電子產(chǎn)品中的專用計算機。 埃內(nèi)斯托·阿吉托斯 / 蓋蒂圖片社

  如今,微控制器隱藏在數(shù)量驚人的產(chǎn)品中。如果您的微波爐有一個 發(fā)光二極管 或 液晶顯示器 屏幕和鍵盤,它包含一個微控制器。所有現(xiàn)代汽車都至少包含一個微控制器,并且可以有多達六個或七個:發(fā)動機由微控制器控制,就像 防抱死制動器這 巡航控制 等等。任何具有遙控器的設(shè)備幾乎肯定都包含一個微控制器: 電視, 錄像機 而高端立體聲系統(tǒng)都屬于這一類。好 長官 和 數(shù)碼相機, 手機, 攝錄一體機, 答錄機, 激光打印機, 電話 (帶有來電顯示、20 號碼存儲器等)、尋呼機和功能齊全的冰箱、洗碗機、洗衣機和烘干機(帶有顯示器和鍵盤的那些)......你明白了。基本上,任何與用戶交互的產(chǎn)品或設(shè)備內(nèi)部都埋有一個微控制器。

  在本文中,我們將介紹微控制器,以便您了解它們是什么以及它們是如何工作的。然后,我們將更進一步,討論如何自己開始使用微控制器 - 我們將創(chuàng)建一個帶有微控制器的數(shù)字時鐘!我們還將建造一個數(shù)字溫度計。在這個過程中,您將學到很多關(guān)于微控制器如何在商業(yè)產(chǎn)品中使用的信息。

  什么是微控制器?

  微控制器是一臺計算機。所有計算機 - 無論我們談?wù)摰氖莻€人 臺式電腦 或大 大型計算機 或微控制器 - 有幾個共同點:

  所有計算機都有一個 中央處理器 (中央處理單元)執(zhí)行程序。如果您現(xiàn)在坐在臺式計算機上閱讀本文,則該計算機中的 CPU 正在執(zhí)行實現(xiàn)顯示此頁面的 Web 瀏覽器的程序。

  CPU 從某處加載程序。在臺式計算機上,瀏覽器程序從 硬盤.

  計算機有一些 公羊 (隨機存取存儲器),它可以在其中存儲“變量”。

  計算機有一些輸入和輸出設(shè)備,因此它可以與人交談。在臺式機上, 鍵盤 和 鼠 是輸入設(shè)備,并且 監(jiān)控 和 打印機 是輸出設(shè)備。硬盤是一種 I/O 設(shè)備 - 它處理輸入和輸出。

  您使用的臺式計算機是“通用計算機”,可以運行數(shù)千個程序中的任何一個。微控制器是“專用計算機”。微控制器有一件事做得很好。還有許多其他共同特征定義了微控制器。如果計算機符合這些特征中的大多數(shù),那么您可以將其稱為“微控制器”:

  微控制器是”嵌入式“在其他設(shè)備(通常是消費產(chǎn)品)內(nèi)部,以便他們可以控制產(chǎn)品的功能或動作。因此,微控制器的另一個名稱是“嵌入式控制器”。

  微控制器是 耿耿 到一個任務(wù)并運行一個特定程序。該程序存儲在 .ROM (只讀內(nèi)存)并且通常不會更改。

  微控制器通常是 低功耗設(shè)備.臺式計算機幾乎總是插入墻上插座,可能會消耗 50 瓦的電力。電池供電的微控制器可能消耗 50 毫瓦。

  微控制器具有 專用輸入設(shè)備 并且經(jīng)常(但并非總是)有一個小 用于輸出的 LED 或 LCD 顯示屏.微控制器還從其控制的器件獲取輸入,并通過向器件中的不同組件發(fā)送信號來控制器件。 例如,電視內(nèi)部的微控制器從 遙控 并在電視屏幕上顯示輸出。控制器控制通道選擇器, 議長 系統(tǒng)和對顯像管電子設(shè)備的某些調(diào)整,例如色調(diào)和亮度。這 發(fā)動機控制器 In 汽車從氧氣和爆震傳感器等傳感器獲取輸入,并控制燃油混合和火花塞正時等。一個 微波爐 控制器從鍵盤獲取輸入,在LCD顯示屏上顯示輸出并控制 中繼 這將打開和關(guān)閉微波發(fā)生器。

  微控制器通常是 體積小,成本低.選擇組件是為了最小化尺寸并盡可能便宜。

  微控制器通常是(但并非總是) 加固型 在某種程度上。 例如,控制汽車發(fā)動機的微控制器必須在普通計算機通常無法處理的極端溫度下工作。阿拉斯加的汽車微控制器必須在-30華氏度(-34攝氏度)的天氣下正常工作,而內(nèi)華達州的同一微控制器可能在120華氏度(49攝氏度)下工作。當您添加由 發(fā)動機,發(fā)動機艙內(nèi)的溫度可能高達 150 或 180 華氏度(65-80 攝氏度)。 另一方面,嵌入在VCR中的微控制器根本沒有加固。

  實際的 處理器 用于實現(xiàn)微控制器的用途可能差異很大。例如,顯示的手機 數(shù)字手機內(nèi)部 包含一個 Z-80 處理器.Z-80 是 8 位 微處理器 開發(fā)于 1970 年代,最初用于當時的家用電腦。Garmin GPS 顯示在 全球定位系統(tǒng)接收器如何 我被告知,工作包含英特爾 80386 的低功耗版本。80386 最初用于臺式計算機。

  在許多產(chǎn)品中,例如微波爐,對CPU的要求相當?shù)停瑑r格是一個重要的考慮因素。在這些情況下,制造商轉(zhuǎn)向 專用微控制器芯片 - 最初設(shè)計為低成本、小型、低功耗的嵌入式CPU的芯片。摩托羅拉 6811 和 英特爾 8051 都是這種芯片的好例子。還有一系列流行的控制器稱為“PIC微控制器”,由一家名為“PIC微控制器”的公司創(chuàng)建。 微片.按照今天的標準,這些 CPU 非常簡約;但是,當大量購買時,它們非常便宜,并且通常只需一個芯片即可滿足設(shè)備設(shè)計人員的需求。

  一個典型的低端微控制器芯片可能有 1,000 個 字節(jié) 芯片上的 ROM 和 20 字節(jié) RAM,以及 8 個 I/0 引腳。在大量情況下,這些芯片的成本有時可能只有幾美分。你當然永遠不會在這樣的芯片上運行Microsoft Word——Microsoft Word可能需要30兆字節(jié)的RAM和一個每秒可以運行數(shù)百萬條指令的處理器。但是,您也不需要Microsoft Word來控制微波爐。使用微控制器,您需要完成一項特定的任務(wù),而低成本、低功耗的性能才是最重要的。

  使用微控制器

  

image.png


  BASIC Stamp 是一種 PIC 微控制器,經(jīng)過定制,可以理解 BASIC 編程語言。在 電子門的工作原理,您了解了 7400 系列 TTL 設(shè)備,以及在哪里購買它們以及如何組裝它們。您發(fā)現(xiàn),實現(xiàn)簡單的設(shè)備通常需要許多門。例如,在 數(shù)字時鐘文章,我們設(shè)計的時鐘可能包含 15 或 20 個芯片。微控制器的一大優(yōu)勢是軟件 - 您在控制器上編寫和執(zhí)行的小程序 - 可以取代許多門。因此,在本文中,我們將使用微控制器來創(chuàng)建數(shù)字時鐘。這將是一個相當昂貴的數(shù)字時鐘(近200美元!),但在這個過程中,你將積累未來幾年使用微控制器所需的一切。即使您實際上沒有創(chuàng)建此數(shù)字時鐘,也可以通過閱讀它來學到很多東西。

  我們在這里將使用的微控制器是一種專用設(shè)備,旨在使生活盡可能簡單。該設(shè)備被稱為“BASIC郵票”,由一家名為 視差.BASIC Stamp 是一種 PIC 微控制器,經(jīng)過定制,可以理解 BASIC 編程語言。使用BASIC語言使得為控制器創(chuàng)建軟件變得非常容易。微控制器芯片可以在接受9伏的小型載板上購買 電池,您可以通過將其插入臺式計算機上的其中一個端口來對其進行編程。任何制造商都不太可能在實際生產(chǎn)設(shè)備中使用BASIC印章 - 印章昂貴且緩慢(相對而言)。但是,將郵票用于原型設(shè)計或一次性演示產(chǎn)品是很常見的,因為它們非常易于設(shè)置和使用。

  順便說一下,它們被稱為“郵票”,因為它們和郵票一樣大。

  我們將在本文中使用的特定 BASIC 郵票稱為“BASIC 郵票修訂版 D”。

  BASIC Stamp 修訂版 D 是安裝在載板上的 BS-1,帶有 9 伏電池座、電源調(diào)節(jié)器、編程電纜連接、I/O 線的針座引腳和小型原型制作區(qū)域。您可以購買BS-1芯片并將其他組件連接到面包板上。修訂版 D 只是讓生活更輕松。

  從上表中可以看出,您不會用 BASIC 印章做任何奇特的事情。75 行限制(256 字節(jié) 電丙胺 可以容納大約 75 行長的 BASIC 程序)對于 BS-1 來說是相當有限的。但是,您可以創(chuàng)建一些非常整潔的東西,而且Stamp非常小且電池供電的事實意味著它幾乎可以去任何地方。

  對基本印章進行編程

  您可以使用 基本編程語言.如果您已經(jīng)了解 BASIC,那么您會發(fā)現(xiàn)郵票中使用的 BASIC 很簡單,但有點精簡。如果你不懂BASIC,但你懂另一種語言,比如 C、帕斯卡或 爪哇島,那么拿起 BASIC 將是微不足道的。如果你以前從未編程過,你可能想去 學習編程 首先在臺式計算機上。以下是Stamp BASIC中可用說明的快速概述。(有關(guān)完整文檔,請轉(zhuǎn)到視差:基本圖章文檔。

  標準基本說明:

  為。。。下一個 - 正常循環(huán)語句

  gosub - 轉(zhuǎn)到子例程

  轉(zhuǎn)到 - 轉(zhuǎn)到程序中的標簽(例如 - “標簽:”)

  如果。。。then - 正常 if /then 決定

  let - 賦值(可選)

  返回 - 從子例程返回

  結(jié)束 - 結(jié)束程序并休眠

  與 I/O 引腳相關(guān)的說明:

  按鈕 - 讀取輸入引腳上的按鈕,具有去抖動和自動重復(fù)功能

  高電平 - 將 I/O 引腳設(shè)置為高電平

  輸入 - 將 I/O 引腳的方向設(shè)置為輸入

  低電平 - 將 I/O 引腳設(shè)置為低電平

  輸出 - 設(shè)置 I/O 引腳到輸出的方向

  電位器 - 讀取 I/O 引腳上的電位計

  脈沖蛋白 - 讀取輸入引腳上輸入的脈沖的持續(xù)時間

  脈沖輸出 - 在輸出引腳上發(fā)送特定持續(xù)時間的脈沖

  PWM - 在輸出引腳上執(zhí)行脈沖寬度調(diào)制

  反轉(zhuǎn) - 反轉(zhuǎn) I/O 引腳的方向

  Serin - 讀取輸入引腳上的串行數(shù)據(jù)

  Serout - 在輸出引腳上寫入串行數(shù)據(jù)

  聲音 - 將特定頻率的聲音發(fā)送到輸出引腳

  切換 - 切換輸出引腳上的位

  特定于基本印章的說明:

  分支 - 讀取分支表

  調(diào)試 - 將調(diào)試字符串發(fā)送到臺式計算機上的控制臺

  EEPROM - 將程序下載到 EEPROM

  向下查看 - 返回列表中值的索引

  查找 - 使用索引進行數(shù)組查找

  小睡 - 短時間睡眠

  暫停 - 指定時間的延遲

  隨機 - 選擇一個隨機數(shù)

  讀取 - 從 EEPROM 讀取值

  睡眠 - 在指定時間內(nèi)關(guān)閉電源

  寫入 - 將數(shù)據(jù)寫入 EEPROM

  操作:

  + - 加法

  --減法

  * - 乘法(低字)

  ** - 乘法(高詞)

  /-劃分

  -勇氣

  max - 返回最多 2 個值

  min - 返回最少 2 個值

  &- 和

  |-或

  ^-異或

  &/ - NAND

  |/ - 無

  ^/ - XNOR

  If 語句邏輯:

  =

  <>

  <

  <=

  >

  >=

  和

  或

  變量

  BS-1 中的所有變量都有預(yù)定義的名稱(您可以用自己的名稱替換)。請記住,只有 14 字節(jié)的 RAM 可用,因此變量非常寶貴。以下是標準名稱:

  W0, W1, W2...W6 - 16 位字變量

  B0, B1, B2...b13 - 8 位字節(jié)變量

  位0, 位 1, 位 2...bit15 - 1 位位變量

  因為只有 14 個字節(jié)的內(nèi)存,所以 w0 和 b0/b1 在 RAM 中的位置相同,w1 和 b2/b3 是相同的,依此類推。此外,bit0 到 bit15 駐留在 w0 中(因此 b0/b1 也是如此)。

  I/O 引腳

  您可以看到BS-1中的14條指令與I / O引腳有關(guān)。之所以強調(diào)這一點,是因為I/O引腳是BASIC印章與世界對話的唯一途徑。BS-1 上有 8 個引腳(編號為 0 到 7),BS-2 上有 16 個引腳(編號為 0 到 15)。

  引腳是 雙向,這意味著您可以讀取它們的輸入值或向其發(fā)送輸出值。將值發(fā)送到引腳的最簡單方法是使用 高 或 低 功能。語句高電平 3 在引腳 3 上發(fā)送 1 (+5 伏)。低電平發(fā)送 0(接地)。引腳 3 在這里是任意選擇的 - 您可以在從 0 到 7 的任何引腳上發(fā)送位。

  有許多有趣的I/O引腳指令。例如,POT讀取電位計(可變電阻器)上的設(shè)置,如果您用 電容器 正如 POT 指令所期望的那樣。PWM指令發(fā)出脈寬調(diào)制信號。像這樣的說明可以使將控件和電機連接到印章變得更加容易。請參閱的 文檔 了解詳細信息的語言。此外,像斯科特·愛德華這樣的書 編程和自定義 BASIC 印章計算機 由于它包含的示例項目,因此非常有用。

  玩基本圖章

  

image.png


  典型 BASIC 程序編輯器的屏幕截圖如果您想玩 BASIC 印章,很容易上手。您需要的是一臺臺式計算機和一臺 基本印章入門套件.入門套件包括 Stamp、編程電纜和您在臺式計算機上運行的應(yīng)用程序,用于將 BASIC 程序下載到 Stamp 中。

  您可以從以下位置獲得入門套件 視差 (制造商)或來自供應(yīng)商,如 賈梅科 (誰應(yīng)該熟悉 電子門 和 數(shù)字時鐘 文章)。您可以從視差訂購 BASIC Stamp D 入門套件(部件號 27202),或者從 Jameco 訂購零件編號140089。您將收到印章(如下圖所示)、編程電纜、軟件和說明。該套件的價格為兩家供應(yīng)商的 79 美元。偶爾,Parallax會推出一個名為“We've Bagged the Basics”的特別節(jié)目,其中還包括Scott Edward的 編程和自定義 BASIC 印章計算機].

  連接郵票很容易。您將其連接到 并行端口 的電腦。然后,您運行DOS應(yīng)用程序來編輯您的BASIC程序并將其下載到圖章。

  要在此編輯器中運行程序,請單擊 ALT-R。編輯器應(yīng)用程序檢查 BASIC 程序,然后將其通過電線發(fā)送到圖章上的 EEPROM。然后,圖章執(zhí)行程序。在這種情況下,程序在I/O引腳3上產(chǎn)生方波。如果將邏輯探頭或 LED 連接到引腳 3(請參閱 電子門文章 有關(guān)詳細信息),您將看到 LED 閃爍每秒打開和關(guān)閉兩次(由于暫停命令,它每 250 毫秒更改一次狀態(tài))。該程序?qū)⑹褂?伏電池運行數(shù)周。您可以通過縮短 LED 亮起的時間(可能亮起 50 毫秒,熄滅 450 毫秒)以及使用 NAP 指令而不是暫停來節(jié)省電量。

  創(chuàng)建一個非常昂貴的數(shù)字時鐘

  

image.png


  花費 79 美元來刷新一個 發(fā)光二極管 對你來說可能看起來很奢 侈。您可能想做的是用您的 BASIC 印章創(chuàng)建一些有用的東西。通過多花大約 100 美元,您可以創(chuàng)建一個非常漂亮的數(shù)字時鐘!這似乎 非常 奢 侈,直到您意識到這些零件可以在您以后可能想要構(gòu)建的各種其他項目中重復(fù)使用。

  假設(shè)我們想使用 BASIC 標記上的 I/O 引腳來顯示數(shù)值。在 數(shù)字時鐘文章,我們看到了如何使用 7447 芯片連接到 7 段 LED 顯示屏。7447 與 BASIC 印章配合使用同樣出色。您可以將四個 I/O 引腳直接連接到 7447,并輕松顯示 0 到 9 之間的數(shù)字。由于 BS-1 Stamp 有 8 個 I/O 引腳,因此像這樣直接驅(qū)動兩架 7447 很容易。

  對于時鐘,我們至少需要四位數(shù)字。要用八個 I/O 引腳驅(qū)動四個 7447,我們必須稍微更有創(chuàng)意。下圖顯示了一種方法:

  在此圖中,圖章中的 8 條 I/O 線從左側(cè)進入。這種方法使用四條線路連接到所有四條 7447。然后,Stamp 中的其他四條線按順序激活 7447(芯片上的“E”表示“啟用”——在 7447 上,這將是引腳 5 上的消隱輸入)。為了使這種安排起作用,Stamp中的BASIC程序?qū)⑤敵鏊臈l數(shù)據(jù)線上的第一個數(shù)字,并通過將其E引腳與第一條控制線切換來激活第一個7447。然后它會發(fā)送第二個數(shù)字的值并激活第二個 7447,像這樣重復(fù)對所有四個 7447 進行排序。通過稍微不同的接線方式,您實際上可以只用一個 7447 來做到這一點。通過使用 74154 解復(fù)用器芯片和一些驅(qū)動程序,您可以使用此方法驅(qū)動多達 16 位數(shù)字。

  事實上,這是控制LED顯示屏的標準方法。例如,如果您有一個舊的 LED 計算器,請在觀看顯示屏時將其打開并搖晃。您實際上將能夠看到一次只有一個數(shù)字被照亮。該方法稱為 多路復(fù)用 顯示。

  雖然這種方法適用于時鐘和計算器,但它有兩個重要問題:

  LED 消耗大量功率。

  7 段 LED 只能顯示數(shù)值。

  另一種方法是使用 液晶屏.事實證明,LCD廣泛可用,可以很容易地掛在郵票上。例如,下面顯示的兩行乘 16 個字符的字母數(shù)字顯示可從 賈梅科 (部件號 150990)和 視差 (部件號 27910)。此處顯示了安裝在試驗板上的典型顯示器,以便于接口:

  

image.png


  這種LCD有幾個優(yōu)點:

  顯示器可由單個 I/O 引腳驅(qū)動。顯示屏包含允許圖章與其通信的邏輯 串行,因此只需要一個 I/O 引腳。此外,Stamp BASIC中的SEROUT命令可以輕松處理串行通信,因此與顯示器的通信很簡單。

  LCD可以顯示字母數(shù)字文本:字母,數(shù)字甚至自定義字符。

  LCD消耗的功率非常小 - 只有3毫安。

  唯一的問題是其中一個顯示器售價59美元。顯然,您不會將其中一個嵌入到 烤面包機烤箱.但是,如果您正在設(shè)計烤面包機烤箱,您可能會使用這些顯示器之一進行原型設(shè)計,然后創(chuàng)建自定義芯片和軟件以驅(qū)動最終產(chǎn)品中更便宜的LCD。

  要驅(qū)動這樣的顯示器,您只需為其提供 +5 伏電壓和接地(Stamp 均由 9 伏電池供電),然后將 Stamp 中的一個 I/O 引腳連接到顯示器的輸入線。我發(fā)現(xiàn)將 Stamp 的 I/O 引腳連接到 LCD 等設(shè)備的最簡單方法是使用繞線工具(賈梅科 部件號 34577)和 30 號繞線(Jameco 部件號 22541 是典型值)。這樣,不涉及焊接,連接緊湊可靠。

  以下 BASIC 程序?qū)⑹?BASIC 標記的行為類似于時鐘,并在 LCD 上輸出時間(假設(shè) LCD 連接到標記上的 I/O 引腳 0):

  暫停 1000'等待 LCD 顯示屏啟動

  Serout 0, N2400, (254, 1) '清除顯示屏

  Serout 0, n2400, (“time:”) 'Paint “time:” 在顯示屏上

  '加載程序前預(yù)設(shè)

  b0 = 0 '秒

  b1 = 27 分鐘

  b2 = 6 '小時

  再:

  b0 = b0 + 1'增量秒

  如果 B0 < 60,則分鐘

  b0 = 0'如果秒=60

  b1 = b1 + 1 ' 然后遞增分鐘數(shù)

  紀要:

  如果 B1 < 60 則小時數(shù)

  b1 = 0'如果分鐘=60

  b2 = b2 + 1 ' 然后遞增小時數(shù)

  小時:

  如果 B2 < 13,則顯示

  b2 = 1'如果小時數(shù)=13 重置為 1

  顯示:

  Serout 0, N2400, (254, 135) '顯示位置光標,

  '然后顯示時間

  Serout 0, N2400, (#b2, “:”, #b1, “:”, #b0, “ ”)

  暫停 950 '暫停 950 毫秒

  再次轉(zhuǎn)到“重復(fù)”

  在此程序中,SEROUT 命令將數(shù)據(jù)發(fā)送到 LCD。序列 (254, 1) 清除 LCD(254 是轉(zhuǎn)義字符,1 是清除屏幕的命令)。序列 (254, 135) 定位光標。另外兩個 SEROUT 命令只是將文本字符串發(fā)送到顯示器。

  這種方法將創(chuàng)建一個相當準確的時鐘。通過調(diào)整 PAUSE 語句,您可以將準確性提高到每天幾秒鐘內(nèi)。顯然,在實際時鐘中,您希望連接一兩個按鈕以使其更容易設(shè)置-在此程序中,您在將程序下載到Stamp之前預(yù)設(shè)了時間。

  

image.png


  懷表B模塊

  雖然這種方法簡單且有效,但它并不是非常準確。如果您想要更好的精度,一個好方法是連接 實時時鐘芯片 直到您的印章。然后,每隔一秒左右,您就可以從芯片中讀取時間并顯示它。實時時鐘芯片使用 石英晶體 以提供出色的準確性。時鐘芯片通常還包含日期信息和句柄 閏年 自動更正。

  將實時時鐘連接到圖章的一種簡單方法是使用稱為 懷表 B.

  懷表B可從兩者購買 賈梅科 (部件號 145630)和 視差 (部件號 27962)。該器件大約四分之一那么大,包含時鐘芯片、晶體和串行接口,因此只需要一個 I/O 引腳即可與之通信。這個組件的成本約為30美元 - 同樣,不是你想嵌入烤面包機烤箱的東西,但在構(gòu)建原型時很容易玩。

  構(gòu)建數(shù)字溫度計

  

image.png


  現(xiàn)在您對印章和LCD有了一點了解,我們可以添加另一個組件并創(chuàng)建一個數(shù)字溫度計。為了創(chuàng)建溫度計,我們將使用一種稱為DS1620的芯片。該芯片包含:

  一個 溫度傳感裝置

  一 模數(shù) (A/D) 轉(zhuǎn)換器 用于溫度傳感裝置

  一個 移位寄存器 從 A/D 轉(zhuǎn)換器讀取數(shù)據(jù)

  一點兒 電丙胺 (電可擦除可編程只讀存儲器)以記住設(shè)置

  DS1620有兩種模式:一種模式用作獨立的恒溫器芯片,另一種模式將其連接到計算機并用作 溫度計.EEPROM記住恒溫器的電流模式和設(shè)定溫度。

  將DS1620連接到印章非常容易。DS1620采用8引腳芯片。從印章向DS1620引腳8提供+5伏電壓。DS1620引腳4的電源接地。然后使用印章中的三個I/O引腳驅(qū)動DS1620上的三個引腳:

  DS1620上的引腳1是數(shù)據(jù)引腳。在此引腳上讀取和寫入數(shù)據(jù)位。

  DS1620上的引腳2是時鐘引腳。使用此引腳對移位寄存器中的數(shù)據(jù)進行時鐘輸入和輸出。

  DS1620上的引腳3為復(fù)位/選擇引腳。將引腳 3 設(shè)置為高以選擇芯片并與之通信。

  對于此示例代碼,假定:

  數(shù)據(jù)引腳轉(zhuǎn)到標記上的 I/O 引腳 2。

  時鐘引腳轉(zhuǎn)到印章上的 I/O 引腳 1。

  復(fù)位/選擇引腳轉(zhuǎn)到標記上的 I/O 引腳 0。

  完成的接線如下所示:

  您可以從以下任一位置獲得DS1620 賈梅科 (部件號 146456) 或 視差 (部件號 27917)在“應(yīng)用套件”中,其中包括芯片、電容器、一些良好的文檔和示例代碼。或者您可以從以下位置自行購買芯片 賈梅科 (部件號 114382)。我建議在第一次嘗試使用DS1620時購買應(yīng)用套件,因為文檔非常有用。

  您可以將DS1620組裝在Stamp載板的原型區(qū)域或單獨的試驗板上。組裝完成后,將LCD顯示器掛接到印章的I / O引腳3,然后加載并運行以下程序:

  符號 RST = 0 ' 1620 上的選擇/重置線

  符號 CLK = 1 ' 時鐘線,用于 1620 上的移位寄存器

  符號 DQ = 2 ' 數(shù)據(jù)線 1620

  符號 DQ_PIN = DQ 的引腳 2 ' 引腳表示

  符號 LCD = 3' LCD 數(shù)據(jù)線

  開始:

  低 RST ' 取消選擇 1620,除非與之交談

  1620 上的高 CLK ' 時鐘引腳應(yīng)默認為高電平

  暫停1000' 等待溫度計和液晶屏啟動

  設(shè)置:

  高 RST ' 選擇 1620

  b0 = $0C ' $0c 是 1620 命令字節(jié)

  ' 說“寫入配置”

  gosub shift_out ' 發(fā)送到 1620

  b0 = %10 ' %10 是 1620 命令字節(jié)

  ' 設(shè)置溫度計模式

  gosub shift_out ' 發(fā)送到 1620

  低 RST ' 取消選擇 1620

  暫停 50' 延遲 50ms 對于 EEPROM

  start_convert:

  b0 = $EE ' $EE 是 1620 命令字節(jié)

  ' 開始轉(zhuǎn)換

  高 RST ' 選擇 1620

  gosub shift_out ' 發(fā)送到 1620

  低 RST ' 取消選擇 1620

  ' 這是主循環(huán)

  ' - 每秒讀取并顯示溫度

  main_loop:

  高 RST ' 選擇 1620

  b0 = $AA ' $AA 是 1620 命令字節(jié)

  ' 用于讀取溫度

  gosub shift_out ' 發(fā)送到 1620

  gosub shift_in ' 讀取溫度

  '從 1620 年

  低RST'取消選擇DS1620。

  gosub display'以攝氏度為單位顯示溫度

  暫停 1000 ' 等待一秒鐘

  轉(zhuǎn)到main_loop

  ' shift_out子例程發(fā)送任何內(nèi)容

  ' 1620 的 B0 字節(jié)

  shift_out:

  輸出 DQ ' 將 DQ 引腳設(shè)置為

  ' 輸出模式

  對于 b2 = 1 到 8

  低 CLK ' 準備為位計時

  '進入1620年

  DQ_PIN = bit0 ' 發(fā)送數(shù)據(jù)位

  高CLK'鎖存數(shù)據(jù)位進入1620

  b0 = b0/2 ' 向右移動所有位

  ' 朝向位 0

  下一個

  返回

  ' shift_in子例程得到一個 9 位

  ' 溫度從 1620

  shift_in:

  輸入 DQ ' 將 DQ 引腳設(shè)置為

  ' 輸入模式

  w0 = 0 ' 清除 w0

  對于 B5 = 1 到 9

  w0 = w0/2 ' 向右移位輸入。

  低 CLK ' 詢問 1620 以獲取下一個位

  bit8 = DQ_PIN ' 讀取位

  高電平 CLK ' 切換時鐘引腳

  下一個

  返回

  ' 以攝氏度為單位顯示溫度

  顯示:

  如果 bit8 = 0,則 pos ' 如果 bit8=1

  ' 則溫度為負數(shù)

  b0 = b0 &/ b0 ' 通過 NAND 反轉(zhuǎn) b0

  ' 與自身

  b0 = b0 + 1

  位置:

  液晶屏,N2400,(254,1)' 清除液晶屏

  鋸齒 LCD, n2400, (“溫度 = ”) ' 顯示 “溫度=”

  ' 在顯示屏上

  bit9 = bit0 ' 保存半度

  b0 = b0 / 2 ' 轉(zhuǎn)換為度數(shù)

  如果 bit8 = 1,則 neg ' 查看溫度是否為負數(shù)

  顯示器液晶顯示器,N2400,(#b0)顯示正溫度

  轉(zhuǎn)到一半

  負:

  鋸齒液晶屏,n2400,(“-”,#b0)' 顯示負溫度

  半:

  如果 bit9 = 0,則偶數(shù)

  鋸齒液晶屏,n2400,(“.5 C”)' 顯示半度

  轉(zhuǎn)到完成

  甚至:

  鋸齒液晶屏,n2400,(“.0 C”)' 顯示半度

  做:

  返回

  如果運行此程序,您會發(fā)現(xiàn)它以半度的精度顯示攝氏溫度。

  DS1620測量溫度,單位為攝氏半度。它以 9 位 2s 補碼數(shù)返回溫度,范圍為 -110 至 250 F(-55 至 125 C)。將收到的數(shù)字除以 2 得到實際溫度。 2s補碼二進制數(shù) 是一種方便的表示方式 負值.以下列表顯示了 4 位 2s 補碼編號的值:

  0111 : 7

  0110 : 6

  0101 : 5

  0100 : 4

  0011 : 3

  0010 : 2

  0001 : 1

  0000 : 0

  1111 : -1

  1110 : -2

  1101 : -3

  1100 : -4

  1011 : -5

  1010 : -6

  1001 : -7

  1000 : -8

  您可以看到,2s 補碼數(shù)中的 4 位表示值 -8 到 7,而不是 4 位表示 0 到 15 之間的值。您可以查看最左側(cè)的位以確定該數(shù)字是負數(shù)還是正數(shù)。如果數(shù)字為負數(shù),則可以反轉(zhuǎn)位并加 1 以獲得數(shù)字的正表示。

  以下是此處顯示的數(shù)字溫度計程序的情況:

  它使用 象征 關(guān)鍵字來設(shè)置幾個常量,使程序稍微更易于閱讀(并且還使您可以輕松地將芯片移動到印章上的不同I / O引腳)。

  它將DS1620上的CLK和RST引腳設(shè)置為預(yù)期值。

  它向DS1620上的EEPROM寫入一個命令字節(jié),告訴芯片在“溫度計模式”下工作。 由于該模式存儲在EEPROM中,因此您只需執(zhí)行一次,因此從技術(shù)上講,您可以在運行程序一次后將這部分代碼從程序中取出(以節(jié)省程序空間)。

  程序發(fā)送命令 $EE (“$”表示“十六進制數(shù)” - $EE十進制為238)告訴溫度計啟動其轉(zhuǎn)換過程。

  然后程序進入 圈.每秒向DS1620發(fā)送一條命令,告訴DS1620返回當前溫度,然后將DS1620返回的9位值讀取到w0變量中。通過切換DS1620上的CLK線,Stamp一次發(fā)送和接收1位數(shù)據(jù)。請記住,w0(16位)變量覆蓋b0/b1(8位)變量,b0/b1(8位)變量覆蓋bit0/bit1/.../bit15(1位)變量,因此,當您將DS1620中的一個位插入第8位并將w0除以2時,您所做的是將每個位向右移動,以將DS1620的9位溫度存儲到w0中。將溫度保存為 w0 后,顯示子例程將確定該數(shù)字是正數(shù)還是負數(shù),并將其作為攝氏度溫度在 LCD 上適當?shù)仫@示。從攝氏度到華氏度的轉(zhuǎn)換是:

  dF = dC * 9/5 + 32

  在這一點上,我們已經(jīng)成功地創(chuàng)造了一種極其昂貴的溫度計。你會用它做什么?這里有一個想法。假設(shè)您在一家制藥公司工作,并且您正在全國各地運送昂貴的藥物,這些藥物必須始終保持在一定溫度下,否則藥物會變質(zhì)。您可以使用圖章做什么是創(chuàng)建一個 數(shù)據(jù)記錄溫度計.雙 賈梅科 (部件號 143811) 和 視差 (部件號 27960) 銷售一種名為“RAM 包模塊”的設(shè)備。 它包含一個帶串行接口的低功耗 8 KB(或可選的 32 KB)RAM 芯片。您可以將此組件(或類似內(nèi)容)添加到 Stamp 中,并編寫每分鐘將溫度讀數(shù)保存到 RAM 的代碼。然后,您可以將郵票放入毒品運輸中,并在旅行的另一端取回郵票。RAM模塊將包含整個行程的溫度歷史記錄,您將知道藥物是否解凍。

  有各種像這樣的整潔、有用的設(shè)備,現(xiàn)在你知道微控制器是如何工作的,你可以用 Stamp 構(gòu)建!


責任編輯:David

【免責聲明】

1、本文內(nèi)容、數(shù)據(jù)、圖表等來源于網(wǎng)絡(luò)引用或其他公開資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對本文的引用持有異議,請聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時處理。

2、本文的引用僅供讀者交流學習使用,不涉及商業(yè)目的。

3、本文內(nèi)容僅代表作者觀點,拍明芯城不對內(nèi)容的準確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨立判斷做出的,請讀者明確相關(guān)結(jié)果。

4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責任的權(quán)利。

拍明芯城擁有對此聲明的最終解釋權(quán)。

標簽: 微控制器

相關(guān)資訊

資訊推薦
云母電容公司_云母電容生產(chǎn)廠商

云母電容公司_云母電容生產(chǎn)廠商

開關(guān)三極管13007的規(guī)格參數(shù)、引腳圖、開關(guān)電源電路圖?三極管13007可以用什么型號替代?

開關(guān)三極管13007的規(guī)格參數(shù)、引腳圖、開關(guān)電源電路圖?三極管13007可以用什么型號替代?

74ls74中文資料匯總(74ls74引腳圖及功能_內(nèi)部結(jié)構(gòu)及應(yīng)用電路)

74ls74中文資料匯總(74ls74引腳圖及功能_內(nèi)部結(jié)構(gòu)及應(yīng)用電路)

芯片lm2596s開關(guān)電壓調(diào)節(jié)器的中文資料_引腳圖及功能_內(nèi)部結(jié)構(gòu)及原理圖_電路圖及封裝

芯片lm2596s開關(guān)電壓調(diào)節(jié)器的中文資料_引腳圖及功能_內(nèi)部結(jié)構(gòu)及原理圖_電路圖及封裝

芯片UA741運算放大器的資料及參數(shù)_引腳圖及功能_電路原理圖?ua741運算放大器的替代型號有哪些?

芯片UA741運算放大器的資料及參數(shù)_引腳圖及功能_電路原理圖?ua741運算放大器的替代型號有哪些?

28nm光刻機卡住“02專項”——對于督工部分觀點的批判(睡前消息353期)

28nm光刻機卡住“02專項”——對于督工部分觀點的批判(睡前消息353期)

拍明芯城微信圖標

各大手機應(yīng)用商城搜索“拍明芯城”

下載客戶端,隨時隨地買賣元器件!

拍明芯城公眾號
拍明芯城抖音
拍明芯城b站
拍明芯城頭條
拍明芯城微博
拍明芯城視頻號
拍明
廣告
恒捷廣告
廣告
深亞廣告
廣告
原廠直供
廣告