導航:首頁 > 操作系統 > 單片機鍵位編輯軟體

單片機鍵位編輯軟體

發布時間:2022-05-23 23:19:12

單片機編程運用哪些軟體

如果只要求編程,用任何
文本編輯器
就可以了。但是要編譯的話還得另外軟體,如keil,C和匯編的都
可以,中介匯編的話用proteus更方便,可以集編輯、編譯、調試和模擬一條龍進行。

❷ 51單片機編程軟體是什麼

編譯器:ATMEL一般為keil,其他廠商使用它們自己推薦的編譯器。
代碼編輯工具:UE等,這個看使用習慣,現在的編譯器一般自帶代碼編輯的功能但一般功能較弱。
模擬工具:proteus 模擬單片機的一個軟體,用用即可,bug比較多。
最好弄個開發板,加一套下載工具,然後就可以開始編程了。

❸ 單片機編程用什麼軟體

keil最流行....我們寫的匯編語言源程序要變為CPU可以執行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟體將源程序變為機器碼,用於MCS-51單片機的匯編軟體有早期的A51,Keil軟體是目前最流行開發MCS-51系列單片機的軟體,這從近年來各模擬機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的模擬調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部份組合在一起。運行Keil軟體需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬碟空間、WIN98、NT、WIN2000、WINXP等操作系統。如果你使用C語言編程,那麼Keil幾乎就是你的不二之選(目前在國內你只能買到該軟體、而你買的模擬機也很可能只支持該軟體),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟體模擬調試工具也會令你事半功倍。
目前最新的版本是keil uv3,可下載破解版本,否則有容量限制。

❹ 目前的單片機,主流編程軟體有那些

不同單片機一般都使用不同的編譯器,沒有什麼主流編譯器。如果你只是編輯軟體代碼的話,可以使用UltraEdit等。

❺ 編寫單片機程序用什麼軟體好點!

編寫單片機程序用什麼軟體好點:
1,KEIL軟體不錯,但一般作編譯使用,編寫代碼往往用ultraedit
2,iar也很不錯,比KEIL好用,但一般作編譯使用,編寫代碼往往用ultraedit
3,此外,還有專門軟體如瑞薩單片機renesas,編譯和編寫都很不錯!

❻ 單片機用什麼軟體編程

1.keil c51編程軟體 可以這么說,凡是搞單片機的,幾乎沒有人不知道51單片機,而51單片機使用最廣泛的編程軟體是keil c51。既然用的人多,那麼關於keil c51的使用教程、使用方法、技巧這類資料...
2.IAR編程軟體 IAR軟體應該是目前支持單片機種類最多的一款軟體了,幾乎支持所有的主流單片機。 但是針對某一款具體的單片機,IAR都有一個單獨的安裝包,所以,名義上IAR支持的單片機種類最多

❼ 對單片機編程要用什麼軟體

keil最流行

單片機開發中除必要的硬體外,同樣離不開軟體,我們寫的匯編語言源程序要變為CPU可以執行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟體將源程序變為機器碼,用於MCS-51單片機的匯編軟體有早期的A51,隨著單片機開發技術的不斷發展,從普遍使用匯編語言到逐漸使用高級語言開發,單片機的開發軟體也在不斷發展,Keil軟體是目前最流行開發MCS-51系列單片機的軟體,這從近年來各模擬機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的模擬調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部份組合在一起。運行Keil軟體需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬碟空間、WIN98、NT、WIN2000、WINXP等操作系統。掌握這一軟體的使用對於使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,那麼Keil幾乎就是你的不二之選(目前在國內你只能買到該軟體、而你買的模擬機也很可能只支持該軟體),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟體模擬調試工具也會令你事半功倍。
目前最新的版本是keil uv3,可下載破解版本,否則有容量限制。

❽ 急救!!!各位兄弟姐妹們誰懂單片機編程啊,幫幫我啊!用單片機編輯一個數字鍾的程序啊,要求如下:

給你一個我用液晶屏12864寫的程序,一個是功能鍵,按照順序按一下是第一位跳動,接下再按就是第二位,一次類推。第二個按鍵是控制加,第三個按鍵是控制減,你的數碼管和這個很類似,比這個還簡單,在這你也沒有要求數碼管是怎麼接的。你可以參考的。
#include<reg52.h>
#include<chushihua.h> //12864的初始化函數;
char gwnian,nian,yue,ri,xq,shi,fen,miao;
sbit DQ =P3^5; //定義DS18B20通信埠
sbit led_en_port = P2^5; /*發光二極體寄存器LE引腳*/
sbit sled_en_port = P3^6; /*數碼管寄存器LE引腳*/
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
uchar code mun_to_char[] = {"0123456789"}; /*數字轉換為ASCII字元碼*/
uchar table[]={"製作人:"};
uchar table2[]={"2009年11月28日晚"};
uchar table1[]={"江向陽"};
uchar table31[]={"年"};
uchar table32[]={"月"};
uchar table33[]={"日"};
uchar table4[]={"星期"};
uchar table51[]={"時"};
uchar table52[]={"分"};
uchar table53[]={"秒"};
uchar table6[]={"當前溫度:20.3"};
//uchar table61[]={"??度"};
uchar xq1[]={"一"};
uchar xq2[]={"二"};
uchar xq3[]={"叄"};
uchar xq4[]={"四"};
uchar xq5[]={"五"};
uchar xq6[]={"六"};
uchar xq7[]={"日"};

/***************寫星期函數*******************/
write_xq(uchar z)
{
uchar num;
write_com(0x90+5);
switch(z)
{
case 1: for(num=0;num<2;num++)
{
write_date(xq1[num]);
delay(1);
}
break;
case 2: for(num=0;num<2;num++)
{
write_date(xq2[num]);
delay(1);
}
break;
case 3: for(num=0;num<2;num++)
{
write_date(xq3[num]);
delay(1);
}
break;
case 4: for(num=0;num<2;num++)
{
write_date(xq4[num]);
delay(1);
}
break;
case 5: for(num=0;num<2;num++)
{
write_date(xq5[num]);
delay(1);
}
break;
case 6: for(num=0;num<2;num++)
{
write_date(xq6[num]);
delay(1);
}
break;
case 7: for(num=0;num<2;num++)
{
write_date(xq7[num]);
delay(1);
}
break;
}
}

/*************寫年月日函數**************/
void write_nyr(uchar date,uchar add)
{
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x80+add);
write_date(0x30+shi);
write_date(0x30+ge);
}

/*************寫時分秒函數**************/
void write_sfm(uchar date,uchar add)
{
uchar shi,ge;
shi=date/10;
ge=date%10;
write_com(0x88+add);
write_date(0x30+shi);
write_date(0x30+ge);
}

