文章首页 | 基础入门 | 电路原理图 | 濠殿喖饪撮崹浼存嚋娴兼潙鐐婇柟顖嗗懏婢栨繛鎾寸啲閹凤拷 | PLC闂佺硶鏅炲▍锝夈€侀敓锟�   闂侀潧妫楅敃銈夈€呰瀵ǹ饪伴崘鈺冧粧濠电偛妫庨崹鍝勶耿閹殿喚鍗氭繛鍡樼懅缁€澶愭偣閸ヮ剚鏁遍悗纰夋嫹 Ctrl+D 闂佸綊娼ч鍛叏閳哄懎缁╅柟顖滃椤ユ垿鏌ㄥ☉妤冨妽闁告柨鎳愰幏顐﹀閳ュ厖鎲鹃梺姹囧妼鐎氼參寮鈧獮鎰媴绾版ê浜鹃柨鐕傛嫹婵炴垶鎸撮崑鎾绘偣瑜嶉崲鏌ヮ敆閻斿摜鈻曢柣妯夸含椤忛亶鎮硅閺屽鎹㈠Ο渚桨闁靛鍨崇粈澶愭煟閵忋倖娑ч柣鈩冪懃椤曪綁鍩€椤掑嫬鐭楅柟瀵稿Т缁旂偓绻涢崱鎰伇缂佽顑夐獮鍐€﹂幒鏃傦紲.

电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

闁宠棄鎳愰弫鍝ユ崉椤栨艾褰嗙€殿喖绻戞晶婊堝礃瀹€瀣闁哄牃鍋撻柡鍌涘婢ф濡存繝鍕毄閻庢稒鍔楅弫鍝ユ崉椤栨艾褰嗙€殿喖绻楅鍝ョ不濡も偓濞呮帡濡寸€e墎绀夐柣顫祷閻箖宕楅鈧槐锟犲蓟閵夘煈鍤勯柟闈涱儏閸烇拷 闁活澀绲婚惌楣冨礂椤掆偓缁憋紕鎷嬮敍鍕毈闁革絻鍔婇埀顒佸姉閺佸摜鈧稒鍔掔划鐘崇▔濮橆偅鐪介柛娑櫭换鈧璺烘处婢ф粓宕樼仦鐑╁亾閿燂拷
闁宠棄妫楀畷鍕緞閳轰緡鍔呭ù鍏艰壘瀹曠喖鎮ч崶銊︾皻閻庡湱鍋樼欢锟�100 c閻犲浂鍙€閳伙拷 chm闁哄秶鍘х槐锟犲Υ閸屾繄銈柡鍌涚懃閸炲鈧湱顢婇娑氱磼閸☆厾绀夐悷鏇炴濞插﹥绗熺€n亞鎽嶅鑸电啲缁辨繈宕橀崨顓у晣妤犵偠锟ラ埀顒佸姉閺佸摜鈧稒鍔掔划鐘崇▔濮橆偅鐪介柛娑櫭换鈧璺烘处婢ф粓宕樼仦鐑╁亾閿燂拷
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 单片机 >> 正文

8位PIC单片机汇编语言常用指令的识读(中)

作者:佚名    文章来源:本站原创    点击数:1737    更新时间:2011-2-6

