本文目录一览:
8位单片机的c语言程序设计新建文件夹步骤
方法/步骤
1
首先是打开keil软件,打开后显示的界面如下
2
如下第一张图所示点击project-new project,点击后将会出现如下第二张图所示界面;在文件框中填写你的工程名,名字可以是任意英文字符组成的(在此时你最好在你所希望存储该工程的地方新建一文件夹,如第二张图所示就是在桌面上建立了一个测试文件夹来存储新建的工程)
3
输入工程名后会出现如下图所示的芯片选择对话框,选择你开发板上的型号即可(相信要看这张帖子的读者一定是在学51单片机,此时只需选择
Atmel-AT89c52即可。如下第二张图所示)
一路点击确认后回到如下图所示的主界面,并如下图所示点击新建程序输入文本
点击后出现如下第一张图所示界面,并点击保存按钮
点击保存按钮后出现下第一张图所示对话框,在箭头所指的地方输入源文件名称加后缀名(如果你是用C语言编写程序后缀名为*.c;如果你是用汇编语言编写程序则后缀名为*.asm)并点击确认保存。确认后界面如下第二张图所示,注意箭头所指地方的变化。
接下来的一步是将源文件加入到工程中,点击选中source group并右击将会出现如下图所示界面。
再点击Add files to.......;如下第一张图箭头所示处。点击后将会出现第二张图所示的对话框,在该对话框中只要点击选中第五歩保存的源文件并点击Add即可(注意点击选中源文件前后的变化,并且特别注意点击Add后界面没有任何变化,你只要关闭该对话框即可)
打开source group后将会出现如下图箭头所指处的变化
在右边的源文件输入框中写入程序,并点击如图所示的编译按钮(可以看到该程序没有错误,编译成功)
但我们点击进入工程的文件夹没有看到后缀名为.hex文件,如下图所示
所以我们需点击target按钮进行设置,如下第一张图所示。点击后出现第二张图所示对话框
在对话框中点击output选项如下图1处显示,并勾选create hex file如下图2处显示。勾选后关闭对话框并如第10步再编译一次。可以看到文件夹中生成了.hex文件
单片机8位数码管依次显示0到7,要求用c语言实现
假设8个数码管公共端均接地,同时显示0-7
#include reg52.h
#include intrins.h
#define uchar unsigned char
#define uint unsigned int
uchar code DSY_CODE[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x82,0xf8,0x80,0x90,0xff
};
void DelayMS(uint x)
{
uchar t;
while(x--)
for(t=120;t0;t--);
}
void main()
{
uchar i=0;
P0=0x00;
while(1)
{
P0=~DSY_CODE[i];
i=(i+1)%10;/*显示0-9*/
DelayMS(200);
}
}
下面程序从左到右显示
#include reg52.h
#include intrins.h
#define uchar unsigned char
#define uint unsigned int
uchar code DSY_CODE[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
};
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=200;i0;i--);
}
}
void main()
{
uchar i,k=0x80;
while(1)
{
for(i=8;i0;i--)
{
P2=0xff;
k=_crol_(k,1);
P0=DSY_CODE[8-i];
P2=k;
DelayMS(3);
}
}
}
一般8位PIC单片机使用C语言还是汇编语言编程,好像编译器不是支持所有类型的单片机
PIC单片机的C语言编译器是分类支持各类PIC单片机的。
一般做工业产品的公司大多用汇编来编写程序,原因有:
1:pic的8位单片机一般ROM和RAM都相对较小,而现在的PIC的C编译器在优化方面做的不是很好,简单的一个C语句编译器能编出很多行汇编代码。所以有些开发人员认为用c还不如直接用汇编写。
2:因为PIC的C编译器不是免费的,破解版的又存在一些逻辑漏洞什么的。而用pic单片机应用的大多是一些需要稳定性极高的控制场合,所以很多开发公司都干脆直接使用汇编来写。