日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何對(duì)螺旋槳微控制器進(jìn)行編程

454398 ? 來源:wv ? 2019-10-11 10:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:您需要的條件

硬件

螺旋槳。您可以了解更多信息,并在Parallax網(wǎng)站上查看示例電路

編程棒。 USB到串行轉(zhuǎn)換器,Prop Plug或從具有內(nèi)置USB

計(jì)算機(jī)的Parallax中獲取Protoboard。 PC,Mac或Linux(對(duì)不起,Amiga?。?/p>

用于示例程序的面包板,電阻器LED,以及電源(可以使用2倍AA)。我使用了3mm綠色LED和270歐姆電阻。

軟件/下載

螺旋槳工具(PC,MAC,Linux)

Propeller手冊(cè)(pdf)

可以使用多種語言(C,Spin,PropBasic,Assembly等)對(duì)Propeller進(jìn)行編程。我認(rèn)為大多數(shù)人都使用Spin,這是我最喜歡的語言,所以本教程將介紹該語言。

步驟2:硬件設(shè)置

在開始編程之前,讓我們看一下將要使用的測(cè)試電路;

原理圖

(完整大?。?/p>

我正在使用3mm綠色LED和270歐姆電阻。

面包板

(原尺寸)

第3步:旋轉(zhuǎn)基礎(chǔ)

《” div》

“想象一下,如果BASIC和PASCAL在酒吧時(shí)間掛了,而9個(gè)月后出現(xiàn)了一種新語言-那么這就是您的SPIN?!?- Ben Heck

Spin是Prop最常用的高級(jí)語言,可能是因?yàn)樗苋菀祝?)和(2)存在旋轉(zhuǎn)

YOURFIRSTPROGRAM

為您的第一個(gè)程序準(zhǔn)備好了嗎?我想說一下Spin,因?yàn)樗俏易盍私獾恼Z言。在這里是:

將上面的程序放入Propeller工具中,然后按F10。它將快速編譯并加載到螺旋槳中。代碼將每隔一秒鐘(1/2赫茲)使連接到P0的LED永遠(yuǎn)閃爍一次。讓我們分解每一行以了解它的作用;

PUB主功能

旋轉(zhuǎn)被分為多個(gè)塊;

PUB和PRI

這2個(gè)塊包含實(shí)際代碼。如果您熟悉php或BASIC或C,則它們的功能很像函數(shù)。它們具有名稱(此塊的名稱為“ main”),您可以向其傳遞值(函數(shù)(passedval))。

對(duì)于有效程序,其余塊不是必需的;

CON

CON保存程序常數(shù)。如果您在整個(gè)程序中使用了一個(gè)常量,則CON塊允許您更改一次,并且每次使用時(shí)都會(huì)反映出來。這是使用CON塊的閃爍程序的示例;

VAR

VAR塊保存程序變量。在閃爍燈程序中,我沒有使用任何系統(tǒng)變量,但這是使用變量的閃爍燈的版本。

還有2個(gè)塊,即DAT和OBJ,但我們將暫時(shí)跳過這些內(nèi)容-OBJ在合并其他人的代碼時(shí)很有用,而DAT是另一個(gè)保存變量的地方,它也是您放置匯編代碼的地方(如果要使用它)。

無論如何-回到我們的原始程序。下一行是:

dira [0]:= 1

螺旋槳上的每個(gè)引腳都可以設(shè)置為輸入或輸出。道具啟動(dòng)時(shí),每個(gè)引腳都被設(shè)置為輸入,因此我們需要將P0設(shè)置為輸出。

要將P0設(shè)置為輸出,我們將dira [0]的值更改為1。:=是spin中的賦值運(yùn)算符。您能猜出如何將P10設(shè)置為輸出嗎? dira [10]:= 1.您還可以通過一個(gè)命令更改引腳范圍。要更改P0,P1,P2和P3,只需使用dira [0..3]:=1。

repeat

repeat告訴Propeller多次運(yùn)行一個(gè)代碼塊。您可以指定重復(fù)條件(將i從1重復(fù)到100),也可以通過不指定其他任何內(nèi)容來永久重復(fù)。此重復(fù)塊將永遠(yuǎn)重復(fù)。

要重復(fù)的代碼由標(biāo)簽界定。注意重復(fù)塊下面的淺灰色線條嗎?螺旋槳工具在此處放了灰線,以顯示重復(fù)循環(huán)中的代碼。

