冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 514|回覆: 0
打印 上一主題 下一主題

[討論] MCU NXP P87LPC768FN 87LPC768 DIP-20

[複製鏈接]

2609

主題

0

好友

959

積分

高級會員

Rank: 4

UID
373967
帖子
7871
主題
2609
精華
0
積分
959
楓幣
79
威望
938
存款
29300
贊助金額
0
推廣
0
GP
1205
閱讀權限
50
在線時間
422 小時
註冊時間
2023-1-12
最後登入
2024-6-28

2023端午節紀念勳章 2023中秋節紀念勳章 2023聖誕節紀念勳章

跳轉到指定樓層
1
發表於 2023-4-9 16:25:30 |只看該作者 |倒序瀏覽
NXP P87LPC768FN 是一款低成本 8 位微控制器,具有 8 KB 的 Flash 程序存儲器和 768 字節的 RAM。它使用的是 RISC 架構,具有 16 位指令字長和 8 位資料字長,最大運行頻率可達 20 MHz。

P87LPC768FN 的 DIP-20 封裝是一種雙列插針封裝,具有 20 個腳位,易於在原型開發和樣機製作中使用。

以下是 P87LPC768FN 的一個簡單範例,使用計時器和外部中斷來實現 LED 燈閃爍和按鈕檢測:


#include <p87lpc768fn.h>

#define LED_PIN P0_0
#define BUTTON_PIN P1_0

volatile unsigned int timer_count = 0;
volatile unsigned char button_state = 0;

void init_timer()
{
    // 設置計時器 0 的時鐘和計數器值,以產生 500ms 的中斷
    TMOD = 0x01;
    TH0 = 0xC2;
    TL0 = 0xAF;
    TR0 = 1;
    // 啟用計時器 0 中斷
    ET0 = 1;
    EA = 1;
}

void init_button()
{
    // 設置按鈕引腳為輸入狀態,並啟用外部中斷 1
    BUTTON_PIN = 1;
    EX1 = 1;
    EA = 1;
}

void main()
{
    // 設置 LED 引腳為輸出狀態
    LED_PIN = 0;
    // 初始化計時器和按鈕
    init_timer();
    init_button();
    while (1) {
        // 判斷按鈕狀態並控制 LED 燈的閃爍
        if (button_state) {
            LED_PIN = !LED_PIN;
        } else {
            LED_PIN = 0;
        }
    }
}

void timer_isr() interrupt 1
{
    // 計時器中斷服務程序,用於更新計時器計數值
    timer_count++;
    if (timer_count == 1000) {
        timer_count = 0;
    }
}

void button_isr() interrupt 2
{
    // 外部中斷服務程序,用於檢測按鈕狀態
    button_state = !button_state;
}
建議使用 NXP 官方提供的開發工具和資源來進行開發。
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1彩票
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-6-28 07:59

回頂部