1. 单片机的程序怎么写
1.了解单片机硬件知识
2.了解单片机汇编指语言(可以直接汇编写代码,或用C51而汇编作为加深对硬件操作的理解必学)
3.懂C语言,了解单片机开发的C51与C的区别
4.至少要掌握一个单片机软件开发集成环境的使用(例如Keil uVision4)
5.明白电路图(可以是别人设计好的,有能力的可以自己设计电路图),至少要知道输入输出端口和接脚情况,外围电路中的设备要如何控制
6.了解要写的程序的具体功能需求
7.最后开始是写代码
可以在任意一款文本编辑中进行,可选择用汇编语言 或是C51 或是混合代码
如选C51,开头的部分都是和硬件相关的一些设定,几乎和逻辑无关的,
而后至少写一个主函数, 。 代码写完保存为.c
(后面还有编译、模拟调试运行、烧写到单片机上,这些已经超出怎么写,属于后话)
或许你只是做任务发这个问,我也是做任务,用心回答,希望得到采纳
2. 如何向单片机中写入程序
首先,你需要一个单片机开发板.
上图就是一种比较典型的简单的单片机开发板,抑或你也可以称为学习板.
一般上面的这种开发板不算很贵.
我们学校的老师自己设计并印刷的这种板(资源相差不多)要100元就能买一块,不过一些电源线或数据线还得自己买.总共也有150左右吧.
你会发现有好多的不同的开发板,价格不等,资源不一.不过我个人的建议是除非你有非常浓厚的兴趣且决心很深入的研究,就没有必要买非常高级的板子,一般买了也没有用.初学者使用上面的这种就可以了,哈哈,合适即可.
下一步就是编译器和下载程序了.
编译器推荐使用KEIL 51 吧.非常好用的.
你可以用C语言写程序也可以用汇编语言.
关于KEIL 51的使用,你自己上网查查吧,有很多以时间讲不清的.
我的单片机是STC ;就用STC-ISP把刚才的程序下载到单片机吧.
下面就简单了.按照步骤
1,先选好单片机的型号:STC89C52RC.
2,选择要下载到单片机的程序文件.
3,选择COM口,这很重要哦.看看你电脑是哪个口就选哪个口吧.
其他的就没有必要选择了.
OK!点击Downlod/下载 ;
好了,显示下载成功!
这两个工具网上都有,自己有迅雷搜索一下吧..
3. 单片机 这程序怎么写
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit k1 = P2^0; //位定义
sbit k2 = P2^1;
sbit k3 = P2^2;
void main(void)
{
uchar start,stop,tran; //三种状态变量
uchar date,num;
P1 = 0X00; //初始状态,灯全灭,P2口释放准备检测按键
P0 = 0X00;
P2 = 0XFF;
while(1)
{ date = P2; //读取P2口值
if(date != 0xff) //判断是否有按键
{
delay10ms(); //延时消抖(这个自已写吧)
if(date != 0xff)
{
switch(date) //有按键,判断按键
{
case 0xfe: //K1
if((start = 0)&&(tran = 0)) //是否为起始状态
{ start = 1;
stop = 0;
P1 = 0x80; //L7亮
}
break;
case 0xfd: //K2
if(start = 1) //启动是否就绪
{
tran = 1;
P1 |= 0X01; //L1亮
if(num = 0)num=1; //num=0,1表示交替按下K2的两种状态
else num = 0;
switch(num)
{
case 0: P0=0xf0;break; //状态1
case 1: P0=0x0f;break;//状态2
}
}
break;
case 0xfb: //K3
stop = 1;start = 0;tran = 0;
P0 = 0;
P1 &= 0XEF;
break;
}
}
}
}
}
花了十来分钟在线写的,没调过,不过应该没什么问题。希望对你有帮助!
4. 单片机的程序怎么编写
#include
5. 如何写一个单片机程序
key_operation(void)
{
switch(keyvalue)
{
case(key1):addpwm_duty(10);break;
case(key2):led_operation(on);break;
case(key3):sound(on);break;
}
}
子函数 ,自己写吧,keyvalue的获取,也不用写了吧,三年没写代码了,都不知道咋搞了,fish
6. 单片机程序如何写入单片机
吴鉴鹰是工程师,做单片机开发工作的,有自己的51单片机学习板/开发板,这个你学好了51好再看
单片机程序的用途是让单片机“听话”,按人们所预定的设计完成一系列动作,最终实现一个特定的功能。
例如使用单片机控制流水灯,接通电源后,第一次灯亮,然后延时一段时间,第二次灯亮,然后延时一段时间,第三次灯亮……,延时一段时间后又回到第一次灯亮,如此循环不已。这里就有这样的一些问题:第一次亮几盏灯、延时多少时间、一个循环中设置多少次不同的灯亮的情况……,这些决定了流水灯的花样,流动的速度,而这些,单片机显然没有自我判断能力,必须依靠人们给它“布置”任务,而它则是按人们的设计依次执行。
要让单片机“听话”,就要用单片机能够听懂的语言发布命令,单片机能够听懂的语言称之为“指令”。任何一种型号单片机能够接受的指令都是有限的,51单片机的指令条数为111条,而PIC单片机的指令仅有35条。每一条指令完成一个最基本的动作,人们为了要完成一个特定的功能,就要将这些指令排列组合,成为一个指令序列,这就是程序。
指令的表示形式有两种:机器语言和汇编语言。以51为例,如果要让P1.0引脚变为低电平,用机器语言来表示就是 C2H 90H,将这两个数放进单片机的程序存储器中,单片机执行后,就可以让P1.0引脚变为低电平了;而要让P1.0引脚变为高电
平,用机器语言来表示就是D2H,90H。至于为什么是这两个数字,大家没必要追究,这是设计这块芯片的设计工程师规定的,我们不能更改,只能学习。
C2H,90H就是一条指令,显然这样的指令形式是很难记忆的,编程也非常困难,于是人们使用了“助记符”来代替这些数字。例如C2H,90H的助记符是CLR P1.0,而D2H,90H的助记符是SETB P1.0,由于助记符采用了英语字母的缩写,有一定含义,因此比数字形式的指令易记、易用。
使用助记符形式的指令来编写程序就称之为“汇编语言源程序”。但是汇编语言源程序是没有办法直接送到单片机内部去的,使用助记符形式的指令编写的程序最终还是要变成为诸如:C2H,90H,D2H,90H,这种形式的指令才能被送入单片机的程序存储器。将助记符形式的指令变为数字形式的指令的过程称之“汇编”。
汇编有两种方法,一种是“手工汇编”,即人们通过查表的形式找到所写汇编指令的数字形式然后写下来;另一种是“机器汇编”,即编写好汇编语言源程序以后,使用一个计算机软件对这些源程序进行处理,从而得到数字形式的指令序列,这个指令序列通常被称为“机器码”,即可以直接被机器所执行的代码。
机器汇编后得到的数字形式的指令序列以一个文件的形式保存在磁盘上,这个文件的扩展名一般是HEX,即人们常说的HEX文件。得到了HEX文件后,就可以将其写入程序存储器中了。要将程序写入芯片,通常需要一个称之为“编程器”的专用设备,在计算机上运行与之配套的编程软件,然后在这个软件中打开HEX文件,即可将其写入芯片中。随着技术的发展,编程方式越来越多,但总的概念是这样的,具体的细节,将在另一个问题“单片机编程器是什么”中回答。