女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當前位置:首頁 > 單片機 > 單片機
[導讀]1.最簡單的點亮LED程序(C)//實驗?zāi)康模狐c亮RC0口的LED //硬件設(shè)置:撥碼開關(guān)S11的第8位置ON,其他各位關(guān)閉。 #include //包含單片機內(nèi)部資源預(yù)定義 __CONFIG(0x1832); //芯片配置字,看門狗關(guān),上電延時開,掉電

1.最簡單的點亮LED程序(C)

//實驗?zāi)康模狐c亮RC0口的LED
//硬件設(shè)置:撥碼開關(guān)S11的第8位置ON,其他各位關(guān)閉。
#include //包含單片機內(nèi)部資源預(yù)定義
__CONFIG(0x1832);
//芯片配置字,看門狗關(guān),上電延時開,掉電檢測關(guān),低壓編程關(guān),加密,4M晶體HS振蕩
#include //包含單片機內(nèi)部資源預(yù)定義
#include //包含877A的頭文件

void main() //主程序
{
while(1) //死循環(huán),讓RC0一直亮
{
TRISC=0xfe; //RC0輸出,其他輸入
PORTC=0x01; //RCO輸出高電平,點亮LED
}
}


2.LED8位流水燈《霹靂燈》左移到第七位,再從第七位右移到第一位,再循環(huán)。(匯編)

