《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > pic單片機高手實用篇,pic單片機程序設計

pic單片機高手實用篇,pic單片機程序設計

2019-11-26
來源:21ic中國電子網

單片機" target="_blank">pic單片機在學習和工作中均扮演著重要角色,在往期文章中,小編曾對pic單片機匯編指令加以介紹,以幫助大家更好掌握pic單片機。而在本文中,將介紹pic單片機程序設計內容,以助大家寫出更為優美的pic單片機程序,主要內容如下。

1、PIC單片機程序的基本格式

先介紹二條偽指令:

EQU ——標號賦值偽指令

ORG ——地址定義偽指令

PIC16C5X單片機在RESET后指令計算器PC被置為全“1”,所以PIC16C5X幾種型號芯片的復位地址為:

PIC16C54/55:1FFH

PIC16C56:3FFH

PIC16C57/58:7FFH

一般來說,PIC單片機的源程序并沒有要求統一的格式,大家可以根據自己的風格來編寫。但這里我們推薦一種清晰明了的格式供參考。

TITLE This is …… ;程序標題

;--------------------------------------

;名稱定義和變量定義

;--------------------------------------

F0    EQU  0

RTCC   EQU  1

PC    EQU  2

STATUS  EQU  3

FSR   EQU  4

RA    EQU  5

RB    EQU  6

RC    EQU  7

PIC16C54 EQU 1FFH ;芯片復位地址

PIC16C56 EQU 3FFH

PIC16C57 EQU 7FFH

;-----------------------------------------

ORG PIC16C54 GOTO MAIN   ;在復位地址處轉入主程序

ORG   0          ;在0000H開始存放程序

;-----------------------------------------

;子程序區

;-----------------------------------------

DELAY MOVLW 255

RETLW 0

;------------------------------------------

;主程序區

;------------------------------------------

MAIN

MOVLW B‘00000000’

TRIS RB       ;RB已由偽指令定義為6,即B口

LOOP

BSF RB,7 CALL DELAY

BCF RB,7 CALL DELAY

GO TO LOOP

;-------------------------------------------

END       ;程序結束

注:MAIN標號一定要處在0頁面內。

1ca3cde878cf712da6e45df27f75c08d.jpg


2、PIC單片機程序設計基礎

1) 設置 I/O 口的輸入/輸出方向

PIC16C5X單片機的I/O 口皆為雙向可編程,即每一根I/O 端線都可分別單獨地由程序設置為輸入或輸出。這個過程由寫I/O 控制寄存器TRIS f來實現,寫入值為“1”,則為輸入;寫入值為“0”,則為輸出。

MOVLW 0FH  ;0000 1111(0FH)

輸入 輸出

TRIS 6    ;將W中的0FH寫入B口控制器,

;B口高4位為輸出,低4位為輸入。

MOVLW 0C0H ; 11 000000(0C0H)

RB4,RB5輸出0 RB6,RB7輸出1

2) 檢查寄存器是否為零

如果要判斷一個寄存器內容是否為零,很簡單,現以寄存器F10為例:

MOVF 10,1      ;F10→F10,結果影響零標記狀態位Z

BTFSS STATUS,Z    ;F10為零則跳

GOTO NZ        ;Z=0即F10不為零轉入標號NZ處程序

┋          ;Z=1即F10=0處理程序

3) 比較二個寄存器的大小

要比較二個寄存器的大小,可以將它們做減法運算,然后根據狀態位C來判斷。注意,相減的結果放入W,則不會影響二寄存器原有的值。

例如F8和F9二個寄存器要比較大?。?/p>

MOVF 8,0       ;F8→W

SUBWF 9,0      ;F9—W(F8)→W

BTFSC STATUS,Z   ;判斷F8=F9否

GO TO F8=F9

BTFSC STATUS,C    ;C=0則跳

GO TO F9>F8       ;C=1相減結果為正,F9>F8

GOTO F9<

F9       ;C=0相減結果為負,F9  ┋

PIC單片機的查表程序可以利用子程序帶值返回的特點來實現。具體是在主程序中先取表數據地址放入W,接著調用子程序,子程序的第一條指令將W置入PC,則程序跳到數據地址的地方,再由“RETLW”指令將數據放入W返回到主程序。下面程序以F10放表頭地址。

MOVLW  TABLE     ;表頭地址→F10

MOVWF  10

MOVLW  1        ;1→W,準備取“1”的線段值

ADDWF  10,1      ;F10+W =“1”的數據地址

CALL  CONVERT

