女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用中斷將消息寫入LCD屏幕

454398 ? 來源:wv ? 2019-10-14 09:41 ? 次閱讀

步驟1:連接LCD屏幕

如何使用中斷將消息寫入LCD屏幕

首先,我們將連接LCD顯示。

LCD屏幕使用Arduino上的6個引腳板。首先,將LCD顯示屏的兩個外部引腳以及引腳5都接地。接下來,將引腳2和倒數第二個引腳連接到5V。

下一步,使用以下映射連接這些引腳:

LCD 4 =》 Arduino 7

LCD 6 =》 Arduino 8

LCD 11 =》 Arduino 9

LCD 12 =》 Arduino 10

LCD 13 =》 Arduino 11

LCD 14 =》 Arduino 12

就是LCD顯示器了!

步驟2:連接電位計

下一步使用基本電位器。電位器的中間引腳連接到LCD顯示屏上的引腳3。電位器的左側引腳為5V,而右側引腳接地。

在此之后,又有一塊硬件,然后我們繼續進行代碼操作。

第3步:添加按鈕

現在已經連接了帶有電位計的LCD顯示屏,我們需要一個按鈕來引起硬件中斷。將Arduino上的引腳2連接到按鈕的一側,使另一側的電路繼續接地。在與地面相同的一側,將另一個引腳連接到5V。

這完成了硬件設置。

步驟4:實現代碼

我已經上載了用于該項目的代碼,因此您可以根據需要為您的電路板或您要執行的操作對其進行修改。

關于在Arduino Uno上實現硬件中斷的注意事項是您必須使用引腳2或3,因為這是唯一可用于中斷的引腳。除此之外,如果需要,可以更改其他大多數引腳。

另一個警告是,為了使這種類型的設置正常工作,您需要使用millis()方法來實現延遲,因為它在后臺工作,所以不同于delay()方法,該方法暫停CPU并實際上使用CPU周期,即使它看起來處于靜止狀態也是如此。 millis()使用Arduino的內置硬件計時器之一完成工作,因此它在后臺運行,并且在主循環期間不會停止CPU。

下面是代碼:

#include

// initialize the library with the numbers of the interface pins

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

const int buttonPin = 2; // Button pin

volatile bool buttonPressed = false; // Gauge if the button is pressed

int wait = 500; // ms to wait between messages

int messageWait = 3000; // ms to display an interrupt message

unsigned long current = 0; // Holds current timestamp

void setup()

{

Serial.begin(9600); // For debugging, remove if you want

pinMode( buttonPin, INPUT_PULLUP ); // Setup for hardware interrupt

// [interrupt, method used, when to call]

attachInterrupt( digitalPinToInterrupt( buttonPin ), showMessage, RISING );

lcd.begin(16, 2); // set up the LCD‘s number of columns and rows:

lcd.print(“Timer:”); // Print on the top line

current = millis(); // Set up the current time

} // setup

void loop()

{

if( buttonPressed )

{

delay( 3000 ); // Put this in the main loop to stop

// the message from being erased

buttonPressed = false; // After the delay, continue the loop

lcd.setCursor(0, 1); // Set the cursor to char 0 on line 1

lcd.print( “ ” ); // Clear the display

}

else if( millis() 》 current + wait )

{

// set the cursor to column 0, line 1

// (note: line 1 is the second row, since counting begins with 0):

lcd.setCursor(0, 1); // Set the cursor to char 0 on line 1

lcd.print( (String) ( millis() / (float) 1000 ) ); // Output sec passed

current = millis(); // Set current time

} // if.。.else if

} // loop

void showMessage()

{

String message = “Intrpt: ” + (String) millis();

lcd.setCursor(0, 1); // Set the cursor to char 0 on line 1

lcd.print( “Intrpt: ” + (String) ( millis() / (float) 1000 ) ); // Output interrupt

buttonPressed = true; // Indicate button was pressed.

// Handle the button press in

// the main loop.

Serial.println(“=================================”); // debug

Serial.println( message ); // debug

} // showMessage

