您的位置:網(wǎng)站首頁(yè) > 電器維修資料網(wǎng) > 正文 >
建立PIC單片機(jī)源程序必備的基本知識(shí)
來(lái)源: 日期:2013-11-16 22:08:22 人氣:標(biāo)簽:
我們?cè)诮ic單片機(jī)的源程序時(shí),若操作數(shù)是常數(shù),必須按下表的方式進(jìn)行書寫,否則匯編不會(huì)成功。
在書寫源程序有關(guān)常數(shù)時(shí),不一定選取表1中的一種(制式)數(shù),應(yīng)由源程序指令的功能,決定其應(yīng)該使用的進(jìn)制數(shù)。當(dāng)pic單片機(jī)用作彩燈控制器或用發(fā)光二極管led作輸出口的演示程序時(shí),應(yīng)選取二進(jìn)制數(shù)給pic單片機(jī)輸出口送數(shù),這種二進(jìn)制數(shù) 為直觀。若用pic單片機(jī)制作定時(shí)器,因秒到分、分到時(shí)是60進(jìn)制數(shù),時(shí)到日是24小時(shí)進(jìn)制數(shù),此時(shí),在設(shè)定源程序中的常數(shù)時(shí),選取十進(jìn)制數(shù) 為直觀、物理意義 清楚、查找程序 方便。所以讀者會(huì)看到,在今后介紹較長(zhǎng)的實(shí)用源程序中,表達(dá)的常數(shù)往往是多種進(jìn)制的。此外,在建立pic單片機(jī)的源程序時(shí),常需進(jìn)行簡(jiǎn)單的加、減運(yùn)算,這時(shí)記住表2的二進(jìn)制、十六進(jìn)制和十進(jìn)制數(shù)之間的關(guān)系,對(duì)計(jì)算十分有用。
在下表中,僅列出了十進(jìn)制數(shù)的0~15,十六進(jìn)制數(shù)的0~f和二進(jìn)制數(shù)的0000~1111等相互間對(duì)應(yīng)值的轉(zhuǎn)換關(guān)系。因pic單片機(jī)內(nèi)部的寄存器是8位的,所以給某個(gè)寄存器送數(shù)時(shí), 多可送8位二進(jìn)制數(shù),其 大值為b’llllllll’;可送兩位十六進(jìn)制數(shù),其 大值為oxff;可送3位十進(jìn)制數(shù),其 大值為255。
在實(shí)際應(yīng)用中,兩位十六進(jìn)制數(shù)到十進(jìn)制數(shù)的轉(zhuǎn)換用的較多,其轉(zhuǎn)換方法如下:
例1:oxbc對(duì)應(yīng)的十進(jìn)制數(shù)是多少?
解:oxbc轉(zhuǎn)換成十進(jìn)制數(shù)一b×16+c(轉(zhuǎn)換),其中b、c是表2中的十六進(jìn)制數(shù)b、c對(duì)應(yīng)的十進(jìn)制制數(shù)11和12,則
由實(shí)例計(jì)算可見,要將兩位十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)的方法是,只需從表2中,查出十六進(jìn)制數(shù)的高位與十進(jìn)制數(shù)的對(duì)應(yīng)值,再乘16(16是十六進(jìn)制數(shù)的“權(quán)”)、加其低位對(duì)應(yīng)的十進(jìn)制數(shù)即可。例如ox67轉(zhuǎn)換成十進(jìn)制數(shù)應(yīng)為
由此可見,牢記上表十分重要。
在建立pic單片機(jī)源程序時(shí),首先會(huì)用到偽指令。偽指令是用來(lái)給匯編程序提供匯編的控制功能、完成匯編程序作各種準(zhǔn)備工作的。與匯編指令不同,它沒(méi)有機(jī)器碼(目標(biāo)碼)與其對(duì)應(yīng),所以僅在源程序的匯編過(guò)程中起一定作用。一旦匯編結(jié)束,偽指令的功能即告完成。但是,偽指令是建立pic單片機(jī)源程序不可缺少的組成部分,否則匯編不會(huì)成功。偽指令可分四類,現(xiàn)分別介紹如下:
(1)列表偽指令。實(shí)例:表達(dá)式list。功能,可作源程序中pic單片機(jī)的選項(xiàng)和控制其匯編過(guò)程。常用于源程序的起始列,如:
(2)數(shù)據(jù)偽指令。實(shí)例(a),表達(dá)式#include。功能,在mplab中調(diào)用系統(tǒng)指定的所有文件(若mplab的早期版本中,沒(méi)有指令中需要的文件,則不能匯編)。如:
實(shí)例(b),表達(dá)式equ。功能,可作為標(biāo)號(hào)賦值或選擇pic單片機(jī)內(nèi)部寄存器單元的地址,如
(3)控制偽指令。實(shí)例(a),表達(dá)式org。功能,可作pic單片機(jī)程序存放的起始地址和復(fù)位地址,
實(shí)例(b),表達(dá)式end。功能,程序結(jié)束指令。這條指令放在pic單片機(jī)源程序的結(jié)束行。若end之后還有語(yǔ)句,將被視為無(wú)效;若源程序結(jié)束無(wú)end,則匯編不會(huì)成功。
若小結(jié)上述列舉的幾條偽指令,可得出在建立pic單片機(jī)源程序時(shí),必須按下述格式進(jìn)行(這里以pic16f84為例)
【看看這篇文章在百度的收錄情況】
相關(guān)文章
- 上一篇: 鋰離子電池的優(yōu)缺點(diǎn)介紹
- 下一篇: PIC單片機(jī)的指令和源程序