;MCD1實戰(zhàn)一,LED8位流水燈《霹靂燈》左移到第七位,再從第七位右移到第一位,再循環(huán)。
;該實戰(zhàn)的目的作為學習和應(yīng)用MCD1在線調(diào)試工具套件,進行項目的軟件和硬件
;聯(lián)合調(diào)試的范例程序,也就是當做一個用戶程序?qū)嵗?,而演示板暫時充當用戶電
;路的角色。這樣就構(gòu)成了一個軟件、硬件齊全的自制項目模擬環(huán)境。
;本程序?qū)崿F(xiàn)的功能是,把端口RC的8條引腳全部設(shè)置為輸出模式,依次從引腳RC0
;到RC7送出高電平,然后再依次從引腳RC7到RC0送出高電平,并且周而復(fù)始,從而
;使得與該端口C相連的8只發(fā)光二極管LED循環(huán)依次點亮,其效果類似于一個簡單的霹靂燈。
;該程序可用于PIC16F87X(A)所有系列
;PIC單片機學習網(wǎng)http://www.pic16.com
;************************************************
;《霹靂燈》程序。文件名為“mcd-led1.ASM”
;**************************************************
__CONFIG 3F39H;設(shè)置配置位中振蕩方式為XT,其它全部禁止或關(guān)閉
;****************************************************
status equ 3h ;定義狀態(tài)寄存器地址
portc equ 7h ;定義端口C的數(shù)據(jù)寄存器地址
trisc equ 87h ;定義端口C的方向控制寄存器地址
flag equ 25h ;定義一個控制左移/右移的標志寄存器
;***********************************************************
org 0000h ;定義程序存放區(qū)域的起始地址
nop ;放置一條ICD必須的空操用指令
bsf status,5 ;設(shè)置文件寄存器的體1
movlw 00h ;對端口C的方向控制碼00H先送W
movwf trisc ;再由W轉(zhuǎn)移到方向控制寄存器
bcf status,5 ;恢復(fù)到文件寄存器體0
movlw 01h ;將00000001B先送W
movwf portc ;再由W轉(zhuǎn)移到數(shù)據(jù)寄存器
bsf flag,0 ;將左右移標志位置1,首先進行左移LED
bcf status,0 ;將標志位C先清0
loop btfss status,0 ;測試進位/借位位,是1則修改標志
goto loop1 ;是0則不修改標志
comf flag,1 ;FLAG的BIT0作為標志位,把它取反
loop1 btfss flag,0 ;判斷標志位,是1則跳到循環(huán)左移
goto loop2 ;是0則跳到循環(huán)右移
rlf portc,0 ;循環(huán)左移端口C數(shù)據(jù)寄存器,結(jié)果送W
movwf portc ;將結(jié)果再送回端口C的數(shù)據(jù)寄存器
goto loop3 ;跳過下面兩條指令
loop2 rrf portc,0 ;循環(huán)右移端口C數(shù)據(jù)寄存器,結(jié)果送回W
movwf portc ;將結(jié)果再送回端口C的數(shù)據(jù)寄存器 ;
loop3 call delay ;調(diào)用廷時子程序
goto loop ;返回
;-------------------------廷時子程序----------------------------
delay ;子程序名,也是子程序入口地址
movlw 0ffh ;將外層循環(huán)參數(shù)值FFH經(jīng)過W
movwf 20h ;送入用作外循環(huán)變量的20H單元
lp0 movlw 0ffh ;將內(nèi)層循環(huán)參數(shù)值FFH經(jīng)過W
movwf 21h ;送入用作內(nèi)循環(huán)變量的21H單元
lp1 decfsz 21h,1 ;變量21H內(nèi)容遞減,若為0跳躍
goto lp1 ;跳轉(zhuǎn)到LP1處
decfsz 20h,1 ;變量20H內(nèi)容遞減,若為0跳躍
goto lp0 ;跳躍到LP0處
return ;返回主程序
end ;源程序結(jié)束
;****************************************************************
; 進入該實戰(zhàn)演練的工序流程如下:
; 1.軟硬件的安裝:按照本說明書前面講的”MPLAB-ICD的安裝和使用”一節(jié)內(nèi)介紹的方法操作即可.
; 2.創(chuàng)建源文件和編輯源文件;在此介紹一種不同于前面講的創(chuàng)建源文件的方法,用Windows附件中的”記事本”
; 這個為大家所熟知和好用的文件編輯器,并且可以方便的加入中文注釋.不過有兩點需要注意,一是注釋前面的
; 分號”;”必須用西文半角輸入;二是必須用”.asm”擴展名存儲到事先建立的一個專用子目錄下.
; 3.打開MPLAB集成開發(fā)環(huán)境:首先在WINDOWS環(huán)境下,選用開始>程序>Microchip MPLAB>MPLAB命令,啟動MPLAB
; 并進入MPLAB的桌面.
; 4.創(chuàng)建項目:選用菜單File>New或Project>New Project,在事先建立的一個專用子目錄下創(chuàng)建一個新項目,將
; 用記事本創(chuàng)建的源文件加入到該項目中.
; 5.建立項目中的目標文件:選擇菜單Project >Build All(項目>建立所有文件),MPLAB將自動調(diào)用MPASM將項目
; 文件管理下的源文件(.asm)匯編成十六進制的目標文件(.hex).
; 6.ICD參數(shù)設(shè)置:通過菜單命令Project>Edit Project或者Option>Development Mode,將開發(fā)模式設(shè)置為
; ”MPLAB ICD Debugger”,點擊OK按鈕,打開ICD的工作窗口,在調(diào)試階段,可以按照說明書圖2-10設(shè)置各項,但需注意
; OSCILLATOR應(yīng)設(shè)置為XT方式,尤其需要說明的是,選中“Enable Debug Mode”(使能調(diào)試模式)選項,在向目
; 標單片機燒寫機器碼程序時,會將調(diào)試臨控程序同時寫入單片機的指定程序存儲器區(qū)域,然后才允許用ICD方式調(diào)試。
; 7.電路設(shè)置:將演示板的S1全部拔到ON,S4全部拔到OFF,S13的第5、第6、第7全部拔到OFF ,LCD不要插在演示板上,
; 以使端口C只與8只發(fā)光二極管接通;將用于選擇頻率的插針跳線插到”XT OSC”位置上.
; 8.向目標單片機燒寫目標程序:用戶在點擊功能按鈕”Program”向目標單片機燒寫機器碼程序時,會等待一段時間,
; 并且在條狀的狀態(tài)信息欄中,出現(xiàn)提示信息。有一點需要引起注意,就是PIC16F87X單片機的FLASH程序存儲器的擦寫
; 周期是有限的,大約為1000次,應(yīng)盡量節(jié)省它的使用壽命。
; 9.運行和調(diào)試用戶程序和用戶電路:在各項參數(shù)設(shè)置好后,將ICD的工作窗口最小化,利用前面講的”運行及調(diào)試”中介
; 紹的幾種方法進行調(diào)試.當用自動單步方式調(diào)試時,建議臨時禁止廷時子程序發(fā)揮作用,具體的方法是,可在CALL DELAY指
; 令前添加一個分號,并且重新匯編一次.為了學習目的,在調(diào)試過程中可以人為地加入一些軟件漏洞(BUG)或硬件故障,來模
; 仿單片機端口引腳的片內(nèi)或片外故障.
; 10.定型燒寫目標單片機;經(jīng)過多次重復(fù)上述步驟的反復(fù)修改和調(diào)試,使得程序和電路在聯(lián)機狀態(tài)完全正常,這時可以進行
; 定型燒寫,即將ICD窗口中的”Enable Debug Mode”(使能調(diào)試模式)選項消除,不再將調(diào)試臨控程序?qū)懭雴纹瑱C中.
; 11.獨立運行驗收:上一步中的燒寫過程完成后,即可將ICD模塊和ICD仿真頭(或演示板)之間的6芯電纜斷開,讓單片機在
; 演示板獨立運行,觀察實際效果.
;
;


