2.5 idlocs PIC idloc idloc 0x1234 ; 0x config idloc HEX errorlevel errorlevel Error (Warning) Message HEX 3-14 errorlevel

Similar documents
第5章:汇编语言程序设计

PIC16F F MPLAB 08 16F LED 15 LED

文件名

INCF SEC1,F ; 將 SEC1+1 作查表取回對應數字 MOVF SEC1,W banksel STRING1 banksel PORTB RETFIE run_sec2: MOVF SEC2,W SUBLW.5 GOTO run_min ; 將秒個位數歸 0 CLRF SEC1 MOVL

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

AN579

701PIC Introduction to PICMicro MCUs

AN541

ICD ICD ICD ICD ICD

( ) A B C D ( ) A B C D A B C D A B C D A 8750 B C 6250 D 5000 A B C D A B C D

学习MSP430单片机推荐参考书

AN546

Microsoft PowerPoint - 701_PIC-CHN_Attendee.ppt

第1章 ISIS编辑器指南

untitled

1.加入党组织主要经过哪些程序?

AN510

PIC PICC C 4K C <10% C PIC 11.3 MPLAB-IDE PICC PICC MPLAB-IDE MPLAB-IDE ICE2000 ICD2 PICC MPLAB-IDE IDE Project Set Language Tool Locations

PIC16F87X基本指令說明

高中國文科期末考            年班號姓名:

2009年挑战乔戈里

<A1AAA1AA475053B4AEBFDACAFDBEDDBDD3CAD5B3CCD0F2CAB5C0FD>

什麼是 MPASM MPASM 就是 Microchip PICmicro Assembler 單一原始檔案格式 將組合語言直接翻譯成 hex 格式的機械碼 多原始檔案格式 將組合語言翻譯成 object 格式的檔案, 該檔案須經連結器 (linker) 再產生 hex 格式的機械碼 2003 Mi

Microsoft Word - 論文終極板.doc

C语言的应用.PDF

山东2014第四季新教材《会计基础》冲刺卷第二套

材 料 目 录 1. 党 员 发 展 及 转 正 流 程 图 2. 申 请 入 党 人 员 基 本 信 息 及 培 养 记 录 表 3. 思 想 汇 报 传 阅 及 意 见 反 馈 表 4. 入 党 积 极 分 子 培 养 考 察 表 5. 政 治 审 查 函 调 信 模 板 6. 政 治 审 查

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

00513D_CN.FM

土 木 与 交 通 学 院 发 展 学 生 党 员 的 选 拨 条 件 与 推 荐 细 则 为 进 一 步 规 范 我 院 学 生 党 建 工 作, 加 强 和 完 善 我 院 对 学 生 党 员 各 个 阶 段 人 员 的 选 拔 和 培 养 工 作, 提 高 我 院 发 展 学 生 党 员 质

untitled


解 答 ( A ) 摧 心 剖 肝 : 形 容 極 度 哀 傷 ( B ) 甑 塵 釜 魚 : 比 喻 生 活 困 苦 清 寒 ( C ) 戴 笠 乘 車 : 朋 友 相 交 始 終 如 一 不 因 貴 賤 而 有 所 改 變 (D) 懲 忿 窒 欲 : 遏 止 忿 怒, 窒 塞 情 慾 5. 史

2013年度西藏自治区教育厅

實用文格式大全.doc

个 小 小 的 乡 下 人 木 匠 的 儿 子, 竟 然 有 这 么 大 的 力 量 其 实 就 是 这 点, 祂 活 出 来 的 那 种 爱, 是 世 界 上 没 有 的 祂 活 出 来 的 爱 是 世 界 上 的 人 都 需 要 的, 但 却 是 人 人 在 这 个 世 界 上 都 得 不 到

薛 秦 高 继 宁 宋 明 锁 文 洪 梁 瑞 敏 贾 跃 进 内 蒙 古 自 治 区 (3 人 ) 琪 格 其 图 米 子 良 赵 震 生 辽 宁 省 (8 人 ) 田 素 琴 白 凤 鸣 肖 瑞 崇 黄 恩 申 白 长 川 杨 世 勇 李 敬 林 王 秀 云 吉 林 省 (5 人 ) 赵 继 福