MOVWF  6        ;線段值置到B口,點亮LED

CONVERT MOVWF  2        ;W→PC TABLE

RETLW  0C0H      ;“0”線段值

RETLW  0F9H      ;“1”線段值

RETLW  90H       ;“9”線段值

9)“READ……DATA,RESTORE”格式程序

“READ……DATA”程序是每次讀取數據表的一個數據,然后將數據指針加1,準備取下一個數據。下例程序中以F10為數據表起始地址,F11做數據指針。

POINTER  EQU  11   ;定義F11名稱為POINTER

MOVLW   DATA

MOVWF   10     ;數據表頭地址→F10

CLRF   POINTER   ;數據指針清零

MOVF   POINTER,0

ADDWF 10,0      ;W =F10+POINTER

INCF    POINTER,1  ;指針加1

CALL CONVERT      ;調子程序,取表格數據

CONVERT MOVWF   2    ;數據地址→PC

DATA  RETLW   20H    ;數據

RETLW 15H      ;數據

如果要執行“RESTORE”,只要執行一條“CLRF POINTER”即可。

aa173bf77bb3209e22e789428e6f8a7d.jpg


10) PIC單片機 延時程序

如果延時時間較短,可以讓程序簡單地連續執行幾條空操作指令“NOP”。如果延時時間長,可以用循環來實現。下例以F10計算,使循環重復執行100次。

MOVLW D‘100’

MOVWF 10

LOOP  DECFSZ 10,1   ;F10—1→F10,結果為零則跳

GOTO LOOP

延時程序中計算指令執行的時間和即為延時時間。如果使用4MHz振蕩,則每個指令周期為1μS。所以單周期指令時間為1μS,雙周期指令時間為2μS。在上例的LOOP循環延時時間即為:(1+2)*100+2=302(μS)。在循環中插入空操作指令即可延長延時時間:

MOVLW  D‘100’

MOVWF  10

LOOP   NOP

NOP

NOP

DECFSZ 10,1

GOTO LOOP

延時時間=(1+1+1+1+2)*100+2=602(μS)。

用幾個循環嵌套的方式可以大大延長延時時間。下例用2個循環來做延時:

MOVLW   D‘100’

MOVWF   10

LOOP  MOVLW   D‘16’

MOVWF   11

LOOP1  DECFSZ   11,1

GOTO    LOOP1

DECFSZ   10,1

GOTO LOOP

延時時間=1+1+[1+1+(1+2)*16-1+1+2]*100-1=5201(μS)

