中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開(kāi)發(fā)

專(zhuān)注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開(kāi)發(fā)工具

提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶(hù)產(chǎn)品競(jìng)爭(zhēng)力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

8位PIC單片機(jī)系列源程序的組成

更新時(shí)間: 2019-03-22
閱讀量:2996

單片機(jī)代理商深圳英銳恩分享8位PIC單片機(jī)系列源程序的組成,PIC單片機(jī)系列的源程序是指PIC的助記符指令編寫(xiě)的程序(匯編語(yǔ)言程序)。這里將對(duì)PIC源程序的格式要求和其源程序的建立或書(shū)寫(xiě)作簡(jiǎn)要的介紹。
  一般來(lái)說(shuō)對(duì)PIC單片機(jī)的源程序格式并沒(méi)有要求統(tǒng)一的編寫(xiě)形式,用戶(hù)可以根據(jù)習(xí)慣來(lái)編寫(xiě),當(dāng)然編寫(xiě)時(shí)應(yīng)遵守匯編的一些規(guī)范。下面以PIC16F84芯片點(diǎn)亮一支發(fā)光二極管的匯編程序?qū)嵗?,介紹一種源程序編寫(xiě)的方法(格式),以供實(shí)際應(yīng)用時(shí)參考。
  源程序清單

 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P(pán)rogram
  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P(pán)ut 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)對(duì)源程序清單逐行加以說(shuō)明。

第1行為文件(File)名,這里取名TURNONASM。TURNON意指一個(gè)接通(即接通LED)程序。ASM是源程序的擴(kuò)展名。
  第2行說(shuō)明是由適用于PIC16F84微控制器的匯編碼編寫(xiě)的源程序。
  第3行說(shuō)明程序用途是接通PIC16F84 PORTB的B0位LED。
  第4行說(shuō)明由RC振蕩器供給時(shí)鐘,頻率約為100kHz。
  第5、6、7行說(shuō)明對(duì)16F84 CPU的結(jié)構(gòu)設(shè)置(用RC振蕩器,看門(mén)狗定時(shí)器即watchdog timer關(guān),上電power-up定時(shí)器開(kāi),關(guān)于16F84的結(jié)構(gòu)設(shè)置,后面將詳談)。
  第8、9、10行為偽指令。這是用來(lái)向匯編程序提供有關(guān)如何完成匯編的控制命令信息,它既是匯編過(guò)程的控制指令,也是匯編程序的操作指令。在這里8、9、10行還向匯編程序說(shuō)明,單片機(jī)用的是16F84,用RC振蕩器、看門(mén)狗定時(shí)器關(guān)斷不用,但上電定時(shí)器接通使用。對(duì)照5、6行,可見(jiàn)二者內(nèi)容相同,但一個(gè)是注釋?zhuān)瑢?zhuān)門(mén)為用戶(hù)說(shuō)明,另一個(gè)是偽指令,是為PC機(jī)的匯編程序提供命令信息。

  第11行又是注釋?zhuān)f(shuō)明程序主體由此開(kāi)始。
  第12行說(shuō)明程序存放在由地址0開(kāi)始的16F84單片機(jī)中的程序存貯器中,也是一條偽指令。
  第13、14兩行為注釋?zhuān)f(shuō)明后續(xù)的一段指令(兩句)的作用,即在啟動(dòng)時(shí),所有端口為輸入,隨即將B口設(shè)定為全輸出(即各位均為輸出)。
  第15行是匯編語(yǔ)言編寫(xiě)的第一條指令,即對(duì)二進(jìn)制(B)數(shù)“00000000”存入工作寄存器W。
  第16行將W寄存器的內(nèi)容(即00000000)傳送到B口控制寄存器,使B口成為輸出口。15、16行均帶有注釋?! 〉?7行為注釋?zhuān)f(shuō)明下面的二條指令是使B口的最低位為1。

第18行的指令將二進(jìn)制數(shù)00000001送入工作寄存器W,第19行指令則將W寄存器的內(nèi)容復(fù)制到B口,則B口的最低位B0為高電平,其余各位則為低電平,使接到B0位的LED發(fā)光。
  第20行又是注釋。說(shuō)明下面的指令將使B0位為高的狀態(tài)繼續(xù)下去。
  第21行的指令為無(wú)限循環(huán)語(yǔ)句,維持B1口輸出為高不變。
  第22行是偽指令END,表明程序到此結(jié)束。
  將清單所列程序在PC機(jī)上用一種名為MPASM的匯編軟件進(jìn)行匯編后,如無(wú)錯(cuò)誤,即可獲得擴(kuò)展名為HEX的相應(yīng)機(jī)器碼文件,借助編程器將該文件的相應(yīng)內(nèi)容燒入PIC16F84單片機(jī)的程序存儲(chǔ)器內(nèi),并將編程好的芯片插入前述的電路板中,再加上電源,即可點(diǎn)亮16F84 B0位的LED。

什邡市| 潼南县| 灵石县| 视频| 吉首市| 荥经县| 青浦区| 宜阳县| 申扎县| 遂昌县| 全南县| 曲阜市| 奉节县| 金昌市| 囊谦县| 牙克石市| 新龙县| 中西区| 体育| 韶关市| 柘城县| 禹州市| 苍山县| 三门县| 阿巴嘎旗| 神池县| 芦山县| 桦甸市| 公主岭市| 绍兴县| 涟源市| 保靖县| 定南县| 佛坪县| 镶黄旗| 柘城县| 玛沁县| 太白县| 卢氏县| 呈贡县| 潮安县|