3.
LED8位流水燈《霹靂燈》左移到第七位,再從第七位右移到第一位,再循環(huán)。(匯編,另一種循環(huán)方法,通過改變C端口各位的輸入輸出方向來點亮流水燈。)


;LED流水燈的另一種實現(xiàn)方法

;使用資源
;1、PORTC口,8個流水燈LED

;功能說明
;1、該程序首先把C口輸出全0,然后通過改變輸入輸出方向來電亮流水燈。
;2、先從最低位電亮,點亮到最高位后,又從最高位開始點亮到最低位,如此循環(huán)。
;3、通過改變DELAY延時時間的長短可改變流水等點亮的速度。

;硬件連接
;1、DEMO實驗板作以下設(shè)置 s1拔到ON。
;2、S4,S5全部拔到OFF LCD不要插在演示板上

;本實例原提供者:pic16論壇會員:學期班 ,在此鳴謝學前班同志共享本實例.
;由深圳市乾龍盛電子科技有限公司技術(shù)部鐘閨田(工程師)(論壇網(wǎng)名:zhongruntian)驗正并加于整理、注釋.
;網(wǎng)站:PIC單片機學習網(wǎng)http://www.pic16.com 討論論壇:http://pic16.com/bbs/
;版權(quán)所有,轉(zhuǎn)載請注明出處,并不能去掉或改變文件中的說明文字。
;程序文件名“LED.ASM“

;源程序如下:
;LIST P=16F877A R=DEC
;OST 4MHZ
;DATE 2006.04.27
;***********************************
;__CONFIG _DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SPECIAL REGISTER
STATUS EQU 83H
RC EQU 07H
TRISC EQU 87H
AB0 EQU 20H
AB1 EQU 21H
AB2 EQU 22H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;STATUS BIT
C EQU 0
DC EQU 1
Z EQU 2
RP0 EQU 5
RP1 EQU 6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PROGRAM ST
ORG 0000H ;復(fù)位地址
NOP ;放置一條MCD所需的空指令
ST
CLRF RC ;所有C口輸出為低,關(guān)閉所有顯示
BSF STATUS,5 ;選體1
LOOP MOVLW B'11111110' ;先點亮RC0
MOVWF TRISC
BCF STATUS,5 ;回到體0
MOVLW B'11111111' ;所有輸出為1,只要相應(yīng)的位被設(shè)置為輸出,即可點亮
MOVWF RC
CALL DELAY ;延時一段時間,保證LED的亮度
BSF STATUS,5
BSF STATUS,C
LOOP1 RLF TRISC,F ;點亮的位左移一位
CALL DELAY ;延時
BTFSC STATUS,C ;判斷是否點亮到了RC7 **********是btfsc,而非btfss*******************************
GOTO LOOP1 ;否,繼續(xù)左移0
MOVLW B'01111111' ;是,點亮RC7位
MOVWF TRISC
CALL DELAY
BSF STATUS,0
LOOP2 RRF TRISC ,F ;點亮的位右移一位
CALL DELAY
BTFSC STATUS,C ;是否點亮到最低位 **********是btfsc,而非btfss*******************************
GOTO LOOP2 ;否,繼續(xù)右移
GOTO LOOP ;是,重新開始新一輪循環(huán)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DELAY 0.12S
DELAY
MOVLW 0FFH
MOVWF AB0