現在您可以使用中斷了,做點很酷的事情!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • lcd
    lcd
    +關注

    關注

    34

    文章

    4504

    瀏覽量

    170767
  • 中斷
    +關注

    關注

    5

    文章

    904

    瀏覽量

    42532
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    極簡LCD屏驅動實戰,快速上手智能設備屏幕交互!

    從初始化配置到觸控監聽,用最少的代碼實現最多的功能,助你快速掌握交互開發技能,打造個性化智能界面!本文將以Air780EPM開發板LCD應用為例,分享實戰要點,助你快速上手屏幕交互開發。 ? 目前
    的頭像 發表于 04-21 15:28 ?255次閱讀
    極簡<b class='flag-5'>LCD</b>屏驅動實戰,快速上手智能設備<b class='flag-5'>屏幕</b>交互!

    stm32f030c8t6移植lcd12864-01A的代碼,屏幕沒反應是怎么回事?

    stm32f030c8t6移植商家的lcd12864-01A的代碼,屏幕沒反應,是怎么回事
    發表于 03-11 06:05

    DLP3010如何edid寫入eeprom中?

    參考DLPDLCR3010EVM_G2的設計,經過測試發現無法edid寫入空白的eeprom中,請問這個是自動寫入edid到eepron中,還是需要預先寫入edid至eeprom中
    發表于 02-19 08:01

    【RA-Eco-RA4E2-64PIN-V1.0開發板試用】06、PWM輸出實驗+給LCD屏幕PWM調光

    0 前言 本次實驗要實現使用瑞薩 R7FA4E2B93CFM 進行PWM輸出,并對之前TFT-LCD屏幕實驗中的屏幕進行亮度調節測試。 1 硬件部分 之前是TFT
    發表于 12-19 20:27

    【RA-Eco-RA4E2-64PIN-V1.0開發板試用】03、SPI驅動TFT屏幕

    程序也會自動調用,就沒加。結果就是屏幕各種點不亮。 需要在配置屏幕初始化之前,對屏幕進行reset操作,即拉低RST引腳1ms,拉高后等待120ms以上,再調用LCD_Init();
    發表于 12-15 12:46

    ROM芯片如何寫入和擦除

    1. PROM(可編程只讀存儲器) PROM是一種一次性可編程的ROM,一旦編程后就無法更改。寫入PROM的過程如下: 寫入過程 :使用專用的PROM編程器,通過紫外線照射或電子方式數據寫入
    的頭像 發表于 11-04 10:19 ?2693次閱讀

    tft屏幕屬于lcd屏幕的一種嗎

    TFT屏幕確實屬于LCD(液晶顯示器)屏幕的一種。LCD屏幕是一種廣泛使用的顯示技術,它通過液晶分子的排列變化來控制光線的通過,從而實現圖像
    的頭像 發表于 10-12 10:31 ?2484次閱讀

    如何向EEPROM寫入數字

    向EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲器)寫入數字是一個相對直接的過程,但涉及到多個步驟和細節。以下是一個詳細的步驟說明,旨在幫助您理解并成功向EEPROM寫入數字。
    的頭像 發表于 09-05 10:56 ?1925次閱讀

    蘋果iPhone全面擁抱OLED屏幕,夏普與JDI出局

    蘋果公司宣布了一項重大變革,自2025年起,其全系iPhone全面升級至OLED屏幕,這一決定標志著LCD屏幕時代的終結,也預示著智能手機顯示技術的又一次飛躍。此次轉型不僅覆蓋了旗艦
    的頭像 發表于 09-04 15:46 ?643次閱讀

    AM3352+WM8137+LM386+LCD聲音通過揚聲器輸出,LCD屏幕出現水波紋的原因?

    你好,系統組成:AM3352+WM8137+LM386+LCD,聲音通過揚聲器輸出,就是一個8歐姆的喇叭,喇叭響的時候輸入電源5V會被干擾,導致了其他電源的問題,LCD屏幕出現水波紋。
    發表于 08-20 07:30

    如何在i2c中將hello world發送到LCD屏幕?

    有誰知道如何在 i2c 中告訴這個以 hello world 發送到 LCD 屏幕?當我查找我的 4BIT 引腳時,我可以很好地做到這一點,但是當使用 i2c 時,我似乎在任何地方都找不到協議的任何細節,每個人都只想談論天哪的
    發表于 07-11 06:10

    智能設備中的語音是如何寫入語音芯片的

    語音寫入語音芯片需經語音文件準備、格式轉換、燒錄過程、燒錄方式選擇和調試測試。雖非直接通過電腦寫入,但電腦在其中扮演重要角色。
    的頭像 發表于 07-10 11:45 ?1023次閱讀

    TC367_5V_TFT LCD屏幕顯示不全怎么解決?

    好好, LCD 屏幕顯示不全,只顯示最下面菜單行,斷點調試發現,在執行 while (IfxQspi_SpiMaster_getStatus
    發表于 07-04 07:53

    PSOC6閃存寫入會禁用中斷數毫秒 ,為什么?

    我們使用的是 PSOC63。 我們觀察到,在向閃存寫入數據時,即使在非阻塞模式下,所有中斷也會被禁用幾毫秒! 在調查閃存驅動程序的源代碼后,我們發現在阻塞模式和非阻塞模式下都會出現這種情況
    發表于 07-04 07:22

    LCD和OLED工作原理及優劣對比

    LCD的藍光強傷眼,OLED采用PWM調光也傷眼。有的低端屏幕為了節約成本,在LCD上也采用PWM調光。哪個傷害更大不好說。
    的頭像 發表于 06-17 15:12 ?1w次閱讀
    <b class='flag-5'>LCD</b>和OLED工作原理及優劣對比