单片机中带进位的移位指令有什么运算功能功能吗? 单片机循环移位指令中A=7AH,CY=1,执行指令RLC A...
\u5355\u7247\u673a\u7a0b\u5e8f\u4e2d>>=\u53f3\u79fb\u4f4d\u8d4b\u503c\u8fd0\u7b97\u7b26\u8d77\u4ec0\u4e48\u4f5c\u7528\u8981\u5224\u65ad\u3001\u6216\u8981\u4f7f\u7528\u6570\u636e\u4e2d\u7684\u67d0\u4e9b\u4f4d\u7684\u65f6\u5019,\u5c31\u7528\u5230\u4e86,,,,,,,\u8fd8\u5f88\u5e38\u7528\u7684 ~ ~ ~ ~ ~
\u9996\u5148\uff0cRLC\u8868\u793aA\u5e26\u8fdb\u4f4d\u6807\u5fd7\uff08CY\uff09\u5faa\u73af\u5de6\u79fb\u4e00\u6b21\uff0c\u76f8\u5f53\u4e8e\u4e58\u4ee52\uff1b
\u8fdb\u4f4d\u6807\u5fd7CY\uff1d1\uff0c\u5219A\uff1d7AH\uff1d123D\uff08\u5341\u8fdb\u5236\u7684123\uff09\u7684\u5e26\u8fdb\u4f4d\u6807\u5fd7\u7528\u4e8c\u8fdb\u5236\u8868\u793a\u4e3a1 0111 1010 \uff0c\u5c06\u5176\u6574\u4f53\u5de6\u79fb\u4e00\u4f4d\uff08\u5c31\u50cf\u662f\u6392\u5934\u8d70\u5230\u6700\u540e\u4e00\u4e2a\uff0c\u5176\u4ed68\u4e2a\u4f9d\u6b21\u8865\u4f4d\uff09\uff0c
\u53d8\u4e3a0 1111 0101\uff0c\u5373\u5341\u516d\u8fdb\u5236\u7684F5H\uff1d246D\uff08\u5373\u5341\u8fdb\u5236\u7684246\uff09\uff0c\u6b64\u65f6\uff0c\u7b2c\u4e00\u4e2a\u6570 0 \u5c31\u662f\u8fdb\u4f4d\u6807\u5fd7\uff0c\u5373CY\uff1d0
\u6240\u4ee5\uff0c\u6267\u884c\u540e\u7ed3\u679c\u4e3a\uff0c\uff08A\uff09=F5H\uff0cCY=0\u3002F5H=246D=123D\u00d72
单片机的移位指令也一样,不过,它是2进制的,乘除的是2而已。比如100b右移一位,变成10b,也就是4÷2=2。左移2位变成10000,也就是4×4=16。
移位的运算速度快,当我们用单片机系统进行运算时,如果想提高效率,使用这种方法是不错的选择。比如,我们为了提高精度,需要将一个整形数先乘一个系数,那么2/4/8/16/32/64/128……都是不错的选择,而用10,100等就要差一些了。
抛砖头,引美玉。
可以将数据按位左移或右移啊
比如 0x80 左移 为 0x00 当进位位为0下
0x80 左移 位 0x01 当进位位为1下
移位指令为temp=temp<<1左移一位
temp=temp>>1右移一位
但是哥们,你这个用移位反而复杂了,四个灯的直接写就好了嘛
无非是0111间隔1秒0011间隔一秒0001间隔一秒0000
反过来就是熄灭咯
绛旓細浠51绯诲垪鍗曠墖鏈涓轰緥锛屽惊鐜绉讳綅鏄寚绱姞鍣ˋ鑷韩寰幆绉讳綅(鍏綅)锛鍙崇Щ锛氬垯ACC.7->ACC.6銆丄AC.6->ACC.5...ACC.0->ACC.7锛宸︾Щ锛欰CC.7->ACC.0,ACC.6->ACC.7 ... ACC.0->ACC.1銆甯﹁繘浣寰幆绉讳綅鎸囩疮鍔犲櫒杩炲悓杩涗綅浣涓璧峰彸绉绘垨宸︾Щ锛堜節浣嶄竴璧浣嶇Щ锛夛紝宸︾Щ锛欰CC.7->CY銆丆Y-<ACC.0...
绛旓細ADDC SUBB 杩樻湁灏辨槸甯﹁繘浣嶇殑绉讳綅鎸囦护 濡俁LC RRC 鑷充簬鎬庝箞褰卞搷 閭e氨鏄湅杩愮畻鐨勭粨鏋滀簡 鏈夎繘浣嶆垨鍊熶綅鏃朵负1 鐢ㄤ簡涓娆Y鍚庯紝鍏跺煎彉涓0
绛旓細RR A锛涘彸寰幆绉讳綅鎸囦护锛鍗曠墖鏈杞欢鎸囦护鍔熻兘鏄皢绱姞鍣ˋ鐨8浣嶄簩杩涘埗鏁板悜鍙崇Щ鍔1浣嶏紝绱姞鍣ˋ涓渶鍙宠竟1浣嶏紙鍗虫渶浣庝綅A.0锛夌Щ鑷虫渶宸﹁竟1浣嶏紙鍗虫渶楂樹綅A.7锛夈備笉褰卞搷鍗曠墖鏈烘爣蹇楀瘎瀛樺櫒PSW涓殑鏍囧織浣嶃俁LC A锛甯﹁繘浣宸﹀惊鐜Щ浣嶆寚浠わ細鍗曠墖鏈鸿蒋浠舵寚浠ゅ姛鑳芥槸灏嗙疮鍔犲櫒A鐨8浣嶄簩杩涘埗鏁板拰杩涗綅CY鍚戝乏绉诲姩1浣嶏紝...
绛旓細鏈瑕佺粌涔犵殑鏄甯﹁繘浣嶇Щ浣,甯﹁繘浣嶅姞娉 clr c;RLCR1,RLC R0.杩欎釜缁撴灉鍐嶅姞涓婏紙R0R1锛夈傚氨鏄箻浠3鐨勭粨鏋溿傜粨鏋滄斁鍒癛2R3锛屽緢涔呮病鏈夌敤51浜嗭紝鎸囦护閮藉繕浜嗐備絾鏄繖涓鐩病鏈夎冭檻婧㈠嚭銆傛瘮濡侳FFF脳3鍚庡氨涓嶆16浣嶄簡銆俁2R3鏀句笉涓嬩簡
绛旓細绉讳綅鎿嶄綔鎸囦护鏄竴缁勭粡甯镐娇鐢ㄧ殑鎸囦护锛屽睘浜庢眹缂栬瑷閫昏緫鎸囦护涓殑涓閮ㄥ垎锛屽畠鍖呮嫭绉讳綅鎸囦护锛堝惈绠楁湳绉讳綅鎸囦护銆侀昏緫绉讳綅鎸囦护锛夛紝寰幆绉讳綅鎸囦护锛堝惈甯﹁繘浣嶇殑寰幆绉讳綅鎸囦护锛夛紝鍙岀簿搴︾Щ浣嶆寚浠や笁澶х被銆傚叾鍔熻兘涓哄皢鐩殑鎿嶄綔鏁扮殑鎵鏈変綅鎸夋搷浣滅瑙勫畾鐨勬柟寮忕Щ鍔1浣嶆垨鎸夊瘎瀛樺櫒CL瑙勫畾鐨勬鏁帮紙0~255锛夌Щ鍔紝缁撴灉閫佸叆鐩殑鍦板潃銆...
绛旓細8绉浣嶇Щ鎸囦护涓彧鏈:RCL鍜孯CR褰卞搷CF,浠CL涓轰緥:MOV A,01H MOV CL,08H RCL A,CL 鍒欒繍琛屽悗CF涓1.--- --- 缁х画鍥炵瓟:涓嶆槸"鍦≧CL鎴朢CR鎸囦护鍚,鏈楂樹綅鏀惧叆CF"锛汻CL鏄甯﹁繘浣宸﹀惊鐜绉讳綅鎸囦护锛孯CR鏄甫杩涗綅鍙冲惊鐜Щ浣嶆寚浠わ紱RCL鏄皢鏌愭暟鏈楂樹綅绉昏繘鍏F锛岃孋F閲岀殑鍐呭璺戝埌璇ユ暟鐨勬渶浣庝綅锛屽舰鎴愬挰灏捐泧...
绛旓細涓嶇煡閬撲綘鐢浠涔鑺墖锛岃繖閲屽氨鎷胯绠楁満鐨勬眹缂栨潵婕旂ず涓涓嬫庝箞绠楀惂 鍥犱负鍗曠墖鏈娌℃湁涔樻硶杩愮畻锛屾墍浠ヤ笉鑳界敤涔樻硶鎸囦护锛屼絾鏄垜浠彲浠ョ敤绉讳綅鎸囦护瀹炵幇 mov al,31h mov ah,30h shl al,1 ;宸︾Щ涓浣 rcl ah,1 ;甯﹁繘浣寰幆宸︾Щ 杩欐牱灏卞彲浠ヤ簡锛屽洜涓哄崟鐗囨満閮芥槸8浣嶇殑瀵勫瓨鍣紝鎵浠ユ垜涔熺敤8浣嶆潵婕旂ず锛屽懡浠や綘鍙互瀵圭収...
绛旓細A寰幆宸︾Щ鎸囩殑鏄疍0浣嶅悜D7浣嶄緷娆$Щ鍔,姣斿1111 1110,宸︾Щ涓浣嶅悗涓1111 1101,绫绘帹,褰撲负0111 1111鏃,宸︾Щ鍚庝负1111 1110,C涓嶅弬涓绉讳綅.A甯﹁繘浣寰幆宸︾Щ鎸囩殑鏄疍0浣嶅悜D7浣嶄緷娆$Щ鍔,骞朵笖C浣嶅弬涓庣Щ浣.姣斿1111 1110,C涓0,宸︾Щ涓浣嶅悗涓1111 1100,C涓1....
绛旓細銆1銆戣〃鏍间腑瀛樻斁浜1024涓暟鎹紝缂栧彿0-1023椤广傛瘡涓暟鎹2涓瓧鑺傘傘2銆慠3锛孯2锛屾瀯鎴16浣嶇殑缂栧彿銆備簩杩涘埗鏍煎紡銆傜紪鍙蜂负x銆傘3銆戠x椤圭殑鏁版嵁璧峰鍦板潃搴斾负 TAB+锛2*x锛夈傘4銆2*x锛屽叾瀹炲氨鏄乏绉讳竴娆銆傜敱浜巟鏄16浣嶇殑銆備絾51娌℃湁16浣嶅惊鐜宸︾Щ鎸囦护銆傘5銆戝熷姪浜嶢锛屽埄鐢甯﹁繘浣嶄綅寰幆宸︾ЩRLC A鎸囦护...
绛旓細浣犺鑰冭檻鎵ц鎸囦护鍓岰y浣嶉噷鏄浠涔鍐呭锛屽鏋淐y=0锛岄偅RLC A鐨勭粨鏋滃拰鍏朵粬鎸囦护鐩稿悓锛屼絾瑕佹槸Cy=1锛岄偅杩欎釜1浼氳繘鍏涓紝缁撴灉灏卞彉浜嗐備絾RL鎸囦护涓嶄細閫犳垚杩欎釜闂銆傛墍浠ラ塂銆傚鐪嬩功鍟婏紝RLC鎸囦护浼氭妸Cy鐨勫煎甫杩汚锛屼絾鏄疪L涓嶄細銆