DELAY1 MOVLW 0DH
MOVWF AB1
DELAY2
MOVLW 0BH
MOVWF AB2
DELAY3
DECFSZ AB2,F
GOTO DELAY3
DECFSZ AB1,F
GOTO DELAY2
DECFSZ AB0,F
GOTO DELAY1
RETURN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
END ;源程序結(jié)束

; 進入該實戰(zhàn)演練的工序流程如下:
; 1.創(chuàng)建源文件和編輯源文件;在此介紹一種不同于前面講的創(chuàng)建源文件的方法,用Windows附件中的”記事本”
; 這個為大家所熟知和好用的文件編輯器,并且可以方便的加入中文注釋.不過有兩點需要注意,一是注釋前面的
; 分號”;”必須用西文半角輸入;二是必須用”.asm”擴展名存儲到事先建立的一個專用子目錄下.
; 2.打開MPLAB集成開發(fā)環(huán)境:首先在WINDOWS環(huán)境下,選用開始>程序>Microchip MPLAB>MPLAB命令,啟動MPLAB
; 并進入MPLAB的桌面.
; 3.創(chuàng)建項目:選用菜單File>New或Project>New Project,在事先建立的一個專用子目錄下創(chuàng)建一個新項目,將
; 用記事本創(chuàng)建的源文件加入到該項目中.
; 4.建立項目中的目標文件:選擇菜單Project >Build All(項目>建立所有文件),MPLAB將自動調(diào)用MPASM將項目
; 文件管理下的源文件(.asm)匯編成十六進制的目標文件(.hex).

4. LED8位流水燈《霹靂燈》左移到第七位,再從第七位右移到第一位,再循環(huán)。(匯編,第三種實現(xiàn)方式,利用左移的性質(zhì))

;改為一直循環(huán)左移
;************************************************
;**************************************************
__CONFIG 3F39H;設(shè)置配置位中振蕩方式為XT,其它全部禁止或關(guān)閉
;****************************************************
status equ 3h ;定義狀態(tài)寄存器地址
portc equ 7h ;定義端口C的數(shù)據(jù)寄存器地址
trisc equ 87h ;定義端口C的方向控制寄存器地址
flag equ 25h ;定義一個控制左移/右移的標志寄存器
;***********************************************************
org 0000h ;定義程序存放區(qū)域的起始地址
nop ;放置一條ICD必須的空操用指令
bsf status,5 ;設(shè)置文件寄存器的體1
movlw 00h ;對端口C的方向控制碼00H先送W
movwf trisc ;再由W轉(zhuǎn)移到方向控制寄存器
bcf status,5 ;恢復(fù)到文件寄存器體0
movlw 01h ;將00000001B先送W
movwf portc ;再由W轉(zhuǎn)移到數(shù)據(jù)寄存器
call delay ;
bsf flag,0 ;將左右移標志位置1,首先進行左移LED
bcf status,0 ;將標志位C先清0
loop
rlf portc,0 ;循環(huán)左移端口C數(shù)據(jù)寄存器,結(jié)果送W
movwf portc ;將結(jié)果再送回端口C的數(shù)據(jù)寄存器
call delay ;
goto loop ;跳過下面兩條指令

