当前位置:首页 » 编程软件 » 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 07:19:02 浏览:304
烟草证帐号密码没下来到哪里咨询 发布:2025-03-26 07:16:07 浏览:623
vm共享文件夹找不到 发布:2025-03-26 07:15:25 浏览:422
密码笔记本怎么打开 发布:2025-03-26 07:13:10 浏览:33
谷歌android系统手机 发布:2025-03-26 07:12:28 浏览:832
怎样头发加密 发布:2025-03-26 07:04:50 浏览:658
怎么破解苹果7密码 发布:2025-03-26 07:01:30 浏览:2
快看漫画能缓存吗 发布:2025-03-26 07:00:20 浏览:842
云服务器怎么切换到电脑 发布:2025-03-26 07:00:15 浏览:904
复制加密IC卡 发布:2025-03-26 06:55:08 浏览:885