Microsoft Word - cjfg_jy0201.doc


bingdian001.com

淡江大學種子課輔社台南服務隊

逢甲大學實習工場

<443A5CD7C0C3E65CC8BAD7CAC1CF5C F73662E646F63>

untitled

呼 喊 選 集 2 3 天 國 大 英 雄 基 督 徒 因 此 在 基 督 快 將 再 臨 的 前 夕, 思 想 施 洗 約 翰 的 道 路, 對 我 們 來 說, 是 具 有 時 代 意 義 的 施 洗 約 翰 其 人 工 作 需 要 人, 需 要 合 用 的 人 在 神 的 國 度 中, 祂 所

安徽电子工程学校

OHSMS考试大纲 终.doc

目 录 专 稿 季 烨 文 革 之 初 北 京 师 大 二 附 中 的 红 色 暴 力 姜 培 良 之 死 与 仇 恨 教 育 评 论 唐 燕 关 于 北 京 女 十 中 教 师 孙 迪 之 死 给 王 友 琴 纠 错 校 史 王 逸 伦 编 辑 合 肥 市 第 六 中 学 校 史 关 于 文 革

. (A) (B) (C) A (D) (E). (A)(B)(C)(D)(E) A

Microsoft Word - S153B.doc

来 正 式 组 织 关 系 转 出 后 未 收 到 组 织 关 系 介 绍 信 回 执 的 党 员 排 查 的 主 要 任 务 是, 核 查 党 员 身 份 信 息, 摸 清 流 动 党 员 底 数, 理 顺 党 员 组 织 关 系, 健 全 完 善 党 员 档 案, 对 与 党 组 织 失 去 联

33023A.book(31005A_cn.fm)

北京2014年会计从业资格考试《会计基础》备考机试卷一

生命科学学院 学年度学风建设实施方案

6寸PDF生成工具

四川省普通高等学校

2 PIC PIC 1 / CPU PIC MCU PIC RC

Microsoft Word - xiuxinduanyu-2-doc.doc



untitled

目 录

第二章

正 确 答 案 BC 答 案 解 析 融 券 方 是 逆 回 购 方 买 入 返 售 方 资 金 融 出 方 例 2 多 选 题 所 债 券 回 购 市 场 的 参 与 主 体 主 要 有 ( ) A. 证 券 公 司 B. 保 险 公 司 C. 证 券 投 资 基 金 D. 上 市 商 业 银 行

!##$ %!!##$ & (!##$ %!!##$ &!##$!##(!##$! "

<4D F736F F D20D5D0B1EACEC4BCFEBCB0C7E5BDE0B7FECEF1BACFCDAC28C2C9CAA6B0E631A3A92E646F6378>

<4D F736F F D20B160A5CEA4A4B0EABCF4BB79A5DCA8D22E646F63>

國立中山大學學位論文典藏.PDF

!!! #!!! $##%!!! $!!!! &!!!! (!! %!! )!!! *!!!!!!! #!!!!! $

"#" " "" " " "# $ " %( )# #( %& ( " % " " # ) *# " # " $ " #(( " " "#+( % " % $ " & # " " $ $ " " $ % & " #$ % $ "& $ "" " ") # #( "( &( %+"(

89,,,,,,,,,,,,,,,,?,???,,,,,,,,,,,,,

!"#!" # $% & ($) *! +,-./ 0%)!1"%& 0%2!$!$$$ "$$$$ #$ % $$30!4$4 5,6 *& (+ 0!&" * + 7!!4 & ( )! & ( )! 80)09! 7&! #!1!1$" &&!!%!,-./ 0%)!1"%& 0%2 &1$

(A) 二 小 時 (B) 三 小 時 (C) 四 小 時 (D) 五 小 時 第 一 組 出 題 6. 若 對 於 收 到 的 交 通 違 規 罰 單 不 服, 在 收 到 罰 單 幾 日 內 須 向 警 察 機 關 或 監 理 機 關 申 訴? (A) 十 天 (B) 十 五 天 (C) 二 十