;-------------------------廷時子程序----------------------------
delay ;子程序名,也是子程序入口地址
movlw 0ffh ;將外層循環(huán)參數(shù)值FFH經(jīng)過W
movwf 20h ;送入用作外循環(huán)變量的20H單元
lp0 movlw 0ffh ;將內(nèi)層循環(huán)參數(shù)值FFH經(jīng)過W
movwf 21h ;送入用作內(nèi)循環(huán)變量的21H單元
lp1 decfsz 21h,1 ;變量21H內(nèi)容遞減,若為0跳躍
goto lp1 ;跳轉(zhuǎn)到LP1處
decfsz 20h,1 ;變量20H內(nèi)容遞減,若為0跳躍
goto lp0 ;跳躍到LP0處
return ;返回主程序
end ;源程序結(jié)束
;****************************************************************
; 進入該實戰(zhàn)演練的工序流程如下:
; 1.軟硬件的安裝:按照本說明書前面講的”MPLAB-ICD的安裝和使用”一節(jié)內(nèi)介紹的方法操作即可.
; 2.創(chuàng)建源文件和編輯源文件;在此介紹一種不同于前面講的創(chuàng)建源文件的方法,用Windows附件中的”記事本”
; 這個為大家所熟知和好用的文件編輯器,并且可以方便的加入中文注釋.不過有兩點需要注意,一是注釋前面的
; 分號”;”必須用西文半角輸入;二是必須用”.asm”擴展名存儲到事先建立的一個專用子目錄下.
; 3.打開MPLAB集成開發(fā)環(huán)境:首先在WINDOWS環(huán)境下,選用開始>程序>Microchip MPLAB>MPLAB命令,啟動MPLAB
; 并進入MPLAB的桌面.
; 4.創(chuàng)建項目:選用菜單File>New或Project>New Project,在事先建立的一個專用子目錄下創(chuàng)建一個新項目,將
; 用記事本創(chuàng)建的源文件加入到該項目中.
; 5.建立項目中的目標文件:選擇菜單Project >Build All(項目>建立所有文件),MPLAB將自動調(diào)用MPASM將項目
; 文件管理下的源文件(.asm)匯編成十六進制的目標文件(.hex).
; 6.ICD參數(shù)設(shè)置:通過菜單命令Project>Edit Project或者Option>Development Mode,將開發(fā)模式設(shè)置為
; ”MPLAB ICD Debugger”,點擊OK按鈕,打開ICD的工作窗口,在調(diào)試階段,可以按照說明書圖2-10設(shè)置各項,但需注意
; OSCILLATOR應(yīng)設(shè)置為XT方式,尤其需要說明的是,選中“Enable Debug Mode”(使能調(diào)試模式)選項,在向目
; 標單片機燒寫機器碼程序時,會將調(diào)試臨控程序同時寫入單片機的指定程序存儲器區(qū)域,然后才允許用ICD方式調(diào)試。
; 7.電路設(shè)置:將演示板的S1全部拔到ON,S4全部拔到OFF,S13的第5、第6、第7全部拔到OFF ,LCD不要插在演示板上,
; 以使端口C只與8只發(fā)光二極管接通;將用于選擇頻率的插針跳線插到”XT OSC”位置上.
; 8.向目標單片機燒寫目標程序:用戶在點擊功能按鈕”Program”向目標單片機燒寫機器碼程序時,會等待一段時間,
; 并且在條狀的狀態(tài)信息欄中,出現(xiàn)提示信息。有一點需要引起注意,就是PIC16F87X單片機的FLASH程序存儲器的擦寫
; 周期是有限的,大約為1000次,應(yīng)盡量節(jié)省它的使用壽命。
; 9.運行和調(diào)試用戶程序和用戶電路:在各項參數(shù)設(shè)置好后,將ICD的工作窗口最小化,利用前面講的”運行及調(diào)試”中介
; 紹的幾種方法進行調(diào)試.當用自動單步方式調(diào)試時,建議臨時禁止廷時子程序發(fā)揮作用,具體的方法是,可在CALL DELAY指
; 令前添加一個分號,并且重新匯編一次.為了學習目的,在調(diào)試過程中可以人為地加入一些軟件漏洞(BUG)或硬件故障,來模
; 仿單片機端口引腳的片內(nèi)或片外故障.
; 10.定型燒寫目標單片機;經(jīng)過多次重復(fù)上述步驟的反復(fù)修改和調(diào)試,使得程序和電路在聯(lián)機狀態(tài)完全正常,這時可以進行
; 定型燒寫,即將ICD窗口中的”Enable Debug Mode”(使能調(diào)試模式)選項消除,不再將調(diào)試臨控程序?qū)懭雴纹瑱C中.
; 11.獨立運行驗收:上一步中的燒寫過程完成后,即可將ICD模塊和ICD仿真頭(或演示板)之間的6芯電纜斷開,讓單片機在
; 演示板獨立運行,觀察實際效果.
;
;


