吴忠躺衫网络科技有限公司

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

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

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

pic單片機匯編程序?qū)嵗?/h1>

以下是一個簡單的PIC單片機匯編程序示例,這個程序?qū)崿F(xiàn)一個LED閃爍的功能。

首先,我們需要了解PIC單片機的結(jié)構(gòu)和指令集。PIC單片機是一種基于哈佛結(jié)構(gòu)的8位微控制器,具有豐富的指令集和外設(shè)接口

以下是一個簡單的PIC單片機匯編程序示例,這個程序?qū)崿F(xiàn)一個LED閃爍的功能。

  1. 配置PIC單片機的引腳

在PIC單片機中,每個引腳都可以配置為輸入或輸出。在這個例子中,我們將使用一個引腳來控制LED的閃爍。

assembly復(fù)制代碼CONFIG  FOSC = HS        ; 配置振蕩器為高速振蕩器  CONFIG  WDTE = OFF        ; 關(guān)閉看門狗定時器  CONFIG  PWRTE = OFF       ; 關(guān)閉電源上電定時器  CONFIG  BOREN = ON        ; 開啟內(nèi)部上電復(fù)位  CONFIG  LVP = OFF         ; 關(guān)閉低電壓編程模式  CONFIG  MCLRE = ON        ; 開啟MCLR引腳為復(fù)位輸入  CONFIG  CP = OFF          ; 關(guān)閉內(nèi)部上電復(fù)位  CONFIG  Cpd = OFF         ; 關(guān)閉數(shù)據(jù)存儲器寫保護  CONFIG  LVP = OFF         ; 關(guān)閉低電壓編程模式
assembly復(fù)制代碼CONFIG FOSC = HS ; 配置振蕩器為高速振蕩器 CONFIG WDTE = OFF ; 關(guān)閉看門狗定時器 CONFIG PWRTE = OFF ; 關(guān)閉電源上電定時器 CONFIG BOREN = ON ; 開啟內(nèi)部上電復(fù)位 CONFIG LVP = OFF ; 關(guān)閉低電壓編程模式 CONFIG MCLRE = ON ; 開啟MCLR引腳為復(fù)位輸入 CONFIG CP = OFF ; 關(guān)閉內(nèi)部上電復(fù)位 CONFIG Cpd = OFF ; 關(guān)閉數(shù)據(jù)存儲器寫保護 CONFIG LVP = OFF ; 關(guān)閉低電壓編程模式
  1. 配置中斷向量表

PIC單片機支持多個中斷向量表,每個向量表可以包含多個中斷向量。在這個例子中,我們將使用一個外部中斷向量表。

assembly復(fù)制代碼ORG 0x0000               ; ORG指令用于指定程序起始地址  LJMP MAIN               ; LJMP指令用于跳轉(zhuǎn)到程序起始地址  END                     ; END指令用于結(jié)束程序
assembly復(fù)制代碼ORG 0x0000 ; ORG指令用于指定程序起始地址 LJMP MAIN ; LJMP指令用于跳轉(zhuǎn)到程序起始地址 END ; END指令用于結(jié)束程序
  1. 主程序

在主程序中,我們將配置引腳為輸出模式,并使用一個循環(huán)來控制LED的閃爍。

assembly復(fù)制代碼MAIN: MOVLW 0x11          ; 將值0x11寫入到PORT寄存器中,配置引腳為輸出模式        MOVWF PORT         ; 將值寫入到PORT寄存器中,配置引腳為輸出模式        ACALL DELAY       ; 調(diào)用延時函數(shù)        MOVLW 0x10          ; 將值0x10寫入到PORT寄存器中,關(guān)閉LED        MOVWF PORT         ; 將值寫入到PORT寄存器中,關(guān)閉LED        ACALL DELAY       ; 調(diào)用延時函數(shù)        RETI               ; RETI指令用于返回中斷向量表地址,實現(xiàn)LED閃爍的效果
assembly復(fù)制代碼MAIN: MOVLW 0x11 ; 將值0x11寫入到PORT寄存器中,配置引腳為輸出模式 MOVWF PORT ; 將值寫入到PORT寄存器中,配置引腳為輸出模式 ACALL DELAY ; 調(diào)用延時函數(shù) MOVLW 0x10 ; 將值0x10寫入到PORT寄存器中,關(guān)閉LED MOVWF PORT ; 將值寫入到PORT寄存器中,關(guān)閉LED ACALL DELAY ; 調(diào)用延時函數(shù) RETI ; RETI指令用于返回中斷向量表地址,實現(xiàn)LED閃爍的效果
  1. 延時函數(shù)

