男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發
培訓信息
贊助商
PIC系列8位單片機源程序詳解
PIC系列8位單片機源程序詳解
 更新時間:2009-11-24 11:29:23  點擊數:0
【字體: 字體顏色

PIC系列單片機的源程序是指PIC的助記符指令編寫的程序(匯編語言程序)。這里將對PIC源程序的格式要求和其源程序的建立或書寫作簡要的介紹。
一般來說對PIC的源程序格式并沒有要求統一的編寫形式,用戶可以根據習慣來編寫,當然編寫時應遵守匯編的一些規范。下面以PIC16F84芯片點亮一支發光二極管的匯編程序實例,介紹一種源程序編寫的方法(格式),以供實際應用時參考。

         源程序清單
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 <p16F84.inc>
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
現對源程序清單逐行加以說明。
第1行為文件(File)名,這里取名TURNON.ASM。TURNON意指一個接通(即接通LED)程序。ASM是源程序的擴展名。
第2行說明是由適用于PIC16F84微控制器的匯編碼編寫的源程序。
第3行說明程序用途是接通PIC16F84 PORTB的B0位LED。
第4行說明由RC振蕩器供給時鐘,頻率約為100kHz。
第5、6、7行說明對16F84 CPU的結構設置(用RC振蕩器,看門狗定時器即watchdog timer關,上電power-up定時器開,關于16F84的結構設置,后面將詳談)。
第8、9、10行為偽指令。這是用來向匯編程序提供有關如何完成匯編的控制命令信息,它既是匯編過程的控制指令,也是匯編程序的操作指令。在這里8、 9、10行還向匯編程序說明,單片機用的是16F84,用RC振蕩器、看門狗定時器關斷不用,但上電定時器接通使用。對照5、6行,可見二者內容相同,但一個是注釋,專門為用戶說明,另一個是偽指令,是為PC機的匯編程序提供命令信息。
第11行又是注釋,說明程序主體由此開始。
第12行說明程序存放在由地址0開始的16F84單片機中的程序存貯器中,也是一條偽指令。
第13、14兩行為注釋,說明后續的一段指令(兩句)的作用,即在啟動時,所有端口為輸入,隨即將B口設定為全輸出(即各位均為輸出)。
第15行是匯編語言編寫的第一條指令,即對二進制(B)數“00000000”存入工作寄存器W。
第16行將W寄存器的內容(即00000000)傳送到B口控制寄存器,使B口成為輸出口。15、16行均帶有注釋。  第17行為注釋,說明下面的二條指令是使B口的最低位為1。
第18行的指令將二進制數00000001送入工作寄存器W,第19行指令則將W寄存器的內容復制到B口,則B口的最低位B0為高電平,其余各位則為低電平,使接到B0位的LED發光。
第20行又是注釋。說明下面的指令將使B0位為高的狀態繼續下去。
第21行的指令為無限循環語句,維持B1口輸出為高不變。
第22行是偽指令END,表明程序到此結束。
將清單所列程序在PC機上用一種名為MPASM的匯編軟件進行匯編后,如無錯誤,即可獲得擴展名為.HEX的相應機器碼文件,借助編程器將該文件的相應內容燒入PIC16F84的程序存儲器內,并將編程好的芯片插入前述的電路板中,再加上電源,即可點亮16F84 B0位的LED。

  • 上一篇: PIC 8位單片機芯片引腳功能
  • 下一篇: 沒有了
  • 發表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發消息66821730(技術支持)點擊這里給我發消息66821730(廣告投放) 點擊這里給我發消息41031197(編輯) 點擊這里給我發消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業自行提供,該企業負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(濱江)機電一體化學會
    中國行業電子商務100強網站

    網站經營許可證:浙B2-20080178-1
    主站蜘蛛池模板: 罗平县| 华亭县| 嫩江县| 佛山市| 深圳市| 康定县| 莎车县| 碌曲县| 洱源县| 巫溪县| 青州市| 兴安盟| 民权县| 西峡县| 南昌市| 嘉祥县| 巴南区| 弋阳县| 威宁| 洛阳市| 林周县| 房产| 常熟市| 两当县| 根河市| 洛浦县| 甘泉县| 永登县| 五台县| 洱源县| 大新县| 永平县| 周宁县| 特克斯县| 汾阳市| 忻州市| 伊吾县| 普格县| 社旗县| 柘荣县| 汤阴县|