/*****************鍵盤掃描*****************/
void keyscan()
{
uchar keynum;
if(key1==0)
{
delay(5);
if(key1==0)
{
while(!key1);
delay(5);
while(!key1);
keynum++;
TR0=0;
if(keynum==1)
{
//TR0=0;
write_com(0x8D);
write_com(0x0f);

}
if(keynum==2)
{
//TR0=0;
write_com(0x8B);
write_com(0x0f);
}
if(keynum==3)
{
//TR0=0;
write_com(0x89);
write_com(0x0f);
}
if(keynum==4)
{
//TR0=1;
write_com(0x95);
write_com(0x0f);
}
if(keynum==5)
{
//TR0=1;
write_com(0x85);
write_com(0x0f);
}
if(keynum==6)
{
//TR0=1;
write_com(0x83);
write_com(0x0f);
}
if(keynum==7)
{
//TR0=1;
write_com(0x81);
write_com(0x0f);
}
if(keynum==8)
{
//TR0=1;
write_com(0x80);
write_com(0x0f);
}
if(keynum==9)
{
TR0=1;
keynum=0;
//write_com(0x95);
write_com(0x0c);
}
}
}
if(keynum==1)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
miao++;
if(miao==60)
miao=0;
write_sfm(miao,5);
write_com(0x8D);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
miao--;
if(miao==-1)
miao=59;
write_sfm(miao,5);
write_com(0x8D);
}
}
}
if(keynum==2)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
fen++;
if(fen==60)
fen=0;
write_sfm(fen,3);
write_com(0x8B);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
fen--;
if(fen==-1)
fen=59;
write_sfm(fen,3);
write_com(0x8B);
}
}
}
if(keynum==3)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
shi++;
if(shi==24)
shi=0;
write_sfm(shi,1);
write_com(0x89);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
shi--;
if(shi==-1)
shi=23;
write_sfm(shi,1);
write_com(0x89);
}
}
}
if(keynum==4)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
xq++;
if(xq==8)
xq=1;
write_xq(xq);
write_com(0x95);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
xq--;
if(xq==0)
xq=7;
write_xq(xq);
write_com(0x95);
}
}
}
if(keynum==5)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
ri++;
if(ri==31)
ri=1;
write_nyr(ri,5);
write_com(0x85);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
ri--;
if(ri==0)
ri=30;
write_nyr(ri,5);
write_com(0x85);
}
}
}
if(keynum==6)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
yue++;
if(yue==13)
yue=1;
write_nyr(yue,3);
write_com(0x83);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
yue--;
if(yue==0)
yue=12;
write_nyr(yue,3);
write_com(0x83);
}
}
}
if(keynum==7)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
nian++;
if(nian==100)
nian=0;;
write_nyr(nian,1);
write_com(0x81);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
nian--;
if(nian==-1)
nian=99;
write_nyr(nian,1);
write_com(0x81);
}
}
}
if(keynum==8)
{
if(key2==0)
{
delay(5);
if(key2==0)
{
while(!key2);
delay(5);
while(!key2);
gwnian++;
if(gwnian==100)
gwnian=0;
write_nyr(gwnian,0);
write_com(0x80);
}
}
if(key3==0)
{
delay(5);
if(key3==0)
{
while(!key3);
delay(5);
while(!key3);
gwnian--;
if(gwnian==-1)
gwnian=99;
write_nyr(gwnian,0);
write_com(0x80);
}
}
}
}

/************主函數********************/
void main()
{
uint num;
led_en_port = 0;/*關閉發光二極體顯示*/
sled_en_port = 0;/*關閉數碼管顯示*/
gwnian=20;
nian=9;
yue=11;
ri=28;
xq=6;
shi=23;
fen=58;
miao=45;
init(); //12864液晶初始化;

write_com(0x80);//設置初始顯示的坐標;
for(num=0;num<8;num++) /******在第一行顯示製作人*******/
{
write_date(table[num]);
delay(100);
}
write_com(0x93); //第二行的初始坐標;
for(num=0;num<6;num++) /**********在第二行顯示江向陽*******/
{
write_date(table1[num]);
delay(100);
}
write_com(0x88);//第三行的初始坐標
for(num=0;num<16;num++) /******在第三行顯示製作時間*******/
{
write_date(table2[num]);
delay(100);
}
for(num=50;num>0;num--) ///延時,第一屏的顯示時間 ;
delay(50000);
TMOD=0x01; //定時器0工作方式1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=0X01;
ET0=0X01;
TR0=0X01;
write_com(0x01);//清屏;
// delay(5);
// write_com(0x01);
write_com(0x80); //寫入初始的年月日數據(2009-11-28);
write_date('2');
write_date('0');
write_date('0');
write_date('9');
write_com(0x83);
write_date('1');
write_date('1');
write_com(0x85);
write_date('2');
write_date('8');
write_com(0x95);
for(num=0;num<2;num++) //寫入星期函數(周六);
{
write_date(xq6[num]);
}
write_com(0x89); //寫入初始的時分秒函數(23:58:45);
write_date('2');
write_date('3');
write_com(0x8B);
write_date('5');
write_date('8');
write_com(0x8D);
write_date('4');
write_date('5');
write_com(0x82);
for(num=0;num<2;num++) //固定顯示『年』
{
write_date(table31[num]);
delay(1);
}
write_com(0x84);
for(num=0;num<2;num++) //固定顯示『月』
{
write_date(table32[num]);
delay(1);
}
write_com(0x86); //固定顯示『日』
for(num=0;num<2;num++)
{
write_date(table33[num]);
delay(1);
}
write_com(0x92); //固定顯示『星期』
for(num=0;num<4;num++)
{
write_date(table4[num]);
delay(1);
}
write_com(0x8A); //固定顯示'時'
for(num=0;num<2;num++)
{
write_date(table51[num]);
delay(1);
}
write_com(0x8C); //固定顯示'分'
for(num=0;num<2;num++)
{
write_date(table52[num]);
delay(1);
}
write_com(0x8E); //固定顯示'秒'
for(num=0;num<2;num++)
{
write_date(table53[num]);
delay(1);
}
write_com(0x98); //固定顯示'當前溫度:20.3'
for(num=0;num<14;num++)
{
write_date(table6[num]);
delay(1);
}

/***************顯示溫度字元命令****************/
write_com(0x64); //開啟擴展指令顯示;
write_com(0x9f); //設置顯示地址 ;
write_date(0xA1); //顯示的字元編碼地址;
write_date(0xE6);
write_com(0x66); //關閉擴展功能;

while(1)
{
keyscan;
}
}
void timer0() interrupt 1
{
uchar count;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
count++;
if(count==18)
{
count=0;
miao++;
if(miao==60)
{
miao=0;
fen++;
if(fen==60)
{
fen=0;
shi++;
if(shi==24)
{
shi=0;
ri++;
xq++;
if(xq==8)
{
xq=1;
}
if(ri==31)
{
ri=1;
yue++;
if(yue==13)
{
yue=1;
nian++;
if(nian==100)
{
nian=0;
gwnian++;
if(gwnian==100)
gwnian=0;
write_nyr(gwnian,0);
}
write_nyr(nian,1);
}
write_nyr(yue,3);
}
write_xq(xq);
write_nyr(ri,5);
}
write_sfm(shi,1);
}
write_sfm(fen,3);
}
write_sfm(miao,5);
}

}