延時函數(shù)用于實現(xiàn)LED閃爍的效果。在這個例子中,我們將使用一個簡單的循環(huán)來實現(xiàn)延時功能。

assembly復(fù)制代碼DELAY: MOVLW 0x00          ; 將值0x00寫入到T2計數(shù)器寄存器中,初始化計數(shù)器          MOVWF T2L          ; 將值寫入到T2計數(shù)器寄存器低字節(jié)中,初始化計數(shù)器          MOVLW 0x3E          ; 將值0x3E寫入到T2計數(shù)器寄存器高字節(jié)中,設(shè)置計數(shù)器初值          MOVWF T2H          ; 將值寫入到T2計數(shù)器寄存器高字節(jié)中,設(shè)置計數(shù)器初值          HERE:               ; HERE標簽用于循環(huán)計數(shù)器的計數(shù)范圍為0x3E-0x3F之間,即延時時間為約1ms左右。
assembly復(fù)制代碼DELAY: MOVLW 0x00 ; 將值0x00寫入到T2計數(shù)器寄存器中,初始化計數(shù)器 MOVWF T2L ; 將值寫入到T2計數(shù)器寄存器低字節(jié)中,初始化計數(shù)器 MOVLW 0x3E ; 將值0x3E寫入到T2計數(shù)器寄存器高字節(jié)中,設(shè)置計數(shù)器初值 MOVWF T2H ; 將值寫入到T2計數(shù)器寄存器高字節(jié)中,設(shè)置計數(shù)器初值 HERE: ; HERE標簽用于循環(huán)計數(shù)器的計數(shù)范圍為0x3E-0x3F之間,即延時時間為約1ms左右。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7649

    瀏覽量

    152104
  • 單片機
    +關(guān)注

    關(guān)注

    6043

    文章

    44622

    瀏覽量

    638523
  • PIC
    PIC
    +關(guān)注

    關(guān)注

    8

    文章

    507

    瀏覽量

    87819
  • 匯編程序
    +關(guān)注

    關(guān)注

    0

    文章

    58

    瀏覽量

    16206
