娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年02月26日(星期三)

正在發生

2020年02月26日 | pic單片機程序設計的基本方法解析

發布者:SparklingStar 來源: eefocus關鍵字:pic單片機  程序設計  基本方法 手機看文章 掃描二維碼
隨時隨地手機看文章

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頁面內。

pic單片機程序設計的基本方法解析

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”即可。

pic單片機程序設計的基本方法解析

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)

關鍵字:pic單片機  程序設計  基本方法 引用地址:pic單片機程序設計的基本方法解析

上一篇:pic單片機多路ad切換程序與循環程序設計
下一篇:PIC單片機實現AD轉換的設計方案

推薦閱讀

華映(2475)上季挑戰連七季獲利,去年有望終止連九年虧損,近期搶攻原廠車用面板也傳出捷報,打進BMW、豐田、本田、馬自達、長安、上汽等歐、中、日汽車大廠供應鏈,今年車用面板出貨挑戰年增14%以上, 相關產品毛利優于消費性產品,為華映業績加分。華映副總經理鐘兆其透露,華映車用面板廣受客戶喜愛,在大陸車市更拿下逾三成市占,當地每三輛轎車,就...
2月25日至28日,英特爾將在巴塞羅那舉辦的2019年世界移動通信大會上展示5G和網絡最新技術。圖為英特爾展位,在零售、沉浸式媒體和制造三大場景展示了橫跨網絡端、云端和客戶端解決方案的產品組合。(圖片來源:英特爾) 西班牙巴塞羅那,2019年2月25日——在巴塞羅那舉辦的2019年世界移動通信大會上,英特爾發布了一系列新產品、新合作和創新客戶用例,...
pic單片機是最重要的單片機種類之一,對于pic單片機,小編曾帶來諸多介紹,如pic單片機的優勢、pic單片機選型等。而在本文中,小編將為大家介紹兩種pic單片機程序:一是pic單片機多路ad切換程序,二是pic單片機循環程序。如果你對這兩類程序存在一定興趣,不妨繼續往下閱讀。一、pic單片機簡介pic單片機(Peripheral Interface Controller)是一種用來開發...
上周,蘋果推送了 iOS 14.5 beta 2 版本,加入了多個 emoji 表情以及升級 Apple Music 頁面外觀等新特性。近日,我們在使用 App Store 時發現,此版本還有一個全新的視覺優化,可以讓用戶在 App Store 購買軟件或者訂閱服務時更清晰。相比于明顯的外觀升級,App Store 這次的變化顯得非常微妙 —— 支付頁面上的文字變得更加清晰易讀...

史海拾趣

小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 大港区| 岳普湖县| 罗定市| 阿尔山市| 乐陵市| 化德县| 滨州市| 英德市| 冀州市| 涟水县| 汉寿县| 新化县| 吴川市| 崇州市| 广宗县| 朝阳县| 建湖县| 广昌县| 黑龙江省| 四子王旗| 抚远县| 二连浩特市| 镇赉县| 晋江市| 乐山市| 永和县| 全南县| 青铜峡市| 新巴尔虎右旗| 临颍县| 武威市| 清徐县| 遂昌县| 田东县| 文水县| 金湖县| 浏阳市| 奉节县| 太白县| 新泰市| 庄浪县|