5. LED8位流水燈《霹靂燈》左移到第七位,再從第七位右移到第一位,再循環(huán)。(C,第三種實現(xiàn)方式,利用左移的性質(zhì))

//實驗?zāi)康模罕境绦蛑饕獙崿F(xiàn)一個簡單的流水燈程序
//即輪流點亮C口的8個燈(先點亮RC0,再熄滅RCO點亮RC1。。。。)
//硬件要求:撥碼開關(guān)S11全部置ON。
#include //包含單片機內(nèi)部資源預(yù)定義
__CONFIG(0x1832);
//芯片配置字,看門狗關(guān),上電延時開,掉電檢測關(guān),低壓編程關(guān),加密,4M晶體HS振蕩

void delay(); //delay函數(shù)申明

void main() //主函數(shù)
{
while(1) //死循環(huán),讓C口流水燈一直工作
{
char i; //定義整型變量
TRISC=0X00; //C口定義為輸出
PORTC=0X01; //點亮RCO口LED
for(i=8;i>0;i--) //循環(huán)左移7次
{
delay();
delay(); //調(diào)用一定的延時程序,保證閃爍的速率
PORTC=PORTC<<1; //顯示左移一位(RC0-->RC7-->RC0)
}
}
}

void delay() //延時子程序
{
int i; //定義整型變量
for(i=5000;i>0;i--)
{;} //空函數(shù),什么也不執(zhí)行,只是消耗一定的時間
}

6.LED8位流水燈《霹靂燈》從0位開始左移,移到第七位時直接跳到零位,再左移,循環(huán)(匯編)

;改為從0位開始左移,移到第七位時直接跳到零位,再左移。

;**************************************************
__CONFIG 3F39H;設(shè)置配置位中振蕩方式為XT,其它全部禁止或關(guān)閉
;****************************************************
status equ 3h ;定義狀態(tài)寄存器地址
portc equ 7h ;定義端口C的數(shù)據(jù)寄存器地址
trisc equ 87h ;定義端口C的方向控制寄存器地址
flag equ 25h ;定義一個控制左移/右移的標志寄存器
;***********************************************************
org 0000h ;定義程序存放區(qū)域的起始地址
nop ;放置一條ICD必須的空操用指令
bsf status,5 ;設(shè)置文件寄存器的體1
movlw 00h ;對端口C的方向控制碼00H先送W
movwf trisc ;再由W轉(zhuǎn)移到方向控制寄存器
bcf status,5 ;恢復(fù)到文件寄存器體0
loop2 movlw 01h ;將00000001B先送W
movwf portc ;再由W轉(zhuǎn)移到數(shù)據(jù)寄存器
call delay ;
bsf flag,0 ;將左右移標志位置1,首先進行左移LED
bcf status,0 ;將標志位C先清0
loop btfss status,0 ;測試進位/借位位,是1則修改標志
goto loop1 ;是0則不修改標志
comf flag,1 ;FLAG的BIT0作為標志位,把它取反
loop1 btfss flag,0 ;判斷標志位,是1則跳到循環(huán)左移
goto loop2 ;是0則跳回原處
rlf portc,0 ;循環(huán)左移端口C數(shù)據(jù)寄存器,結(jié)果送W
movwf portc ;將結(jié)果再送回端口C的數(shù)據(jù)寄存器
goto loop3 ;跳過下面兩條指令
loop3 call delay ;調(diào)用廷時子程序
goto loop ;返回
;-------------------------廷時子程序----------------------------
delay ;子程序名,也是子程序入口地址
movlw 0ffh ;將外層循環(huán)參數(shù)值FFH經(jīng)過W
movwf 20h ;送入用作外循環(huán)變量的20H單元
lp0 movlw 0ffh ;將內(nèi)層循環(huán)參數(shù)值FFH經(jīng)過W
movwf 21h ;送入用作內(nèi)循環(huán)變量的21H單元