三、面向字节、常数与控制操作的指令
  1传送立即数至工作寄存器W指令
  指令格式:MOVLW k;k表示常数、立即数和标号
  说明:MOVLW是Move Literal to w的缩写
  实例:MOVL 0x1E;常数30送W
  2I/O口控制寄存器TRIS设置指令
  指令格式;TRIS f
  说明;TRIS f是Load TRIS Register的缩写。其功能是把工作寄存器W的内容送入I/O口控制寄存器f。当W=0时,置对应I/O口为输出;W=1,置I/O口为输入。
  实例:MOVLW 0x00 ;把00H送入W
     TRIS RA ;置PIC RA口为输出
     MOVLW 0xFF ;把FFH送入W
     TRIS RB ;置PIC RB口为输入
  说明:这是PIC汇编语言中常用的几条指令,即设置某个I/O口(这里是RA口和RB口)为输入或输出的语句。可见,识读指令时,一应充分理解语句格式的功能,二应前后联系阅读。
  3W寄存器内容送寄存器f(W内容保持不变)指令
  指令格式:MOVWF f
  说明:MOVWF是Move W to f的缩写
  实例:MOVLW 0x0B;送0BH送W
     MOVWF 6 ;送W内容到RB口
  说明:第一条指令0x0B(常数11)送工作寄存器W,第二条指令,把W内容常数11送到寄存器F6中,查表F6即为RB口,所以PORT_B(B口)=0BH=D11
  4寄存器f传送指令
  指令格式:MOVF f,d
  说明:MOVF是Move f的缩写。F代表PIC中的某个寄存器。指令中的d规定:d=0时,f内容送W;d=1时,f内容送寄存器。
  实例:MOVF 6,0 ;RB口内容送W
     MOVWF 8  ;RB口内容送f8
  说明:第一条指令中的6代表寄存器f=6,查寄存器表f=6为RB口;0代表d=0,代表选择的目标为寄存器W。第二条指令中的8代表寄存器f=8。所以两条指令结果是把RB口的内容送f8。至于f8内容是多少?还应在汇编语言开始时附加指令,这里从略。
  5空操作指令
  指令格式:NOP
  说明:NOP是英语No Operation的缩写。NOP无操作数,所以称为空操作。执行NOP指令只使程序计数器PC加1,所以占用一个机器周期。
  实例:MOVLW 0xOF   ;送OFH到W
     MOVWF PORT_B ;W内容写入B口
     NOP      ;空操作
     MOVF PORT_B,W ;读操作
  说明:该三条指令是一种对I/O口的B口连续操作的实例,其目的达到写入B口的内容要读出时,应保证写、读之间有个稳定时间,因此加入了空操作指令NOP。
  6无条件跳转指令
  指令格式:GOTO k
  说明:执行该条指令时,将指令转移到指定的地址(跳转)。指令中的k,常与程序中的标号联系起来。
  实例:见第9条指令中
  7寄存器内容减1,结果为零的间跳指令
  指令格式:DECFSZ f,d
  说明:DECFSZ是英语Decrement f,Skip of not 0的缩写。符号f,d代表的意义,前述已作说明。该条指令是指寄存器的内容减1存入W(d=0)或f(d=1)中。若指令执行结果减1不为零,指令顺序执行;为零时,就间跳下一条指令后再执行(等效顺序执行一条空指令NOP),实际指令中,当d=1时,该项常被略去。
  8寄存器内容加1,结果为零间跳指令
  指令格式:INCFSZ f,d
  说明:INCFSZ是英语Increment f,Skip of 0的缩写。该条指令与上一条(7)指令差别仅在于“1”上,即执行这条指令时,寄存器f内容加1,若结果不为零,则指令顺序执行;为零则指令间跳执行。执行这条指令的其它逻辑关系与上条相同。
  9子程序返回指令
  指令格式:RETLW k
  说明:RETLW是Return Literal to W的缩写。该指令代表子程序返回,返回前先把8位立即数送W。
  实例:PIC某个汇编语言的延时子程序(摘要):
     (1)BELY MOVLW 0xC5 ;送延时常数0C5H入W
     (2)   MOVWF COUNT2;0C5H送入计数器2
     (3)   CLRF COUNT1;对计数器1清零
     (4)LOOP INCFSZ COUNT1;计数器1加1计数器1加
            1结果不为零,跳转循环
     (5)   GOTO LOOP ;
     (6)   DECTSZ CPUNT2 ;计数2减1计数器2减1
            结果不为零,跳转循环重
            复执行第4条指令
     (7)   GOTO LOOP ;
     (8)   RETLW 0   ;子程序执行结束返回
  说明:程序中的注释已分别对每条指令的功能作了说明,补充说明1当执行第(4)条加1指令结果为零时,就间跳转到执行第(6)条指令。2当执行第(6)条减1指令结果为零时,就间跳转到第(8)条子程序返回,整个延时指令才算完成。3计数器1或2代表PIC中某个寄存器,该寄存器由程序开始的伪指令赋值决定(关于伪指令今后将作专门介绍)。

  成都 史为

  知识竞赛试题:
  12请计算上文中(1)~(8)延时程序的延时时间。已知所用的某个PIC单片机的晶振为20MHz,每个指令周期执行时间为02μs,除跳转指令是双周期外,其它指令是单周期指令。


