PIC單片機(jī)或運(yùn)算指令XORWF的設(shè)計(jì)和實(shí)現(xiàn)
大家都知道,PIC單片機(jī)的大多數(shù)寄存器,包括RAM數(shù)據(jù)存儲(chǔ)器的每個(gè)存儲(chǔ)單元都能實(shí)現(xiàn)移位、清位、位測(cè)試等系列復(fù)雜操作功能。然而,協(xié)調(diào)它們運(yùn)行的(應(yīng)用最廣泛的基本級(jí)、中級(jí))精簡(jiǎn)指令集中,卻沒(méi)有對(duì)寄存器的某"位"進(jìn)行"取反"運(yùn)作的現(xiàn)成指令,而在實(shí)際應(yīng)用中對(duì)某些"位"進(jìn)行取反運(yùn)作是很需要的。如下圖所示。單片機(jī)PIC16C622單片機(jī)的端口RB作為輸出端口的8個(gè)引腳,分別控制著8個(gè)不同的電器設(shè)備。按動(dòng)按鈕AN一下,繼電器J吸合,再按一下J釋放,即按動(dòng)AN一下,端口RB3引腳的輸出狀態(tài)改變一下,而RB口的其它7個(gè)引腳輸出保持原有狀態(tài)不變。在這種情況下最好的方法是按動(dòng)一下AN,對(duì)PORTB(3)"取反一次"--這對(duì)于MCS-51單片機(jī)來(lái)講是極容易的。只要寫一條(如CPL P33)位取反指令就可以了。而PIC16C622單片機(jī)只有對(duì)字節(jié)取反指令,卻沒(méi)有對(duì)位取反的直接指令。筆者運(yùn)用了"W和f相異或"的指令,也輕易地解決了位取反問(wèn)題。實(shí)例:
相關(guān)推薦
-
-
-
-
-
-
-
-
-
abgh668 | 2023-08-04
-
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號(hào)放大器
評(píng)論