lp1 decfsz 21h,1 ;變量21H內(nèi)容遞減,若為0跳躍
goto lp1 ;跳轉(zhuǎn)到LP1處
decfsz 20h,1 ;變量20H內(nèi)容遞減,若為0跳躍
goto lp0 ;跳躍到LP0處
return ;返回主程序
end ;源程序結(jié)束
;****************************************************************
; 進入該實戰(zhàn)演練的工序流程如下:
; 1.軟硬件的安裝:按照本說明書前面講的”MPLAB-ICD的安裝和使用”一節(jié)內(nèi)介紹的方法操作即可.
; 2.創(chuàng)建源文件和編輯源文件;在此介紹一種不同于前面講的創(chuàng)建源文件的方法,用Windows附件中的”記事本”
; 這個為大家所熟知和好用的文件編輯器,并且可以方便的加入中文注釋.不過有兩點需要注意,一是注釋前面的
; 分號”;”必須用西文半角輸入;二是必須用”.asm”擴展名存儲到事先建立的一個專用子目錄下.
; 3.打開MPLAB集成開發(fā)環(huán)境:首先在WINDOWS環(huán)境下,選用開始>程序>Microchip MPLAB>MPLAB命令,啟動MPLAB
; 并進入MPLAB的桌面.
; 4.創(chuàng)建項目:選用菜單File>New或Project>New Project,在事先建立的一個專用子目錄下創(chuàng)建一個新項目,將
; 用記事本創(chuàng)建的源文件加入到該項目中.
; 5.建立項目中的目標文件:選擇菜單Project >Build All(項目>建立所有文件),MPLAB將自動調(diào)用MPASM將項目
; 文件管理下的源文件(.asm)匯編成十六進制的目標文件(.hex).
; 6.ICD參數(shù)設(shè)置:通過菜單命令Project>Edit Project或者Option>Development Mode,將開發(fā)模式設(shè)置為
; ”MPLAB ICD Debugger”,點擊OK按鈕,打開ICD的工作窗口,在調(diào)試階段,可以按照說明書圖2-10設(shè)置各項,但需注意
; OSCILLATOR應(yīng)設(shè)置為XT方式,尤其需要說明的是,選中“Enable Debug Mode”(使能調(diào)試模式)選項,在向目
; 標單片機燒寫機器碼程序時,會將調(diào)試臨控程序同時寫入單片機的指定程序存儲器區(qū)域,然后才允許用ICD方式調(diào)試。
; 7.電路設(shè)置:將演示板的S1全部拔到ON,S4全部拔到OFF,S13的第5、第6、第7全部拔到OFF ,LCD不要插在演示板上,
; 以使端口C只與8只發(fā)光二極管接通;將用于選擇頻率的插針跳線插到”XT OSC”位置上.
; 8.向目標單片機燒寫目標程序:用戶在點擊功能按鈕”Program”向目標單片機燒寫機器碼程序時,會等待一段時間,
; 并且在條狀的狀態(tài)信息欄中,出現(xiàn)提示信息。有一點需要引起注意,就是PIC16F87X單片機的FLASH程序存儲器的擦寫
; 周期是有限的,大約為1000次,應(yīng)盡量節(jié)省它的使用壽命。
; 9.運行和調(diào)試用戶程序和用戶電路:在各項參數(shù)設(shè)置好后,將ICD的工作窗口最小化,利用前面講的”運行及調(diào)試”中介
; 紹的幾種方法進行調(diào)試.當用自動單步方式調(diào)試時,建議臨時禁止廷時子程序發(fā)揮作用,具體的方法是,可在CALL DELAY指
; 令前添加一個分號,并且重新匯編一次.為了學習目的,在調(diào)試過程中可以人為地加入一些軟件漏洞(BUG)或硬件故障,來模
; 仿單片機端口引腳的片內(nèi)或片外故障.
; 10.定型燒寫目標單片機;經(jīng)過多次重復(fù)上述步驟的反復(fù)修改和調(diào)試,使得程序和電路在聯(lián)機狀態(tài)完全正常,這時可以進行
; 定型燒寫,即將ICD窗口中的”Enable Debug Mode”(使能調(diào)試模式)選項消除,不再將調(diào)試臨控程序?qū)懭雴纹瑱C中.
; 11.獨立運行驗收:上一步中的燒寫過程完成后,即可將ICD模塊和ICD仿真頭(或演示板)之間的6芯電纜斷開,讓單片機在
; 演示板獨立運行,觀察實際效果.

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