當前位置:首頁 » 編程軟體 » diy編程器

diy編程器

發布時間: 2025-03-24 11:59:29

① 誰知道在這個網站http://www.51c51.com/DIY/diy51/diy51.htm上的51單片機編程器的電路圖是否是正確的

網站是深圳學林電子的,電路是正確的,但是製作完了你還要給監控晶元燒寫監控程序,沒有燒寫器的話還是製作不了的。因為除了待燒寫的51單片機外還有一個用作控制下載燒寫程序的51單片機。如果你使用AT89S5X系列單片機來學習的話,建議採用並口ISP下載,你的電腦不會就有串口吧。

② 請問如何將C或匯編源程序或燒到自己製作的PCB板上 謝謝···

一. 安裝單片機程序編譯軟體KEIL。
1.點擊圖標 運行直至安裝完成。
2.點擊圖標 運行KEIL,然後選擇菜單「project」點擊「new……」點擊「 」建立新的工程。填寫好工程文件名選擇保存路徑後按「保存」,此時彈出一個窗口如下圖所示

點擊Atmel左邊的+號展開CPU的型號,選擇「AT89C51」按「確定」再生成一個對話框如下圖,再按「是」即可。

這時在工程左邊的文件指示欄中多了一個 這樣的圖標,點其左邊的+號可展開當前所包含的文件。
選擇菜單「File」「new」新建一個文本編輯器,按保存按鈕,在彈出的窗口填入文件名後綴為.C ,然後按保存即把這個C文本文件保存到這個工程的目錄下。
再在工程左邊的文件指示欄中指著 點擊右鍵選擇 選項把剛才建立的C文件加入來,按「Add」即可加入,這時就可以在C文本編輯器里編號程序了。
寫好程序後選擇菜單「project」選擇「 」打開的對話框如下圖所示

如果彈出來的不是這個對話框時可以重復一次「project」選擇「 」便可以打開,打開後在 這個方框里打上勾然後按「確定」才可以編譯生成單片機的燒寫文件HEX文件。這些選項都設置好並寫好源程序後就可以在菜單選項project選項中選擇 選項對源程序進行編譯,生成的HEX文件就在工程的目錄下。
本文章後面附帶的是HJSMSY-V1.0開發板的測試源程序,讀者可以將其復制到編譯器里編譯。此程序為一個簡單的計算器功能程序,數寫鍵依次對應電路板上的數字0--9,「A」鍵功能為清除,「B」鍵功能為等於,「C」鍵功能為+,「D」鍵功能為-,「E」鍵功能為*,「F」鍵功能為除。

二. 把單片機開發板用9針串口線與電腦連接好,用配套的USB供電線將單片機開發板供電,並關閉電路板上的電源開關。運行STC晶元燒寫軟體,
點擊圖標
打開下載界面如下圖

按這個圖裡面的設置設好參數後,點擊「Open File/打開文件」打開HEX文件,在打開的對話框中找到剛才所建立工程的目錄,在此目錄下可以找到剛才編譯得到的HEX文件,如果找不到則是還沒有在 這個方框里打上勾,回到工程里打上勾並按 編譯一次就行了。打開HEX文件確定後就點擊下載軟體的 ,再打開單片機開發板上的電源開關,這時電腦便自動與單片機連接並把程序下載到單片機里,下載完成後會有聲音提示的,或者可以在軟體界面上看得到。註:STC系列單片機是在開機的瞬間下載程序的,如果還未能連接成功可以關掉電源再開一次即可。

