日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機入門 >> PIC8位單片機源程序編寫方法

PIC8位單片機源程序編寫方法

關(guān)鍵字:PIC8 位單片機 編寫 方法 作者:admin 來源:不詳 發(fā)布時間:2018-05-19  瀏覽:6

PIC系列單片機的源程序是指PIC的助記符指令編寫的程序(匯編語言程序)。這里將對PIC源程序的格式要求和其源程序的建立或書寫作簡要的介紹。

一般來說對PIC單片機的源程序格式并沒有要求統(tǒng)一的編寫形式,用戶可以根據(jù)習(xí)慣來編寫,當(dāng)然編寫時應(yīng)遵守匯編的一些規(guī)范。下面以PIC16F84芯片點亮一支發(fā)光二極管的匯編程序?qū)嵗,介紹一種源程序編寫的方法(格式),以供實際應(yīng)用時參考。

源程序清單

1File TURNON.ASM

2Assembly code for PIC16F84 microcontroller

3Turns on an LED connected to B0

4Uses RC oscillator,about 100kHz

5CPU configuration

6(it’s a 16F84,RC oscillator

7watchdog timer off,power-up timer on)

8processor 16F84

9include

10_config_RC_OSC&_WDT_OFF&_PWRTE_ON

11Program

12org 0;start at address 0

13At startup,all ports are inputs

14Set Port B to all outputs

15movlw B‘00000000’;w=binary 00000000

16tris Portb     ;copy w to port B control reg

17Put a 1 in the lowest bit of port B

18movlw B‘00000001’;w=binary 00000001

19movwf portb    ;copy w to port B itself

20Stop by going into an endless loop

21fin:goto fin

22end ;program ends here

現(xiàn)對源程序清單逐行加以說明。

第1行為文件(File)名,這里取名TURNONASM。TURNON意指一個接通(即接通LED)程序。ASM是源程序的擴展名。

第2行說明是由適用于PIC16F84微控制器的匯編碼編寫的源程序。

第3行說明程序用途是接通PIC16F84 PORTB的B0位LED。

第4行說明由RC振蕩器供給時鐘,頻率約為100kHz。

第5、6、7行說明對16F84 CPU的結(jié)構(gòu)設(shè)置(用RC振蕩器,看門狗定時器即watchdog timer關(guān),上電power-up定時器開,關(guān)于16F84的結(jié)構(gòu)設(shè)置,后面將詳談)。

第8、9、10行為偽指令。這是用來向匯編程序提供有關(guān)如何完成匯編的控制命令信息,它既是匯編過程的控制指令,也是匯編程序的操作指令。在這里8、9、10行還向匯編程序說明,單片機用的是16F84,用RC振蕩器、看門狗定時器關(guān)斷不用,但上電定時器接通使用。對照5、6行,可見二者內(nèi)容相同,但一個是注釋,專門為用戶說明,另一個是偽指令,是為PC機的匯編程序提供命令信息。

第11行又是注釋,說明程序主體由此開始。

第12行說明程序存放在由地址0開始的16F84單片機中的程序存貯器中,也是一條偽指令。

第13、14兩行為注釋,說明后續(xù)的一段指令(兩句)的作用,即在啟動時,所有端口為輸入,隨即將B口設(shè)定為全輸出(即各位均為輸出)。

第15行是匯編語言編寫的第一條指令,即對二進(jìn)制(B)數(shù)“00000000”存入工作寄存器W。

第16行將W寄存器的內(nèi)容(即00000000)傳送到B口控制寄存器,使B口成為輸出口。15、16行均帶有注釋。  第17行為注釋,說明下面的二條指令是使B口的最低位為1。

第18行的指令將二進(jìn)制數(shù)00000001送入工作寄存器W,第19行指令則將W寄存器的內(nèi)容復(fù)制到B口,則B口的最低位B0為高電平,其余各位則為低電平,使接到B0位的LED發(fā)光。

第20行又是注釋。說明下面的指令將使B0位為高的狀態(tài)繼續(xù)下去。

第21行的指令為無限循環(huán)語句,維持B1口輸出為高不變。

第22行是偽指令END,表明程序到此結(jié)束。

將清單所列程序在PC機上用一種名為MPASM的匯編軟件進(jìn)行匯編后,如無錯誤,即可獲得擴展名為HEX的相應(yīng)機器碼文件,借助編程器將該文件的相應(yīng)內(nèi)容燒入PIC16F84單片機的程序存儲器內(nèi),并將編程好的芯片插入前述的電路板中,再加上電源,即可點亮16F84 B0位的LED。

編輯:admin  最后修改時間:2018-05-28

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

金川县| 敖汉旗| 巩义市| 南江县| 皋兰县| 体育| 夏河县| 阿勒泰市| 镇宁| 紫阳县| 新丰县| 宁津县| 乌拉特中旗| 新丰县| 沙湾县| 吉水县| 霍山县| 潮州市| 鸡东县| 山东省| 博乐市| 太谷县| 天峨县| 元谋县| 鄂托克前旗| 南充市| 麻阳| 长岭县| 敦化市| 民权县| 镇平县| 宁强县| 堆龙德庆县| 乌鲁木齐市| 大名县| 宝丰县| 武冈市| 桦甸市| 额尔古纳市| 达拉特旗| 旅游|