① 關於51單片機16*64LED點陣左移程序~~高手進~~~~
這不僅僅是簡單的移位,我也做過,你生成字型碼的時候是橫著掃描嗎?如果是,移位也會橫向,如果不是,移位的話會亂碼。存放字型碼的最好是Uchar code,這樣佔用數據空間會減小。你移位的時候用中間變數和指針進行操作。
還有,你掃碼方式,我做的是1/4行掃。你的如果是逐行掃描就不太一樣 了。
② 單片機 左移函數是怎麼用的
左循環本徵函數:
函數原型:unsigned char _crol_(unsigned char a,unsigned char n);
單片機左移函數用法:
例如,P2=0xff; P2=_crol_(P2,1);//語法是對的,但這是沒意義的,因為執行程序後P2還是原值0xff
P2=0xfe; P2=_crol_(P2,1);//執行程序後P2=0xfd
(2)單片機左移10次程序擴展閱讀:
單片機相當於一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。
單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。單片機也被稱為單片微控器,屬於一種集成式電路晶元。
在單片機中主要包含CPU、只讀存儲器ROM和隨機存儲器RAM等,多樣化數據採集與控制系統能夠讓單片機完成各項復雜的運算,無論是對運算符號進行控制,還是對系統下達運算指令都能通過單片機完成。
③ 單片機C語言怎麼通過位移指令與邏輯運算實現循環左移
unsigned char tmp=0xa0;
tmp=(tmp<<1) | (tmp&0x80>>7);
因為要循環左移,所以要補上的是原來的最高位,也就是最左邊的那個位數,而不是每次都補一。
④ 單片機 位左移
會保存在程序狀態字psw的CY中 右移的話數據直接丟失
⑤ 單片機點陣怎麼實現左移右移,謝謝
左移和右移其實就是顯示時調用數組的起始地址在變化,你可以設置一個偏移地址根據偏移地址來實現左右移(左右移是相當於不斷的刷新整個屏幕)。
⑥ 有關於單片機數據移位的問題,希望大蝦們可以幫幫忙啊!!!小弟感激不盡啊。。。
sbit P1_7=P1^7;//需要先聲明各個位引腳,因為C語言不能直接給P1.7幅值
sbit P1_6=P1^6;
sbit P1_5=P1^5;
sbit P1_4=P1^4;
sbit P1_3=P1^3;
pp=pp<<6; //整型變數16位,移動6位,讓最高位到D15位置
if(pp&0x8000) P1_7=1; //最高位幅值給P1.7
else P1_7=0;
pp=pp<<1; //左移一位,讓次高位到最高位位置
if(pp&0x8000) P1_6=1; //次高位賦值給P1.6
else P1_6=0;
pp=pp<<1; //左移一位,讓次高位到最高位位置
if(pp&0x8000) P1_5=1; //依次類推P1_5,P1_4.......
else P1_5=0;
pp=pp<<1; //左移一位,讓次高位到最高位位置
if(pp&0x8000) P1_4=1; //依次類推P1_4.......
else P1_4=0;
pp=pp<<1; //左移一位,讓次高位到最高位位置
if(pp&0x8000) P1_3=1; //依次類推P1_3.......
else P1_3=0;
}