//HJSMSY-V1.0單片機開發板測試程序.C
//-----------------------------------------------
// <<計算器>>
//-----------------------------------------------
//編寫人:李春起
//編定日期:2010.06.26
//修改日期:
//============================================================
#include <AT89X52.H>
#define uchar unsigned char
#define uint unsigned int
uint comdata,vardata,dispdata;
unsigned char flag=0,incflag=0,maxflag=10,maxvar=1;
//===========共陽數碼管段碼表==================================
uchar code SEG7[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar code ACT[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
//================引腳定義=======================================
sbit yy=P3^2;
sbit jk=P3^4;
sbit k1=P2^3;
sbit k2=P2^2;
sbit k3=P2^1;
sbit k4=P2^0;
//=====子函數聲明======================================
void init(void);
void delay1(uint z);
void kk(void);
//===========程序初始化===============================
void init(void)
{
TMOD=0x01;
TH0=0xf4;
TL0=0x48;
ET0=1;
TR0=1;
EA=1;
}
//=====空操作延時子程序=======================
void delay1(uint z)
{
uint j,y;
yy=0;
for(j=0;j<z;j++)
{for(y=0;y<100;y++){;}}
yy=1;
for(j=0;j<z;j++)
{
for (y=0;y<3422;y++);
}
}
//========鍵盤掃描子程序===================
void kk(void)
{ P2=0xf0;
if(P2!=0xf0)
{
P2=0xef;
if(!k1){delay1(15);comdata=vardata;vardata=0;incflag=1;} //k13
if(!k2){delay1(15);comdata=vardata;vardata=0;incflag=2;} //k14
if(!k3){delay1(15);comdata=vardata;vardata=0;incflag=3;} //k15
if(!k4){delay1(15);comdata=vardata;vardata=0;incflag=4;} //k16
P2=0xdf;
if(!k1){delay1(15);if(vardata>6553){goto ab1;};vardata=((vardata*10)/maxflag+8*maxvar);dispdata=vardata;} //k9
ab1:if(!k2){delay1(15);if(vardata>6553){goto ab2;};vardata=((vardata*10)/maxflag+9*maxvar);dispdata=vardata;} //k10
ab2:if(!k3){delay1(15);vardata=0;dispdata=vardata;} // k11
if(!k4){delay1(15);switch (incflag){
case 1:{vardata=(comdata+vardata);dispdata=vardata;}break;
case 2:{vardata=(comdata-vardata);dispdata=vardata;}break;
case 3:{vardata=(comdata*vardata);dispdata=vardata;}break;
case 4:{vardata=(comdata/vardata);dispdata=vardata;}break;
default:break;
}
}//k12
P2=0xbf;
if(!k1){delay1(15);if(vardata>6553){goto ab3;};vardata=((vardata*10)/maxflag+4*maxvar);dispdata=vardata;} //k5
ab3:if(!k2){delay1(15);if(vardata>6553){goto ab4;};vardata=((vardata*10)/maxflag+5*maxvar);dispdata=vardata;} //k6
ab4:if(!k3){delay1(15);if(vardata>6553){goto ab5;};vardata=((vardata*10)/maxflag+6*maxvar);dispdata=vardata;} //k7
ab5:if(!k4){delay1(15);if(vardata>6553){goto ab6;};vardata=((vardata*10)/maxflag+7*maxvar);dispdata=vardata;} //k8
ab6:P2=0x7f;
if(!k1){delay1(15);if(vardata>6553){goto ab7;};vardata=((vardata*10)/maxflag+0*maxvar);dispdata=vardata;} //k1
ab7:if(!k2){delay1(15);if(vardata>6553){goto ab8;};vardata=((vardata*10)/maxflag+1*maxvar);dispdata=vardata;} //k2
ab8:if(!k3){delay1(15);if(vardata>6553){goto ab9;};vardata=((vardata*10)/maxflag+2*maxvar);dispdata=vardata;} //k3
ab9:if(!k4){delay1(15);if(vardata>6553){goto ab10;};vardata=((vardata*10)/maxflag+3*maxvar);dispdata=vardata;} //k4
ab10:;
}
}
//======定時器0中斷服務子程序================
void time0(void) interrupt 1
{
TH0=0xf4;
TL0=0x48;
P0=0xff;P1=0xff;
// 時鍾顯示子程序
switch(flag)
{
case 0:{P0=SEG7[dispdata%10];P1=ACT[0];flag=1;}break;
case 1:{P0=SEG7[(dispdata/10)%10];P1=ACT[1];flag=2;}break;
case 2:{P0=SEG7[(dispdata/100)%10];P1=ACT[2];flag=3;}break;
case 3:{P0=SEG7[(dispdata/1000)%10];P1=ACT[3];flag=4;}break;
case 4:{P0=SEG7[dispdata/10000];P1=ACT[4];flag=5;}break;
case 5:{P0=SEG7[0];P1=ACT[5];flag=0;}
default:break;
}
}
//=========主函數======================================
void main()
{
init();
yy=1;
jk=0;
while(1)
{
if((vardata/1000)>=9){maxflag=10;maxvar=0;}
else {maxflag=1;maxvar=1;}
kk();
}
}

③ u盤nandflash-(u盤nandflash編程器diy)

U盤自發明問世以來,便利了我們的日常工作生活,成為文件存儲轉移的常用工具。隨著數據文件的增多與增大,4G、8G、16GU盤日漸吃力,存儲速率也影響體驗。為此,一款超高速的U盤——aigo U393應運而生。

aigo U393的造型新穎,流線型的跑車風格配以太空銀的高品質鋅合金外殼,外觀穩重大氣,從設計上滿足審美需求。跑車理念融入上翻引擎蓋設計,不僅保護U口,還減少了翻蓋帽丟失的風險。雙U介面設計(Type-C及USB3.1)使得它不僅適配電腦、音箱等設備,還能作為手機的OTG拓展存儲器,無需額外驅動。

在存儲空間方面,手機存儲空間有限,128G空間在頻繁拍攝視頻後顯得捉襟見肘。aigo U393支持type-C介面,允許直接存儲拍照、錄制的視頻,方便數據轉移至電腦編輯。該U盤採用NAND Flash存儲介質,USB3.1Gen2高速介面,讀取速度達到520MB/s,遠超傳統U盤的40MB/s,極大提升了傳輸效率。

通過ATTO軟體測試發現,aigo U393的讀寫速度隨文件大小增加而提升,最大速率達到550MB/s。AS軟體測試顯示,讀取平均速度為528MB/s,寫入速度為439MB/s,表現優秀。這意味著再也不用苦等半天處理大文件。

綜合使用體驗,aigo U393在外觀設計、功能擴展性、存儲速度等方面表現出色。超跑風格的造型,強烈的金屬質感,小巧輕便的體積(約38g),不僅適於電腦端使用,也適合手機存儲擴展,滿足了便攜需求。唯一的遺憾是缺少鑰匙鏈口,以及外殼易留下指紋。然而,這些小缺點並未影響其整體的優秀表現。使用aigo U393一段時間後,整體感覺十分滿意。

熱點內容
結果緩存頁 發布:2025-03-26 06:33:58 瀏覽:268
人臉解壓器 發布:2025-03-26 06:25:18 瀏覽:893
sql伺服器安裝 發布:2025-03-26 06:18:41 瀏覽:235
編程在線學習平台 發布:2025-03-26 06:14:25 瀏覽:883
調試程序是指對程序進行編譯嗎 發布:2025-03-26 06:06:15 瀏覽:34
我的世界小游戲伺服器ip地點 發布:2025-03-26 06:05:35 瀏覽:147
wow多玩資料庫 發布:2025-03-26 06:05:34 瀏覽:747
c語言可視化編程 發布:2025-03-26 06:04:47 瀏覽:204
android作業 發布:2025-03-26 05:51:44 瀏覽:370
蘋果微信怎麼鎖屏密碼忘了怎麼辦啊 發布:2025-03-26 05:50:10 瀏覽:268