2025年51单片机设计实例(51单片机课程设计实例)

51单片机设计实例(51单片机课程设计实例)实用文案 实用文案 标准文档 标准文档 基础知识 51 基础知识 51 单片机编程基础 第一节 单数码管按键显示第二节 双数码管可调秒表第三节 十字路口交通灯第四节 数码管驱动 第五节 键盘驱动第六节 低频频率计第七节 电子表 第八节 串行口应用 基础知识 51 单片机编程基础 单片机的外部结构 DIP40 双列直插 P0 P1 P2 P3 四个 8 DIP40 双列直插 P0 P1 P2

大家好,我是讯享网,很高兴认识大家。



实用文案

实用文案

标准文档

标准文档

基础知识:51

基础知识:51单片机编程基础

第一节:单数码管按键显示第二节:双数码管可调秒表第三节:十字路口交通灯第四节:数码管驱动

第五节:键盘驱动第六节:低频频率计第七节:电子表

第八节:串行口应用

基础知识:51单片机编程基础

单片机的外部结构:

DIP40双列直插;P0,P1,P2,P3四个8

DIP40双列直插;

P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平)

电源VCC(PIN40)和地线GND(PIN20);

高电平复位RESET(PIN9);(10uF电容接VCC与RESET,即可实现上电复位)

内置振荡电路,外部只要接晶体至X1(PIN18)和X0(PIN19);(频率为主频的12倍)

程序配置EA(PIN31)接高电平VCC;(运行单片机内部ROM中的程序)

P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1

单片机内部I/O部件:(所为学习单片机,实际上就是编程控制以下I/O部件,完成指定任务)

四个8位通用I/O端口,对应引脚P0、P1、P2和P3;

两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1)

一个串行通信接口;(SCON,SBUF)

一个中断控制器;(IE,IP)

针对AT89C52单片机,头文件AT89x52.h给出了SFR特殊功能寄存器所有端口的定义。

C语言编程基础:

1.十六进制表示字节0x5a:二进制为;0x6E为

如果将一个16位二进数赋给一个8位的字节变量,则自动截断为低8位,而丢掉高8位。

++var表示对变量var先增一;var—表示对变量后减一。

x|=0x0f;表示为x=x|0x0f;

TMOD=(TMOD0xf0)|0x05;表示给变量TMOD的低四位赋值0x5,而不改变TMOD的高四位。

While(1);表示无限执行该语句,即死循环。语句后的分号表示空循环体,也就是{;}

在某引脚输出高电平的编程方法

在某引脚输出高电平的编程方法:(比如P1.3(PIN4)引脚)

代码

1.#include AT89x52.h //该头文档中有单片机内部资源的符号化定义,其中包含P1.3

2.void main( void )

//void 表示没有输入参数,也没有函数返值,这入单片机运行的

复位入口

3.{

4. P1_3 = 1;

//给P1_3赋值1,引脚P1.3就能输出高电平VCC

5. While( 1 );


讯享网

//死循环,相当 LOOP: goto LOOP;

6.}

注意:P0

注意:P0的每个引脚要输出高电平时,必须外接上拉电阻(如4K7)至VCC电源。

在某引脚输出低电平的编程方法:(比如P2.7引脚)

代码

1.#include AT89x52.h //该头文档中有单片机内部资源的符号化定义,其中包含P2.7

2.void main( void )

//void 表示没有输入参数,也没有函数返值,这入单片机运行的

复位入口

3.{

4. P2_7 = 0;

//给P2_7赋值0,引脚P2.7就能输出低电平GND

5. While( 1 );

//死循环,相当 LOOP: goto LOOP;

6.}

在某引脚输出方波编程方法

在某引脚输出方波编程方法:(比如P3.1引脚)

代码

1.#include AT89x52.h //该头文档中有单片机内部资源的符号化定义,其中包含P3.1

2.void main( void )

//void 表示没有输入参数,也没有函数返值,这入单片机运行的

复位入口

3.{

4. While( 1 )

//非零表示真,如果为真则执行下面循环体的语句

5. {

将某引脚的输入电平取反后,从另一个引脚输出:(比如P0.4=NOT(P1.1))

将某引脚的输入电平取反后,从另一个引脚输出:(比如P0.4=NOT(P1.1))

代码

1.#include AT89x52.h //该头文档中有单片机内部资源的符号化定义,其中包含P0.4和P1.

1

2.void main( void )

//void 表示没有输入参数,也没有函数返值,这入单片机运行的

复位入口

3.{

8.

{ P0_4 = 0;

} //给P0_4赋值0,引脚P0.4就能输出低电平GND

9.

else

//否则P1.1输入为低

小讯
上一篇 2025-05-25 14:21
下一篇 2025-04-30 23:55

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/149405.html