㈠ 單片機中什麼是鍵值它和鍵編碼有何關系
單片機中,鍵值只有兩個,=1,表示鍵按下了,=0,表示鍵沒有按下(或者是取反邏輯);
單片機要讀到該鍵值,先要知道該鍵的位置,當你安排某個鍵在某埠的某個引腳上後,該鍵的位置就固定下來了,只有鍵值是變化的
㈡ 單片機如何進行編碼的!!!
基本工作原理 系統分為紅外發射部分和紅外接受部分,紅外發射部分是採用普通的遙控發射器(即所說的無線鍵盤),接收部分由紅外遙控一體接收頭.單片機組成。當紅外遙控發射器有按鍵按下時,內部的編碼電路將其轉換為相對應的紅外信號,從紅外發射管發出,紅外遙控一體接收頭接收到信號後,將信號轉換成相對應的脈沖信號。紅外一體接收的信號接到CPU的INT0管腳,通過CPU進行解碼。
㈢ 求一下單片機的程序編碼總體作用和每一步的作用(1)
void main()
{
init();
write_setds(0x80,0x50); //以下的類似函數應該是用於初始化的 (液晶顯示屏或是其他)
write_setds(0x82,0x59); //第一個參數應該是地址,第二個參數應該是命令
write_setds(0x84,0x10);
write_setds(0x86,0x17);
write_setds(0x88,0x03);
write_setds(0x8a,0x03);
write_setds(0x8c,0x10);
write_setds(0x90,0xa4);
while(1)
{
keyscan(); //鍵盤掃描函數
} ------------這個大括弧貌似有點多餘吧
display(); //顯示函數
}
㈣ 單片機和電腦串列通訊中的數據編碼
樓主不要被unsigned char中的這個字元型給蒙蔽了。它只是表示一個位元組大小,可以用來存放一個字元,跟ASCII碼什麼的沒有關系。如果說unsigned char c='1'使c中存放1的ASCII碼31H的話,這個魔術是'1'變的,也就是說'1'就是0x31.
明白了嗎?所以如果你要接收一個位元組,就用unsigned char,發的是什麼,收到的就是什麼。
㈤ 單片機編程這個編碼怎麼寫呢
void key(void)
{
if(k1==0){
delay(20);
if(k1==0)
led1=~led;
while(!k1);
}
if(k2==0) {
delay(20);
if(k2==0)
led2=~led2;
while(!k2);
}
if(k3==0){
delay(20);
if(k3==0)
{
led1=0;
led2=0;
}
while(!k3);
}
if(k4==0){
delay(20);
if(k4==0)
{
led1=1;
led2=1;
}
while(!k4);
}
}
㈥ c51單片機紅外NEC編碼解碼!
這個程序太簡單了,我之前寫過紅外發射程序的,接收程序也很簡單,你這個項目我2個小時都能幫你解決,但是89C52單片機發射38K不準需要把晶振加大,提高單片機的運行速度。
你的項目只要主機A發射紅外協議後面加一個地址,單片機B接收的時候全部進入接收狀態,判接收的地址是否符合對於單片機B的地址,如果地址符合,那就先回應一個數據例如:55FF55,主機接收到55FF55後後面開始接收數據,把接收到的數據直接寫入單片機內EEPRM裡面!
㈦ 51單片機簡譜編碼
// 8鍵電子琴C程序 自己根據音節做個與簡譜對應的表就可以了。
#include <AT89X51.H>
sbit SPEAKER = P3^7;
#define KEY P1
unsigned char MUSIC;
unsigned char STH0;
unsigned char STL0;
unsigned int code tab[]={
64021,64103,64260,64400,//低音3開始
64524,64580,64684,64777,
64820,64898,64968,65030,
65058,65110,65157,65178
};
void main(void){
TMOD=0x01;
ET0=1;
EA=1;
KEY = 0xff;
while(1){
if(KEY != 0xff){
switch (~KEY){//顯示的列位置
case 0x01://
MUSIC = 7;
break;//
case 0x02://
MUSIC = 6;
break;//
case 0x04://
MUSIC = 5;
break;//
case 0x08://
MUSIC = 4;
break;//
case 0x10://
MUSIC = 3;
break;//
case 0x20://
MUSIC = 2;
break;//
case 0x40://
MUSIC = 1;
break;//
case 0x80://
MUSIC = 0;
break;//
}
STH0=tab[MUSIC]/256;
STL0=tab[MUSIC]%256;
TR0=1;
}else{
SPEAKER = 1;
TR0=0;
}
}
}
void t0(void) interrupt 1 using 0{
TH0=STH0;
TL0=STL0;
SPEAKER=~SPEAKER;
}
㈧ 求教:如何實現讓單片機編碼
你可以用單片機的串列輸入口或者I/O口模擬來接收串列數據,把12位數值分為高、低2個位元組存入內存單元(8位單片機),將減數也分為高、低2個位元組存入內存單元,作減法運算,結果再存入2個位元組的內存單元,根據串口LCD顯示器的說明書寫出驅動程序,讀內存單元,將結果通過串列輸出口或者I/O口模擬發送給顯示器顯示。
㈨ 單片機如何編碼
可以用匯編語言,也可用C,C++語言編程。工具可以用國產的偉福,或者keil51等工具。編程前要詳細看好你單片機晶元的手冊。合理利用資源是編程成功的關鍵。
㈩ 單片機數碼管顯示的數值編碼
8位數據匯流排,16位地址匯流排的CPU;具有布爾處理能力和位處理能力;採用哈佛結構,程序存儲器與數據存儲器地址空間各自獨立,便於程序設計;相同地址的64KB程序存儲器和64KB數據存儲器;
0-8KB片內程序存儲器(8031無,8051有4KB,8052有8KB,89C55有20KB);128位元組片內數據存儲器(8051有256位元組);
32根雙向並可以按位定址的I/O線;兩個16位定時/計數器(8052有3個);一個全雙工的串列I/O介面;多個中斷源的中斷結構,具有兩個中斷優先順序;片內時鍾振盪器。
(10)單片機編碼擴展閱讀:
單片機工作的三個條件分別是電源、時鍾晶振、復位。當單片機不能正常工作時,我們首先就要檢查這三個條件,用電壓表或者萬用表檢測他的電源和接地腳,檢測兩個引腳之間的電壓是不是5V左右;對於時鍾晶體振盪有沒有正常工作。
最好用示波器進行檢測,看能否檢測到相應頻率的正弦波脈沖;復位檢測比較簡單,單片機的復位電平一般是高電平復位,單片機在接通電源的時候一般復位引腳上會出現5V左右的高電平,另外在按下復位按鍵時,復位引腳上也會出現高電平,用一般的電壓表或者萬用表都可以進行檢測。