收藏 人收藏

    評論

    相關(guān)推薦

    單片機編程匯編程序實例

    很好的匯編程序單片機的結(jié)合
    發(fā)表于 10-06 14:46

    PIC單片機控制時鐘芯片DS1302匯編程序

    PIC單片機控制時鐘芯片DS1302匯編程序
    發(fā)表于 05-24 09:56 ?1779次閱讀

    EMC系列單片機匯編程序

    本文提供的EMC系列單片機匯編程序,希望對你學(xué)習(xí)有所幫助!
    發(fā)表于 06-03 15:32 ?34次下載

    51單片機匯編程序

    51單片機匯編程序包。
    發(fā)表于 01-06 14:12 ?16次下載

    51單片機LCD1602匯編程序詳細資料免費下載

    1602匯編程序,51單片機匯編程序,僅需修改引腳定義即可。晶振大小12M,程序測試完全正確。內(nèi)部包含寫數(shù)據(jù)、寫命令(包括讀忙和不讀忙)、初始化等子函數(shù)。調(diào)用時先給LCD_DAT賦值,
    發(fā)表于 08-24 15:24 ?24次下載
    51<b class='flag-5'>單片機</b>LCD1602<b class='flag-5'>匯編程序</b>詳細資料免費下載

    51單片機匯編程序有哪些?51單片機匯編程序集詳細資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是51單片機匯編程序有哪些?51單片機匯編程序集詳細資料免費下載。
    發(fā)表于 09-06 16:31 ?55次下載
    51<b class='flag-5'>單片機</b><b class='flag-5'>匯編程序</b>有哪些?51<b class='flag-5'>單片機</b><b class='flag-5'>匯編程序</b>集詳細資料免費下載

    Proteus仿真PIC單片機匯編程序——RB中斷和按鍵顯示

    Proteus仿真PIC單片機匯編程序——RB中斷和按鍵顯示 朋友們送上的使用 Proteus 仿真 學(xué)習(xí) PIC 匯編程序的最后一例,但遺
    發(fā)表于 09-21 15:04 ?1587次閱讀

    單片機入門匯編程序之太陽跟隨系統(tǒng)的程序資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是單片機入門匯編程序之太陽跟隨系統(tǒng)的程序資料免費下載。
    發(fā)表于 02-20 17:58 ?7次下載
    <b class='flag-5'>單片機</b>入門<b class='flag-5'>匯編程序</b>之太陽跟隨系統(tǒng)的<b class='flag-5'>程序</b>資料免費下載

    單片機的按鍵顯示匯編程序資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是單片機的按鍵顯示匯編程序資料免費下載。
    發(fā)表于 03-05 11:01 ?9次下載
    <b class='flag-5'>單片機</b>的按鍵顯示<b class='flag-5'>匯編程序</b>資料免費下載

    使用51單片機控制數(shù)碼管的匯編程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用51單片機控制數(shù)碼管的匯編程序免費下載。
    發(fā)表于 08-14 17:32 ?11次下載
    使用51<b class='flag-5'>單片機</b>控制數(shù)碼管的<b class='flag-5'>匯編程序</b>免費下載

    使用51單片機點亮全部LED的匯編程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用51單片機點亮全部LED的匯編程序免費下載。
    發(fā)表于 07-04 17:41 ?2次下載
    使用51<b class='flag-5'>單片機</b>點亮全部LED的<b class='flag-5'>匯編程序</b>免費下載

    DS18B20和51單片機連接的匯編程序免費下載

    匯編程序僅適合單個DS18B20和51單片機的連接,晶振為12MHZ左右
    的頭像 發(fā)表于 09-06 10:52 ?4647次閱讀

    單片機入門匯編程序--直流電機的控制

    單片機入門匯編程序--直流電機的控制(安徽理士電源技術(shù)有限公司招聘)-該文檔為單片機入門匯編程序--直流電機的控制總結(jié)文檔,是一份不錯的參考資料,感興趣的可以下載看看,,,,,,,,,
    發(fā)表于 09-22 14:33 ?11次下載
    <b class='flag-5'>單片機</b>入門<b class='flag-5'>匯編程序</b>--直流電機的控制

    單片機入門匯編程序--直流電機的單片機控制

    單片機入門匯編程序--直流電機的單片機控制(15kvaups電源技術(shù)協(xié)議)-該文檔為單片機入門匯編程序--直流電機的
    發(fā)表于 09-22 14:37 ?38次下載
    <b class='flag-5'>單片機</b>入門<b class='flag-5'>匯編程序</b>--直流電機的<b class='flag-5'>單片機</b>控制

    51單片機匯編程序,溫度報警項目

    51單片機匯編程序,溫度報警項目
    發(fā)表于 11-21 12:36 ?19次下載
    51<b class='flag-5'>單片機</b><b class='flag-5'>匯編程序</b>,溫度報警項目

    百家乐官网庄家必赢诀窍| 威尼斯人娱乐城官网地址| 金榜百家乐官网娱乐城| 二八杠下载| 线上百家乐可靠吗| 百家乐官网视频游戏道具| 大发888游戏怎么玩| 百家乐官网园选| 博E百百家乐官网娱乐城| 华夏棋牌注册| 澳门百家乐官网网站| 百家乐官网压分规律| 大发888 大发888| 悦榕庄百家乐的玩法技巧和规则| 百家乐投注玩多少钱| 真人百家乐官网送钱| 青岛棋牌英雄| 大发888移动版| 澳门百家乐单注下| 游戏机百家乐下载| 凯旋门百家乐现金网| 风水做生意房漏水| 顶级赌场官网下载| 威尼斯人娱乐城老品牌lm0 | 百家乐官网庄闲的几率| 百家乐官网桌子10人| 百家乐官网下注平台| 安平县| 成都市| 百家乐官网胜率在哪| 百家乐官网外挂程式| 百家乐官网玩法教材| 百家乐官网网络投注| 百家乐官网在线作弊| 澳门百家乐官网一把决战输赢| 半圆百家乐官网桌子| 百家乐官网手机版| 百家乐官网龙虎扑克| 乐中百家乐官网的玩法技巧和规则 | 威尼斯人娱乐棋牌下载| 太阳城御园|