Tags:PIC系列单片机,汇编语言  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
    没有任何评论
闁汇垽娼ч悺娆忣嚕閳ь剟宕i幋鐘电Ч闁挎稒纰嶉惇褰掓⒖閸℃瑦鍋呴柛姘墕閹洨鐚鹃懡銈嗘毄閻庢稒鍔曢崺妤佹媴濠娾偓缁楀矂鎮芥担鍐唴闁搞儱澧藉▓鎴犵磾閹寸姷褰查柨娑橆唹lc鐎规悶鍎茬敮鍫曞箮閳ь剟寮甸敓锟�,婵☆垽绱曢弫鎼佸极閹殿喗鏆╅柣顓滃劥閻︼拷,闁告娲滄晶鏍嫉缁″膊A缂佹稑顦遍悺鎴︽晬娴h棄鐤柦鈧崘顏呮毄閻犱警鍨板ù妯肩磾閹寸姷褰茬紒顔藉劤瀹曟洟鏁嶇仦鑹扮鐎规悶鍎抽埢鑲╂暜閸繂鐏¢梺顐ゅС閻滎垶宕愮粭琛″亾閸屾侗鍋ㄩ弶鈺侀閸櫻冣枖閵娿儰绨冲ǎ鍥b偓鍐插絾濞村吋顨呰ぐ鍧楁晬濮樿鲸鏆╅悗娑欏姇缁辨垿宕i幋鐘电Ч闁挎冻鎷�
最新推荐
閻犙冨閺嬶繝宕犻崨顒傜憮閺夌儑鎷�
 [闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬螖閿曚焦纭堕柕鍫亰閺岋繝宕掗敂钘夘伓]闂備礁鎲¢妵鐐电矆娓氣偓婵″灚寰勭仦绋夸壕婵炴垵纾槐鎵磼閸欐ê宓嗙€规洩绻濆鎾偐瀹割喗姣堥梻浣告惈閻楀棝骞栭锔藉仾闁告洦鍓涢悷褰掓煥閻曞倹瀚�100 c闂佽崵濮村ù鍕箯閿燂拷
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]濠电偞鍨堕幐鎼佀囩€圭姰浜圭紒鈧悜鐫犻梺璇插閸愯崵绱撳鍗炲К闁告洦鍓涢々鐑芥偣閹帒濡介柛鈺佸€垮鍫曟倻閸℃浠у┑鐐叉-閺侇煝-TR
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]LM324闂佸搫顦弲婊堝礉閺嶎厼妫橀柨鐕傛嫹4~20mA闂佸搫顦遍崕鎴﹀箯閿燂拷1~5V闂備焦鐪归崹褰掓倶濮樿京鐭堥柨鐕傛嫹
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]LM386濠碉紕鍋涘﹢杈╁垝椤栫偞鍊垫い鎺嶇劍婵挳鏌熼幑鎰靛殭妞ゆ柨锕弻娑滅疀閹垮啫鍓跺銈冨劜閹瑰洤顕i妸鈺佺畾鐟滃绂嶉敐澶嬬厱闁挎繂鍟俊濂告偨椤栥倖瀚�
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]936闂備胶绮敮鎺楁晝閵堝牄浜归柟缁㈠枟閸嬨劌霉閿濆懎鏆熼柣鏂挎嚇閺屾稑螣閻撳孩鐏侀梺璇″枛閿曨亜鐣烽崼鏇熸櫢闁跨噦鎷�
 [闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬螖閿曚焦纭堕柕鍫亰閺岋繝宕掗敂钘夘伓]闂佺儵鍓濈敮鎺楀箠鎼淬劍鏅柟閭﹀厴閺嬫牠鏌曡箛銉х?闁靛牊鎸抽幃褰掓偖鐎涙ê顏�+婵犵數鍋為幐鎾疾濞戞埃鍋撻惂鍛婂+闂備胶顢婄紙浼村磿閹绢噮鏁嗛柣鏂垮悑閸庡秹鏌涢弴銊ヤ簻缂佲偓閿燂拷
 [闂傚倷绶¢崑鍛潩閵娾晛鏋侀柕鍫濐槹閸嬨劑姊婚崼鐔恒€掗柟钘夌Ч閹鎷呴悷鎵槰濡炪倖鎸搁幉鈥翅缚椤忓牜鏁嶆繛鍡樺姦閸嬶拷]S7-200PLC闂備焦鐪归崝宀€鈧凹浜為幐鎺楀閵堝棗鍓抽梺缁樻⒐濡叉帡骞忛鈷氬綊鎮崨顔碱伓 S7_2
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]S7-200闂佸湱鍘ч悺銊╁箰婵犳艾鍑犻柛鎰ㄦ櫇椤╃兘鎮规担鍛婅础缂佲偓閸曨垱鐓曢煫鍥风悼閸樻粎绱掗幉瀣,STEP7
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]ModbusPoll闂備礁鎲$划宀勵敆閻栧獛busSalve闂備胶枪妤犲繘骞忛敓锟�
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]STEP7婵犵妲呴崹顏堝礈濠靛牃鍋撳顓犳噰闁哄苯鐭佺粻娑㈠棘鐠恒劍鈻屽┑鐐差嚟婵即宕愰弴鐘哄С闁跨噦鎷� Smart_
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]Modbus闂佽崵濮撮鍛村疮閹惰姤鍎婃い鏍ㄧ矊閸ㄦ繈鏌涢幘妤€鍊荤憴锟� v1.024 缂傚倸鍊风欢銈夊箯閿燂拷
 [闂佸搫顦遍崕鎰板垂椤栨埃鏋庨柕蹇嬪灮鐏忕敻鏌ㄩ悤鍌涘]Modscan32闂備礁鎲$划宀勵敆閻栧獛sim32,modb
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]89c51闂備胶枪缁绘劙藝闁秵鍋熸繛鎴欏灩濡﹢姊洪锝囶灱闂傚棗缍婇弻锝夘敂閸℃鐝㈢紓浣介哺閻涱槝otues
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]濠电偞鍨堕幐绋棵洪妶澶婄濡わ絽鍟崒銊╂煕閻愭潙袨otues濠电偛顕慨鎯р枖閺囩儑鑰块柨娑樺閻瑩鎮楅敐搴濈敖缁炬澘绉电换婵婎槼闁告梹顨婇幃銉╂晸閿燂拷
 [闂備焦妞垮鈧紒鎻掝煼閹矂鎮欓鍌ゆ祫闁荤姵浜介崝宥夊春閸岀偞鍋eù锝囨嚀缁€鍐┿亜閹垮嫭瀚�]51闂備礁鎲¢〃鍡椕哄⿰鍕珷闁哄稁鍘肩€氬鏌涘┑鍡楊仼闁秆冿功缁辨帞鈧綀鍩栫€氾拷 protues濠电偛顕慨鎯р枖閺囩儑鑰块柨鐕傛嫹
闁哄牃鍋撻柡鍌滃閺嬪啰绮╅敓锟�
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询