请问如何将C或汇编源程序或烧到自己制作的PCB板上 谢谢···

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问如何将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();

参考技术A 烧录器啊!有些芯片,直接用相应脚位,也可以烧录程序,当然烧录软件也得有! 参考技术B 回答

请问如何将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”键功能为除。希望能帮助的到您!

提问

有不有这方面书?

回答

有不有这方面书?亲,您好!有的,建议您到书店进行购买,或者线上购买也行哦!希望能帮助的到您!

亲,您满意的话,您的赞是对我们最好的鼓励!希望能得到您的赞,愿您生活愉快,一帆风顺!

参考技术C PCB?
你能否讲清楚点。

如何使用Keil编译汇编程序或C语言程序

打开Keil后选择【File】下的【new】新建一个空白文档。将编辑好的程序源码复制到该文件中。
如何使用Keil编译汇编程序或C语言程序
选择左上角的保存按钮进行保存,将弹出保存对话框。
如何使用Keil编译汇编程序或C语言程序
选择保存路径和编辑文件名。记住,这里的文件名很重要,如果你是C语言程序的话,加上.c后缀,如果你是用汇编语言,加上.ASM后缀。这样,Keil就能自动识别你的文件类型了。
如何使用Keil编译汇编程序或C语言程序
现在你就可以将保存的文件添加到项目中了,项目文件要提前在[Project]中新建。右击选择【Source Group1】点击【Add Files to Group..】
如何使用Keil编译汇编程序或C语言程序
在弹出的对话框中选择[文件类型]为All files,这个很关键。然后选择你要添加的文件。点击Add添加。
如何使用Keil编译汇编程序或C语言程序
在[Source Group]中就会显示新添加的.ASM文件,按图中选择弹出【Option for Target】对话框。
如何使用Keil编译汇编程序或C语言程序
7
切换到[output]选项卡选中【Create HEX FILE】,就可以在编译成功后自动生成.hex文件。编译按钮在左上角3个按钮,从左到右依次点击,如果源码没错,都可以编译通过了。
如何使用Keil编译汇编程序或C语言程序
参考技术A 去我的网盘下载一个指导书看下就知道了。先学习编译程序,再学习仿真吧。记得给个采纳呀。
https://pan.baidu.com/s/1ge8r1Ft本回答被提问者采纳

以上是关于请问如何将C或汇编源程序或烧到自己制作的PCB板上 谢谢···的主要内容,如果未能解决你的问题,请参考以下文章

pcb板去掉元件opencv

PADS导入其他PCB的封装后,再导入对应的原理图时提示找不到元件类型项目,请问啥原因?

在PCB制造工艺中,钢网有啥作用?在用99画PCB需要怎么设置?等等

在PCB制造工艺中,钢网有啥作用?在用99画PCB需要怎么设置?等等

altium designer 09 生成的PCB板上元件上出现网格

如何使用Keil编译汇编程序或C语言程序