outa [0]:= 1

outa告訴螺旋槳將引腳接地或連接到V +。 outa的工作方式與dira一樣,您可以設(shè)置單個(gè)引腳(outa [10]:= 1)或一組引腳(outa [0..3]:= 1)的輸出。請(qǐng)注意,僅當(dāng)將引腳切換到具有dira的輸出時(shí),outa才有意義。

此外,螺旋槳使用三態(tài)邏輯。每個(gè)引腳可以接地,V +或設(shè)置為高阻抗?fàn)顟B(tài)。

高阻抗?fàn)顟B(tài)使該引腳可以感測(cè)到它是接地還是V +,而無需改變信號(hào)。它使多個(gè)引腳共享同一數(shù)據(jù)通道,并執(zhí)行諸如charlieplexing之類的操作。

使用以下方法將引腳接地:

dira [pin]:= 1

outa [pin]:= 0

引腳連接到V +,其中:

dira [pin]:= 1 outa [pin]:= 1

如果該引腳連接到低或高信號(hào)(高阻抗?fàn)顟B(tài)),則表示:

dira [pin]:= 0(默認(rèn)為啟動(dòng)狀態(tài))

pinstatus:= ina [pin] ina的工作方式與outa和dira相同,只是它是只讀的。如果將引腳設(shè)置為輸入,ina將保留當(dāng)前輸入值。

步驟4:旋轉(zhuǎn)基礎(chǔ),續(xù)

讓我們繼續(xù)執(zhí)行閃爍燈程序。下一行是:

waitcnt(clkfreq + cnt)

在分解此指令之前,讓我先解釋一下clkfreq和cnt;

clkfreq

Prop可以在多個(gè)時(shí)鐘頻率下運(yùn)行,從20kHz一直到80MHz。 clkfreq是一個(gè)系統(tǒng)變量,等于1秒內(nèi)有多少個(gè)時(shí)鐘周期(滴答聲)。如果Prop以80MHz運(yùn)行,則clkfreq = 80,000,000。如果Prop以20kHz運(yùn)行,則它將等于20,000。

cnt

cnt是系統(tǒng)時(shí)鐘。在啟動(dòng)時(shí),cnt = 0,并且在每個(gè)刻度上一直遞增至232,然后再滾動(dòng)到0。cnt是只讀值,您不能更改系統(tǒng)時(shí)鐘,只需讀取它的值即可。

現(xiàn)在,waitcnt:它將暫停程序執(zhí)行,直到系統(tǒng)時(shí)鐘達(dá)到括號(hào)中的值為止。括號(hào)中的值是什么?當(dāng)前系統(tǒng)時(shí)鐘(cnt)加上一秒內(nèi)的滴答數(shù)。 waitcnt(clkfreq + cnt)告訴道具在進(jìn)行下一條指令之前要保持1秒鐘。

如果我們要等待半秒鐘怎么辦? waitcnt(clkfreq/2 + cnt)。 5秒左右如何? waitcnt(clkfreq * 5 + cnt)

因此,在我們的程序中,我們將引腳0翻轉(zhuǎn)到輸出,將其連接到V +(將其驅(qū)動(dòng)為高電平)以打開LED,并等待一秒鐘。這是下一條指令;

outa [0]:= 0

該指令將引腳0從連接到V +變?yōu)榻拥亍KP(guān)閉LED。請(qǐng)注意,引腳0仍是輸出,但已接地。

waitcnt(clkfreq + cnt)

就像上次一樣,它暫停程序執(zhí)行,直到系統(tǒng)時(shí)鐘等于括號(hào)中的值。在這種情況下,它將暫停執(zhí)行一秒鐘。

將其打包

我們的重復(fù)循環(huán)中的最后一條指令已完成。因?yàn)槲覀兊闹貜?fù)循環(huán)沒有結(jié)束條件,所以它將在第一行再次開始(outa [0]:= 1),并無限期地運(yùn)行。

步驟5:清理代碼

讓我們用幾個(gè)運(yùn)算符清理代碼。請(qǐng)注意,這些運(yùn)算符將不會(huì)更改您的代碼,它們只是使您更易于閱讀的快捷方式。

這里是代碼的清理版本

在許多語言中,您可以使用“ ++”來增加變量(i ++會(huì)增加變量i)。還有更多運(yùn)算符供您使用,以下是我在清理代碼中使用過的一些運(yùn)算符;