要 及 时 为 入 党 积 极 分 子 确 定 两 名 培 养 联 系 人, 进 行 联 络 帮 助 要 定 期 ( 每 季 度 至 少 一 次 ) 听 取 培 养 联 系 人 的 思 想 和 工 作 情 况 汇 报, 及 时 完 成 入 党 积 极 分 子 登 记 表 ( 见 附 件 2) 的 填

1 已 賺 得 並 已 收 到 現 金 2 已 經 收 到 現 金, 但 仍 未 賺 得 3 尚 未 賺 得, 或 收 到 現 金 4 已 經 賺 得, 但 尚 未 收 到 現 金 (2)9. 下 列 何 種 報 表 係 表 達 一 公 司 在 某 一 時 點 之 財 務 狀 況? 1 綜 合 損

2 A

FY.DOC

东 奥 解 析 (1) 小 规 模 纳 税 人 销 售 货 物, 应 按 照 3% 的 征 收 率 计 算 应 纳 税 额, 不 得 抵 扣 进 项 税 额 ;(2) 计 税 依 据 含 增 值 税 的, 应 价 税 分 离 计 算 应 纳 税 额 知 识 点 小 规 模 纳 税 人 应 纳 税 额


《革命烈士诗抄续编》

!! :!!??!!?!??!!!... :... :'?'?! :' ' :'?' :'?' :'!' : :? Page 2

<D2B0D0C4D3C5D1C52DC8CED6BEC7BF202D20BCC7CAC2B1BE>

秘密大乘佛法(下)

國立臺東高級中學102學年度第一學期第二次期中考高一國文科試題

Page 2 of 12

Microsoft Word - Sunday

鎶ョ焊0

33023A.book(31006A_cn.fm)


河 南 蓝 皮 书 文 化 (2008) 网 络 文 学 主 要 是 指 在 网 上 原 创 的 文 学 作 品 作 为 网 络 文 化 的 主 力 部 分, 网 络 文 学 的 发 展 在 近 年 来 势 不 可 挡 作 为 凭 借 新 兴 媒 介 兴 起 的 文 学, 网 络 文 学 与 传 统

《將進酒》

21 flash

科別