以上便是小編此次帶來的全部內容,希望大家喜歡。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲永久免费观看| 亚洲第一中文字幕| 又紧又大又爽精品一区二区| 欧美在线free| 亚洲香蕉成视频在线观看| 中国成人亚色综合网站| 欧美人在线视频| 免费成人av| 亚洲欧洲日韩在线| 久久久亚洲高清| 免费欧美日韩国产三级电影| 欧美成人精品在线播放| 欧美怡红院视频一区二区三区| 亚洲精品久久久久| 欧美人成在线视频| 亚洲伦理一区| 久久久久久一区二区| 在线免费高清一区二区三区| 欧美一区二区三区在线视频| 午夜精品久久久久久久| 欧美午夜一区| 欧美体内she精视频在线观看| 亚洲精品乱码久久久久久蜜桃91| 一本色道久久综合狠狠躁篇的优点| 欧美日韩在线视频一区| 午夜国产精品视频| 一本一道久久综合狠狠老精东影业| 亚洲国产福利在线| 国产性做久久久久久| 亚洲国产欧美国产综合一区| 国产麻豆视频精品| 欧美日韩精品免费观看视频完整| 99精品久久免费看蜜臀剧情介绍| 国产综合一区二区| 亚洲国产专区校园欧美| 国产精品一区久久久| 欧美日产国产成人免费图片| 欧美日韩免费一区二区三区视频| 亚洲精品欧美日韩专区| 国产在线高清精品| 欧美日韩少妇| 久久久久久久一区| 国产丝袜一区二区三区| 欧美电影美腿模特1979在线看| 欧美一区二区三区视频免费播放| 一区二区在线视频| 国产日韩精品电影| 亚洲小说春色综合另类电影| 日韩视频一区二区在线观看| 夜夜嗨av一区二区三区网站四季av| 免费亚洲一区二区| 一区二区三区 在线观看视| 国产精品极品美女粉嫩高清在线| 欧美日韩一二三区| 日韩一二三在线视频播| 国产精品一区二区在线观看| 欧美日韩不卡在线| 欧美va亚洲va国产综合| 亚洲网站在线| 亚洲第一在线综合在线| 国产精品h在线观看| 欧美成人中文字幕| 亚洲国产精品一区二区三区| 久久一区二区三区四区五区| 欧美激情一区二区三区在线视频| 亚洲伦理网站| 国产日韩欧美综合| 一区二区三区视频在线播放| 国产精品视频久久久| 一区二区三区免费在线观看| 久久av一区二区三区漫画| 久久综合狠狠综合久久激情| 亚洲国产精彩中文乱码av在线播放| 亚洲国产视频a| 欧美bbbxxxxx| 欧美视频三区在线播放| 午夜国产精品视频免费体验区| 欧美色道久久88综合亚洲精品| 久久久一区二区| 亚洲精品自在在线观看| 欧美日韩免费观看一区| 狠狠色狠狠色综合人人| 影音先锋另类| 伊人春色精品| 免费看亚洲片| 亚洲国产精品久久| 欧美理论电影在线播放| 欧美人与性动交α欧美精品济南到| 欧美色精品在线视频| 欧美日韩日韩| 久久综合色播五月| 亚洲精品中文字幕在线观看| 国内精品**久久毛片app| 一本久道久久综合中文字幕| 亚洲激情电影在线| 久久精品青青大伊人av| 国产精品欧美久久| 国内视频一区| 亚洲在线视频免费观看| 中文网丁香综合网| 国产日韩精品电影| 激情综合久久| 午夜精品影院在线观看| 欧美天天视频| 欧美美女日韩| 亚洲国产专区校园欧美| 国产一区二区观看| 国产精品日韩欧美综合| 欧美日韩精品综合| 欧美美女福利视频| 欧美激情综合色综合啪啪| 亚洲国产精品美女| 亚洲一区二区网站| 久久精彩免费视频| 老司机午夜精品视频在线观看| 日韩视频在线你懂得| 亚洲视频网站在线观看| 亚洲一区二区视频在线| 国产一区二区三区久久精品| 一区二区三区免费看| 国产亚洲aⅴaaaaaa毛片| 欧美精品一区视频| 亚洲一区二区三区四区在线观看| 黄色国产精品| 欧美一区二视频在线免费观看| 国产又爽又黄的激情精品视频| 国产欧美精品久久| 久久免费国产精品| 欧美韩日一区二区| 国产精品va| 黄色在线一区| 亚洲第一福利社区| 亚洲人成网站在线观看播放| 午夜在线精品偷拍| 久久久久久色| 亚洲黄页一区| 国产精品久久久对白| 日韩香蕉视频| 国产视频亚洲精品| 国产精品福利影院| 国产日韩av一区二区| 欧美精品在线视频观看| 永久免费视频成人| 久久亚洲国产精品日日av夜夜| 国产视频精品免费播放| 国产精品成人免费视频| 久久成年人视频| 日韩写真在线| 久热精品在线| 亚洲天堂激情| 国产日韩欧美在线视频观看| 欧美国产一区在线| 亚洲视频欧美视频| 国产精品久久久久久久久久免费| 国产精品久久久久久久午夜片| 免费观看日韩| 国产精品久久久久久av福利软件| 亚洲高清不卡一区| 欧美午夜激情视频| 国产精品视频大全| 久久久噜噜噜久久狠狠50岁| 亚洲精品视频在线看| 欧美一区亚洲一区| 欧美精品色综合| **性色生活片久久毛片| 日韩午夜中文字幕| 美女脱光内衣内裤视频久久网站| 欧美精品一区在线| 国产精品日韩久久久久| 欧美日韩国产色视频| 免费不卡在线视频| 欧美三级欧美一级| 欧美性jizz18性欧美| 狠狠色丁香婷婷综合影院| 国产日韩精品视频一区| 久久久亚洲影院你懂的| 在线成人av.com| 国产精品成人观看视频免费| 在线成人激情视频| 欧美午夜不卡影院在线观看完整版免费| 亚洲精品欧美极品| 最新国产精品拍自在线播放| 欧美日韩久久精品| 国产亚洲精品福利| 欧美专区在线| 欧美激情亚洲| 一区二区三区在线免费视频| 亚洲日本电影在线| 国产精品久久久久久久久久久久久久| 欧美电影免费观看| 亚洲麻豆国产自偷在线| 欧美视频免费在线观看| 久热国产精品| 国产麻豆精品在线观看| 久久本道综合色狠狠五月| 久久激情五月婷婷| 欧美xxxx在线观看| 欧美成人午夜| 在线观看免费视频综合| 国产日韩视频| 亚洲日韩中文字幕在线播放| 午夜精品免费在线| 国产视频自拍一区| 欧美日韩国产在线播放网站| 国产一区av在线| 亚洲视频免费在线观看| 久久成年人视频| 欧美视频三区在线播放| 欧美一级视频精品观看| 黄色精品网站| 国内成人精品2018免费看| 久久夜色精品国产| 亚洲欧洲中文日韩久久av乱码| 欧美久久久久久久久久| 久久久久91| 国产综合18久久久久久| 免费欧美电影| 欧美四级电影网站| 久久综合婷婷| 国产日韩欧美在线播放不卡| 亚洲高清久久| 欧美精品一区二区三区高清aⅴ| 蜜臀av在线播放一区二区三区| 亚洲手机成人高清视频| 激情久久一区| 国产精品福利网站| 久久久精品tv| 性欧美激情精品| 小嫩嫩精品导航| 国产日产亚洲精品系列| 亚洲一区二区三区在线| 亚洲欧美成人网| 亚洲大片免费看| 午夜欧美电影在线观看| 久久久噜久噜久久综合| 国产精品自拍网站| 国产日韩欧美中文| 欧美在线视频观看免费网站| 国产色综合天天综合网| 欧美日韩精品在线视频| 欧美三级资源在线| 国产精品日韩二区| 99国产精品视频免费观看| 欧美日韩亚洲一区二区三区在线观看| 亚洲日韩欧美视频| 欧美不卡视频一区发布| 欧美国产精品久久| 欧美日韩精品欧美日韩精品一| 欧美一区2区三区4区公司二百| 欧美激情综合五月色丁香小说| 欧美成人在线免费观看| 免费国产自线拍一欧美视频| 亚洲精品视频在线观看网站| 亚洲黄色成人网| 亚洲日本欧美日韩高观看| 亚洲国产精品福利| 亚洲国产99精品国自产| 亚洲黄色小视频| 亚洲欧美日韩综合国产aⅴ| 欧美丰满少妇xxxbbb| 久久婷婷国产麻豆91天堂| 亚洲午夜精品网| 久久精品国产精品| 久久综合伊人77777麻豆| 亚洲女同同性videoxma| 欧美巨乳在线观看| 影音先锋成人资源站| 亚洲欧美一区二区视频| 欧美a级片网站| 嫩模写真一区二区三区三州| 中文在线资源观看网站视频免费不卡| 亚洲精品在线视频观看| 欧美黄色一级视频| 洋洋av久久久久久久一区| 好吊成人免视频| 久久成人18免费网站| 久久精品国产一区二区三区免费看| 亚洲老司机av| 久久午夜激情| 夜夜嗨av色综合久久久综合网| 欧美日韩成人综合| 亚洲国产欧美一区二区三区丁香婷| 激情久久久久久| 亚洲国内精品在线| 亚洲欧美一区二区激情| 一区二区精品| 久久亚洲高清| 亚洲成人资源网| 亚洲经典视频在线观看| 欧美一区二区三区另类| 欧美视频不卡中文| 99re热这里只有精品视频| 亚洲国产精品精华液2区45| 一本一本久久a久久精品牛牛影视| 久久综合狠狠| 99成人免费视频| 欧美日韩国产综合视频在线| 久久精品噜噜噜成人av农村| 亚洲第一主播视频| 欧美日韩视频在线第一区| 亚洲欧洲一区二区在线播放| 亚洲裸体在线观看| 午夜一区二区三区不卡视频| 牛夜精品久久久久久久99黑人| 国产日韩精品一区二区浪潮av| 国产一在线精品一区在线观看| 欧美一级午夜免费电影| 欧美日本三级| 国产精品亚洲不卡a| 国产精品极品美女粉嫩高清在线| 在线观看日韩www视频免费| 欧美性猛交一区二区三区精品| 久久9热精品视频| 在线看欧美视频| 韩国女主播一区二区三区| 久久综合色88| 欧美性猛交视频| 亚洲国产日本| 国产精品美女久久久久久久| 欧美一区二区三区免费大片| 久久免费视频这里只有精品| 久久久国产精品一区二区三区| 美脚丝袜一区二区三区在线观看| 欧美18av| 欧美日韩国产综合在线| 国产酒店精品激情| 亚洲女性喷水在线观看一区| 久久精品国产综合精品|