~~(雙波浪號(hào))

雙波浪號(hào)將設(shè)置前面的變量為TRUE。因此,代替dira [0]:= 1,我們可以使用dira [0] ~~

?(單波浪號(hào))將前面的變量設(shè)置為FALSE。

! (感嘆號(hào))

感嘆號(hào)翻轉(zhuǎn)后繼變量的值。如果將其設(shè)置為TRUE,它將被翻轉(zhuǎn)為FALSE。通常,它被稱為“切換”,因?yàn)樗褪沁@樣做的。

在Spin,++,-,比較,最大和最小值等中可以使用很多運(yùn)算符-請(qǐng)查看《螺旋槳手冊(cè)》從第42頁開始查看所有內(nèi)容。

第6步:基本視頻

螺旋槳具有在視頻硬件中,制作視頻非常簡(jiǎn)單:

首先,我們需要稍微改變一下電路;

(原尺寸)

我們添加了2件事;在引腳30和31上有一個(gè)5MHz的晶體。推進(jìn)器需要一定的速度和精度才能生成視頻數(shù)據(jù),Prop會(huì)采用該5MHz的輸入晶體并將其乘以16,以達(dá)到80MHz的時(shí)鐘速度。

A RCA(復(fù)合)視頻插孔

您將連接3個(gè)引腳以生成視頻,

P12通過270歐姆電阻連接到插孔

P13通過560歐姆電阻連接到插孔

P14通過一個(gè)1.1k歐姆的電阻器到插孔

現(xiàn)在已經(jīng)設(shè)置了視頻插孔和晶體,這是程序;

Runni ng該程序?qū)⑹乖搱D像顯示在電視上:

我將簡(jiǎn)要介紹該程序,以使您了解正在發(fā)生的事情,但我將保存詳細(xì)的分析為了將來的指導(dǎo)。讓我們從CON塊開始;

CON

CON保持程序常量。這里有2個(gè)特殊常量;

_clkmode

該常量告訴Propeller應(yīng)該以什么時(shí)鐘速度運(yùn)行。如果您未指定任何內(nèi)容,則道具將使用內(nèi)部振蕩器在20MHz附近運(yùn)行。此設(shè)置(xtal1 + pll16x)告訴Prop獲取晶體頻率并將其乘以16。請(qǐng)查看《 Propeller手冊(cè)》以了解其他有效的時(shí)鐘設(shè)置。

_xinfreq

如果您使用的時(shí)鐘速度為使用水晶時(shí),您需要告訴Prop水晶有多快!將_xinfreq設(shè)置為5_000_000可以告訴道具,晶體頻率為5MHz。注意:在Spin中,下劃線(_)被忽略,因此人們經(jīng)常使用它們來簡(jiǎn)化大數(shù)字的讀取。

OBJ

obj塊告訴編譯器:“如果我在另一個(gè)文件中引用方法(PUB或PRI),則應(yīng)在此處進(jìn)行”。我將完整討論如何將Objects用于另一個(gè)可指導(dǎo)的對(duì)象,但是現(xiàn)在,僅將Objects視為包含其他代碼的一種方式即可。

我們此處使用的代碼是Propeller工具隨附的。 tv_text是啟動(dòng)電視并在其上顯示簡(jiǎn)單文本信息的代碼。 Parallax的對(duì)象交換中也有大量其他對(duì)象。

PUB main

這是主要的代碼塊。 text.start指文本對(duì)象中的PUB啟動(dòng)方法。它啟動(dòng)電視并為屏幕保留內(nèi)存。

text.str指文本對(duì)象中的str方法,它使用Propellers內(nèi)置字體顯示文本字符串。我們使用spin的string()函數(shù)聲明要顯示的文本字符串。

就是這樣!還有其他電視顯示對(duì)象。圖形演示(下載Propeller工具時(shí)隨附)包括顯示文本,顏色和圖形的方法,下面是屏幕截圖。您還可以在Object Exchange上下載圖形演示。

步驟7:后續(xù)步驟

我們?cè)赟pin中瀏覽了一個(gè)閃爍的燈光程序,我為您提供了生成視頻的快速概述,但Propeller可以做的還很多!

多任務(wù)處理-我們的閃爍燈程序僅使用了1個(gè)核心,但您還擁有其他7個(gè)核心