❾ 單片機程序編寫,調試常用的軟體有哪些

不同的型號的單片機需要不同的開發軟體。我們以80C51系列
單片機程序的編寫不需要任何特殊的軟體,只要是文本編緝軟體就可以了,如WINDOWS自帶的記事本,WORD等,不過這些軟體編寫並不方便,有一些更好的文本編緝器可供選擇,如UltraEdit,PE2等。當然,人們最常用的還是使用開發軟體自帶的編緝器來進行編寫。以80C51系列單片機為例,最為流行的軟體是Keil軟體。Keil軟體是一款綜合開發工具,內置了編緝器,ASM匯編器,C51編譯器,調試器等部分。

學習單片機還需要單片機開發板,最好是視頻教程詳細的,比如吳鑒鷹單片機開發板就不錯
單片機學習可以到吳鑒鷹吧交流,資料來源吳鑒鷹吧

❿ 51單片機編程軟體有哪些

開源軟體mcu8051ide 功能不是一般的強,界面不輸給商業軟體,而且提供多種模擬器件如:led 數碼管,矩陣數碼管(8×8)按鍵,矩陣按鍵,甚至溫度感測器。開源的沒有任何限制,感覺keil uvision弱爆了

閱讀全文

與單片機鍵位編輯軟體相關的資料

熱點內容
無錫代碼編程培訓班 瀏覽:627
eps圖形數據加密 瀏覽:928
沒有滴滴app怎麼打車 瀏覽:100
大數乘法java 瀏覽:1000
如何登錄伺服器看源碼 瀏覽:525
如何做伺服器端 瀏覽:156
注冊伺服器地址指什麼 瀏覽:433
文本命令行 瀏覽:97
撲克牌睡眠解壓 瀏覽:194
rc4演算法流程圖 瀏覽:159
胡蘿卜解壓方法 瀏覽:35
掃描pdf格式軟體 瀏覽:877
程序員在銀行開賬戶 瀏覽:516
android資料庫下載 瀏覽:750
中午伺服器崩潰怎麼辦 瀏覽:425
產品經理和程序員待遇 瀏覽:442
解憂程序員免費閱讀 瀏覽:109
錄像免壓縮 瀏覽:508
總結所學過的簡便演算法 瀏覽:362
南昌哪些地方需要程序員 瀏覽:761