求一个简单的51单片机c语言程序设计~

2024年11月18日 12:24
有1个网友回答
网友(1):

机的外部结构


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 );
表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是
{;}