我是怎样自学单片机程序设计的
这个只能你自己知道你是怎样自学单片机程序设计的。别人怎么会知道呢?
自学单片机还是比较枯燥和有一定难度的,最好是用以致学,也就是工作中用到了单片机,为了工作而去学习,这样有压力,有具体的解决办法,那么学起来效率就高了。
一个简单的51单片机c语言程序设计~
机的外部结构
:
1.
DIP40
双列直插;
2.
P0
,
P1
,
P2
,
P3
四个
8
位准双向
I/O
引脚;(作为
I/O
输入时,要先输出高电平)
3.
电源
VCC
(
PIN40
)和地线
GND
(
PIN20
);
4.
高电平复位
RESET
(
PIN9
);(
10uF
电容接
VCC
与
RESET
,即可实现上电复位)
5.
内置振荡电路,外部只要接晶体至
X1
(
PIN18
)和
X0
(
PIN19
);(频率为主频的
12
倍)
6.
程序配置
EA
(
PIN31
)接高电平
VCC
;(运行单片机内部
ROM
中的程序)
7.
P3
支持第二功能:
RXD
、
TXD
、
INT0
、
INT1
、
T0
、
T1
单片机内部
I/O
部件
:
(
所为学习单片机,实际上就是编程控制以下
I/O
部件,完成指定任务
)
1.
四个
8
位通用
I/O
端口,对应引脚
P0
、
P1
、
P2
和
P3
;
2.
两个
16
位定时计数器;(
TMOD
,
TCON
,
TL0
,
TH0
,
TL1
,
TH1
)
3.
一个串行通信接口;(
SCON
,
SBUF
)
4.
一个中断控制器;(
IE
,
IP
)
针对
AT89C52
单片机,头文件
AT89x52.h
给出了
SFR
特殊功能寄存器所有端口的定义。
C
语言编程基础
:
1.
十六进制表示字节
0x5a
:二进制为
01011010B
;
0x6E
为
01101110
。
2.
如果将一个
16
位二进数赋给一个
8
位的字节变量,则自动截断为低
8
位,而丢掉高
8
位。
3.
++var
表示对变量
var
先增一;
var
—
表示对变量后减一。
4.
x |= 0x0f;
表示为
x = x | 0x0f;
5.
TMOD = ( TMOD & 0xf0 ) | 0x05;
表示给变量
TMOD
的低四位赋值
0x5
,而不改变
TMOD
的高四
位。
6.
While( 1 );
表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是
{;}
单片机c语言程序设计
#include<reg51.h>#defineucharunsignedchar
ucharcnt;
sbitins=P1^0;
sbitled=P1^4;
voiddelayms(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
main()
{
while(1)
{
if(ins==0)
{
delayms(100);
if(ins==0)led=0;
}
if(ins==1)
{
delayms(100);
if(ins==1)led=1;
}
}
}
51单片机源程序设计
先实现一个功能吧,按K1数码管显示加1,LED灯左移一位。#include<reg51.h>
#include<intrins.h>
#defineucharunsignedchar
ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳级数码管码表0-9
ucharkey;
voidext0()interrupt0
{
key++;
P1=_crol_(0xfe,key);
P0=table[key];
}
main()
{
EX0=1;
IT0=1;
EA=1;
while(1);
}
单片机编程和一般编程区别???
如果你是想学计算机软件开发的话,就不要去理会什么单片机编程了。
但如果你是想学电子产品开发(嵌入式系统开发),那么单片机编程就是基础了。
电脑和单片机的区别是:电脑属于通用计算机,而单片机是嵌入式微机。
通用计算机上的C语言和汇编编写出来的程序是在本台计算机上运行的,当然你也可以让它在其他电脑上运行。而单片机编程就不同了,单片机编程有专门的编译器,不同的单片机编程软件是不同的,而不像电脑上的c++6.0、TC或其他什么编程软件写出来的程序就在本台电脑上运行,单片机的编程是在电脑上编写程序并生成可执行文件。让后把可执行文件下载到单片机里面,也就是说单片机编程是面向单片机的,而通用计算机编程时面向通用计算机的。这就说明了为什么不同的单片机需要不同的编程软件,因为编程生成的可执行代码都需要硬件的支持,通用机的硬件是“通用的”“兼容的”,而单片机型号不同硬件就会有差别
,所以需要不同的编译器来支持了。
你会发现单片机编程的C语言和标准C会有差别,很多单片机C语言在标准C里是不被承认的,这个也能说明单片机和电脑的区别吧。
51单片机源程序设计、单片机程序设计,就介绍到这里啦!感谢大家的阅读!希望能够对大家有所帮助!