面向?qū)ο缶幊?Spin是一種“ OOP精簡(jiǎn)”語言,并且代碼重用非常簡(jiǎn)單。已經(jīng)建立了對(duì)象來控制和讀取傳感器,伺服器,電動(dòng)機(jī)和許多其他設(shè)備。

高級(jí)圖形和音頻-MIDI和wav文件播放,圖形和游戲。

后續(xù)步驟

還有一些其他資源可幫助您入門:

螺旋槳手冊(cè),教學(xué)工具包,數(shù)據(jù)表和應(yīng)用筆記(此處)

螺旋槳論壇

Nuts and Volts雜志上喬恩·威廉姆斯的旋轉(zhuǎn)區(qū)專欄

道具的替代編程語言:

12個(gè)模塊

PropBasic

Imagecraft C

螺旋槳對(duì)象交換

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    49

    文章

    8901

    瀏覽量

    165953
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3725

    瀏覽量

    97489
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MPC5534微控制器:技術(shù)解析與應(yīng)用指南

    MPC5534微控制器:技術(shù)解析與應(yīng)用指南 在電子工程領(lǐng)域,微控制器作為核心組件,廣泛應(yīng)用于各種電子設(shè)備中。NXP的MPC5534微控制器憑借其卓越的性能和豐富的功能,在汽車和工業(yè)應(yīng)用中占據(jù)重要
    的頭像 發(fā)表于 04-10 11:40 ?265次閱讀

    深入解析MC68HC705C8微控制器:功能、特性與應(yīng)用

    微控制器,詳細(xì)介紹其功能、特性以及在實(shí)際應(yīng)用中的表現(xiàn)。 文件下載: MC705C8ACPE.pdf 一、產(chǎn)品概述 MC68HC705C8是M68HC05系列微控制器家族的一員,有可擦除可編程只讀存儲(chǔ)器
    的頭像 發(fā)表于 04-09 11:40 ?285次閱讀

    PIC18FXX20系列閃存微控制器編程全解析

    PIC18FXX20系列閃存微控制器編程全解析 在電子設(shè)計(jì)領(lǐng)域,微控制器編程是一項(xiàng)基礎(chǔ)且關(guān)鍵的工作。今天我們聚焦Microchip的PIC18FXX20系列閃存
    的頭像 發(fā)表于 04-08 10:55 ?283次閱讀

    PIC18FXX80/XX85 Flash微控制器編程規(guī)范解析

    PIC18FXX80/XX85 Flash微控制器編程規(guī)范解析 在電子工程師的日常工作中,微控制器編程是一項(xiàng)至關(guān)重要的任務(wù)。今天我們就來深入探討一下Microchip公司的PIC18
    的頭像 發(fā)表于 04-08 10:35 ?206次閱讀

    Z8 Encore! XP 64K 系列閃存微控制器產(chǎn)品詳解

    Encore! XP 64K 系列閃存微控制器,它是基于 8 位 eZ8 CPU 的產(chǎn)品,為 8 位微控制器家族增添了閃存功能,其閃存的在線編程能力大大縮短了開發(fā)時(shí)間,并且方便在現(xiàn)場(chǎng)進(jìn)行
    的頭像 發(fā)表于 04-07 11:35 ?274次閱讀

    AT89C51RB2/RC2:高性能8位微控制器的卓越之選

    的Flash程序/數(shù)據(jù)存儲(chǔ),可通過并行模式、串行模式(具備ISP功能)或軟件進(jìn)行編程編程電壓由標(biāo)準(zhǔn)VCC引腳內(nèi)部生成。該微控制器保留了8
    的頭像 發(fā)表于 04-07 09:40 ?373次閱讀

    AT89LV51微控制器:特性、應(yīng)用與編程全解析

    AT89LV51微控制器:特性、應(yīng)用與編程全解析 一、AT89LV51概述 AT89LV51是一款低電壓、高性能的CMOS 8位微控制器,它采用Atmel的高密度非易失性存儲(chǔ)技術(shù)制造
    的頭像 發(fā)表于 04-06 11:40 ?752次閱讀

    AT89LS53微控制器:特性、功能與編程指南

    AT89LS53微控制器:特性、功能與編程指南 一、引言 在嵌入式系統(tǒng)設(shè)計(jì)中,微控制器扮演著至關(guān)重要的角色。AT89LS53作為一款經(jīng)典的8位微控制器,以其豐富的特性和廣泛的應(yīng)用場(chǎng)景,
    的頭像 發(fā)表于 04-06 09:15 ?353次閱讀

    探索AT43USB355:適用于游戲控制器的高性能USB微控制器

    探索AT43USB355:適用于游戲控制器的高性能USB微控制器 在電子設(shè)備的設(shè)計(jì)領(lǐng)域,一款性能卓越且功能豐富的微控制器對(duì)于產(chǎn)品的成功至關(guān)重要。今天,我們就來深入了解一下Atmel公司
    的頭像 發(fā)表于 04-06 09:05 ?319次閱讀

    Z86E23鍵盤微控制器:特性、功能與編程詳解

    Z86E23鍵盤微控制器:特性、功能與編程詳解 在電子設(shè)計(jì)領(lǐng)域,微控制器是眾多項(xiàng)目的核心組件。今天我們來詳細(xì)探討Zilog公司的Z86E23鍵盤微控制器,它具有8K OTP(一次性可
    的頭像 發(fā)表于 04-04 14:40 ?634次閱讀

    Microchip PIC18F2XXX/4XXX 系列閃存微控制器編程指南

    Microchip PIC18F2XXX/4XXX 系列閃存微控制器編程指南 在電子設(shè)計(jì)領(lǐng)域,微控制器編程是一項(xiàng)關(guān)鍵工作。今天,我們就來深入探討一下 Microchip 的 PIC1
    的頭像 發(fā)表于 02-09 16:50 ?1221次閱讀

    CW32系列微控制器的時(shí)鐘源和定時(shí)選項(xiàng)介紹

    (PLL):這是一種可以將輸入時(shí)鐘源進(jìn)行倍頻輸出的時(shí)鐘源,可以提供更高的時(shí)鐘頻率。 定時(shí)方面,CW32系列微控制器通常提供以下幾種選擇: 基本定時(shí):這是最簡(jiǎn)單的定時(shí)
    發(fā)表于 12-16 06:26

    進(jìn)行低功耗設(shè)計(jì)時(shí)如何優(yōu)化CW32L083系列微控制器的功耗?

    進(jìn)行低功耗設(shè)計(jì)時(shí),如何優(yōu)化CW32L083系列微控制器的功耗?
    發(fā)表于 12-16 06:03

    飛機(jī)變距調(diào)速技術(shù)演進(jìn)圖譜研究:從機(jī)械液壓自主到智能電液綜合的范式變遷

    飛機(jī)的自動(dòng)變距調(diào)速是一個(gè)集機(jī)械感知、液壓傳動(dòng)與控制系統(tǒng)于一體的復(fù)雜伺服機(jī)構(gòu)。其設(shè)計(jì)的精髓在于,將飛行員的功率指令與多變的飛行環(huán)境,轉(zhuǎn)化為對(duì)螺旋槳槳葉角(
    的頭像 發(fā)表于 12-11 10:22 ?1115次閱讀
    渦<b class='flag-5'>槳</b>飛機(jī)變距調(diào)速<b class='flag-5'>器</b>技術(shù)演進(jìn)圖譜研究:從機(jī)械液壓自主到智能電液綜合的范式變遷

    選擇微控制器MCU幾個(gè)步驟

    就準(zhǔn)備微控制器選型了。這當(dāng)然不是個(gè)好主意。 在微控制器方面做任何決策時(shí),硬件和軟件工程師首先應(yīng)設(shè)計(jì)出系統(tǒng)的高層結(jié)構(gòu)、框圖和流程圖,只有到那時(shí)才有足夠的信息開始對(duì)微控制器選型進(jìn)行合理的
    發(fā)表于 11-26 07:09
    额尔古纳市| 玛纳斯县| 合川市| 遂川县| 缙云县| 昌乐县| 塘沽区| 黄梅县| 扶风县| 红原县| 邵东县| 屏山县| 莫力| 黑水县| 七台河市| 思茅市| 永兴县| 壶关县| 紫金县| 台北市| 通榆县| 浦县| 黔西| 海林市| 迭部县| 江西省| 新闻| 咸丰县| 北碚区| 成都市| 许昌市| 浑源县| 南涧| 佛教| 西吉县| 邓州市| 清徐县| 乐业县| 广灵县| 钦州市| 彩票|