(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

<4D F736F F D B3F5BCB6BBE1BCC6A1B6BFBCB5E3BEABBBAAA1B72E646F63>

目录

98年度即測即評學科測試與即測即評即發證技術士技能檢定簡章

Microsoft Word 箕æ−¥ï¼‹å®ı稿;

1 TPIS TPIS 2 2

Transcription:

3.2.3 MPASM PIC 35 35 #include include #include MPASM include PIC MPLAB C:\Program Files\MPLAB IDE\MCHIP_Tools PIC.inc 3-01 #include <p16f877a.inc> ; PIC16F877A #include math.asm ; 3-01 <> MPASM MPLAB 3-01 math.asm math.asm MPLAB 3-01 #include PIC list list list p=16f877a, r=dec ; PIC16F877A 3-02 list list config

2.5 idlocs PIC idloc idloc 0x1234 ; 0x1234 3-03 config idloc HEX errorlevel errorlevel Error (Warning) Message HEX 3-14 errorlevel 3-14 0 1 2 0 3-14 1 3 3-14 [] errorlevel + - errorlevel 0, -302, -305 ; 302 305 errorlevel 1, +305 ; 305

3-04 #define / #undefine #define #define DELAY_TIME 1000 ; DELAY_TIME 1000 #define KEY1 PORTB,7 ; KEY1 PORTB 7 3-05 #define btfss PORTB,7 btfss KEY1 3-05 #define KEY1 KEY1 #define #define #define equ equ #define #define equ #define MyCount 0x70 ; MyCount 0x70 w_temp equ 0x20 count1 equ MyCount ; w_temp 0x20 ; count1 MyCount ; MyCount 3-06 equ 3-06 w_temp equ #define equ 3-07 w_temp w_temp equ 0x20 ; w_temp 0x20 movlw 0x55 ;W=0x55 movwf w_temp ; W w_temp 0x20 0x55 movf w_temp, w ; w_temp W W=0x55 movwf FSR ; W FSR FSR=0x55 movlw w_temp ; w_temp W W=0x20 movwf FSR ; FSR w_temp FSR=0x20 0x55 3-07

cblock / endc equ equ cblock/endc cblock endc cblock/endc : :1 3-08 cblock 0x20 ; 0x20 w_temp status_temp buffer:8 var1 var2 ;w_temp 0x20 ;status_temp 0x21 ;buffer 0x22 8 ;var1 0x2a ;var2 0x2b endc ; 3-08 cblock equ bank cblock org org 3-09 org 0x0000 ; 0x0000 goto main ; org 0x0004 ; 0x0004 movwf w_temp ; w ;... ; org 0x0800 ; page1 page1 Sub1 return 3-09 org

org dt dt PIC retlw xx retlw retlw dt retlw 3-10 Table addwf PCL,f ;PC dt 0 ;retlw 0 dt 1, 2, 3 ;retlw 1 ;retlw 2 ;retlw 0x33 ( 3 ASCII ) dt ABC ;retlw A ;retlw B ;retlw C 3-10 de de EEPROM EEPROM PIC16F87x PIC16F62x PIC PIC16F7x Flash EEPROM EEPROM EEPROM EEPROM 0x2100 org de EEPROM HEX EEPROM 3-11 org 0x2100 ; ; EEPROM de 0, 1, 2, 3 ;EEPROM [0]=0, [1]=1, [2]=2, [3]=3 de ABCD ;[4]=0x41, [5]=0x42, [6]=0x43, [7]=0x44 3-11 3-11 EEPROM 0x00 0x00 0x01 0x02 0x03 0x41 0x42 0x43 0x44 EEPROM 0xff EEPROM MPLAB Microchip de EEPROM fill fill

fill fill 0x0000, 5 ; 5 0x0000(NOP ) fill (goto $), NEXT_BLOCK-$ ; NEXT_BLOCK ;goto $ org 0x0800 NEXT_BLOCK 3-12 3-12 fill goto $ goto 0x0000 goto PCLATH PCLATH[4:3] 00 0x0000 PCLATH 0 end end end end 3.2.4 MPASM MPASM MPASM C #define equ $ $ 3-12 3-13 ; Here goto Here ; Delay decfsz count, f ; 1 0 goto Delay ; ; $

goto $ ; decfsz count, f ; 1 0 goto $-1 ; 1 3-13 16 high low 16 8 8 8 PC PCLATH MPASM high low 3-14 ; #define DELAY_TIME.1000 ; movlw low(delay_time) ; 0xe8 movwf count ; movlw high(delay_time) ; 0x03 movwf count+1 ; ; PCLATH PC 1.5.2 movlw high(table) ; movwf PCLATH ; PCLATH movf index,w ; call Table ; 3-14 + - * / + - * / 3-15 ; BPS Fosc/(16 (X+1)) ; X = Fosc/(BPS*16) 1 #define BPS.9600 ; #define Fosc.4000000 ; 4MHz ;... ; movlw Fosc/(BPS*.16) 1 ;.25 10 25 movwf SPBRG ; 3-15 #define >> << >> 0 << 0 #define xxx 0x55 movlw xxx>>1 ;W=0x2a

movlw xxx<<2 ;W=0x54 movlw 1<<7 ;W=0x80 3-16 & ^ & ^ 3-17 ^ C switch-case VAL1 VAL2 VAL3 RAM ; C switch-case movf switchval, w ;. switch (W) xorlw VAL1 ;W=W ^ VAL1 btfsc STATUS, Z ; 0 goto Case_VAL1 ;case VAL1: W=VAL1 xorlw VAL1^VAL2 ;W=(W^VAL1)^(VAL1^VAL2) = W^VAL2 btfsc STATUS, Z ; 0 goto Case_VAL2 ;case VAL2: W=VAL2 xorlw VAL2^VAL3 ;W=(W^VAL2)^(VAL2^VAL3) = W^VAL3 btfsc STATUS, Z ; 0 goto Case_VAL3 ;case VAL3: W=VAL3 ;... ; case 3-17 3.2.5 MPASM MPASM 3.2.5.1 MPASM MPASM MPLAB banksel banksel pagesel banksel bank banksel bank STATUS RP1:RP0 bank ; PIC16F874A RAM 2 bank

banksel TRISC ; TRISC bank (TRISC bank1) ; bsf STATUS, RP0 ; 1 ; PIC16F877A RAM 4 bank banksel TRISC ; TRISC bank (TRISC bank1) ; bsf STATUS, RP0 ; 2 bcf STATUS, RP1 ; 3-18 banksel TRISC bank RP0 bank banksel bank RP1:RP0 bank banksel banksel bank bank bank bank banksel bank bankisel banksel STATUS IRP IRP bank bankisel IRP bankisel ; PIC16F877A RAM 4 bank cblock 0x120 buffer:8 ; 0x120 8 endc bankisel buffer ; bankisel IRP movlw low(buffer) ; buffer 8 movwf FSR ; FSR ; bsf STATUS, 7 ; IRP movlw movwf 0x20 FSR 3-19 pagesel pagesel banksel PCLATH[4:3] 2K

1 4K 2 PCLATH[3] 4K 4 pagesel ; PIC16F877A RAM 4 org 0x0100 ; 0 main pagesel sub1 ; call sub1 ; pagesel $ ; goto main ; org 0x0800 ; 1 sub1 return ; ; (main ) main bsf PCLATH, 3 ; sub1 bcf PCLATH, 4 call sub1 bcf PCLATH, 3 ; bcf PCLATH, 4 goto main 3-20 clrc/setc clrc/setc STATUS clrc bcf STATUS, C ;C=0 setc bsf STATUS, C ;C=1 clrz/setz clrz/setz STATUS clrz bcf STATUS, Z ;Z=0 setz bsf STATUS, Z ;Z=1 clrdc/setdc clrdc/setdc STATUS clrdc bcf STATUS, DC ;DC=0 setdc bsf STATUS, DC ;DC=1 skpc/skpnc skpc/skpnc STATUS skpc btfss STATUS, C ; C=1 skpnc btfsc STATUS, C ; C=0 skpz/skpnz

skpz/skpnz STATUS skpz btfss STATUS, Z ; Z=1 skpnz btfsc STATUS, Z ; Z=0 skpdc/skpndc skpdc/skpndc STATUS skpdc btfss STATUS, DC ; DC=1 skpndc btfsc STATUS, DC ; DC=0 bc/bnc bc/bnc 51 jc/jnc STATUS 3-21 movlw 0x31 ;W=0x31 addwf sum,f ;sum = sum+w bc Carry1 ; Carry1 nop ; bc ;... Carry1 nop bc XXX ; C=1 XXX bc btfsc goto STATUS,C XXX bnc YYY ; C=0 YYY bnc btfss goto STATUS,C YYY 3-21 bc/bnc goto bz/bnz bc/bnc STATUS movlw 0x55 ;W=0x55 xorwf flag,w ;flag = 0x55? bz Match ;Z=1, flag=0x55, Match nop ;Z=0, bz ;... Match nop

bz XXX ; Z=1 XXX bz btfsc goto STATUS,Z XXX bnz YYY ; Z=0 YYY bnz btfss goto STATUS,Z YYY 3-22 bdc/bndc STATUS bdc XXX ; DC=1 XXX bdc btfsc goto STATUS,DC XXX bndc YYY ; DC=0 YYY bndc btfss goto STATUS,DC YYY 3-23 3.2.5.2 MPASM macro endm ; 1 IncWord macro wordval ;IncWord wordval ; incf wordval,f 1 0 skpnz ; 0 incf wordval+1,f ; 1 1 endm ;

; counter:2 cblock endc 0x20 ; Loop IncWord counter ; counter 1 ; 3 ; counter wordval goto Loop ; ; $-? 3-24 3-15 lst 3-15 call 3-24 1 #include goto goto $ + - goto $-3 goto $+2 goto 3-25 ; ; >= FL_JGE macro filereg, litval, jumpto ;filereg litval jumpto movlw litval & 0xff W 0x00~0xff subwf filereg, w ; W skpnc ; C=0 <W goto jumpto ; >=W

endm ; ; val1 equ 0x20 ; ; FL_JGE val1,.100, Val1_Over ; val1 100 ; val1>=100 Val1_Over nop ; val1<.100 ;... ; Val1_Over nop ; val1>=.100 3-25 MPASM MPASM MPASM