当前位置:首页 > 单片机 > 单片机
[导读]1、点亮闪烁的LED灯。#includesbitLED00=P0^0;//位定义,定义单片机引脚voiddelay(intt){inti,j;for(i=0;i

1、点亮闪烁的LED灯。


#include

sbitLED00=P0^0;//位定义,定义单片机引脚

voiddelay(intt)

{

inti,j;

for(i=0;i<100*t;i++)

{

for(j=0;j<125;j++)

{

;

}

}

}

voidmain(void)

{

while(1)

{

LED00=0;//此开发板是低电平点亮

delay(5);

LED00=1;//此开发板是高电平熄灭

delay(5);

}

}



2、流水灯。


/******************************************************************************

*说明:AT89S52芯片,12M晶振

*P0、P1两个8位端口分别连接8个LED灯

*低电平点亮,高电平熄灭。

******************************************************************************/

#include

#include//是循环左移、右移函数的头文件,参考网址如下

//http://baike.baidu.com/view/1745068.htm?fromTaglist

//http://wenku.baidu.com/view/06ba3d00b52acfc789ebc97b.html

//sbitLED00=P0^0;//位定义,定义单片机引脚

voiddelay(intt)

{

inti,j;

for(i=0;i<100*t;i++)

{

for(j=0;j<125;j++)

{

;

}

}

}

voidmain(void)

{

P0=0xfe;//0b11111110

P1=0x7f;//0b01111111

while(1)

{

P0=_crol_(P0,1);//循环左移,每次循环1位

P1=_cror_(P1,1);//循环右移,每次循环1位

delay(5);

}

}


3、继电器的控制。


/******************************************************************************

*说明:AT89S52芯片,12M晶振

*此开发板继电器的控制端口和单片机的P3^7引脚相连接

*因为继电器的工作电流比较大,

*所以P3^7连接的是一个三极管,通过三极管驱动继电器

******************************************************************************/

#include

sbitJDQ=P3^7;//位定义,定义单片机引脚

voiddelay(intt)

{

inti,j;

for(i=0;i<100*t;i++)

{

for(j=0;j<125;j++)

{

;

}

}

}

voidmain(void)

{

while(1)

{

JDQ=0;

delay(5);//延时0.5s

JDQ=1;

delay(5);

}

}

4、控制无源蜂鸣器每隔1s响1s (有一个疑问)


/******************************************************************************

*说明:AT89S52芯片,12M晶振

*此开发板蜂鸣器的控制端口和单片机的P3^6引脚相连接

*用三极管进行驱动

*无源蜂鸣器:需要写函数产生1KHz左右的声音频率(方波)

******************************************************************************/

#include

sbitFMQ=P3^6;//位定义,定义单片机引脚

/******************************************************************************

*名称:delay1ms()

*功能:延时1ms

*参数:intt

*返回:无

******************************************************************************/

voiddelay1ms(intt)

{

unsignedchari;

while(t--)

{

for(i=0;i<125;i++)

{

;

}

}

}

/******************************************************************************

*名称:delay500us()

*功能:延时500us

*参数:无

*返回:无

******************************************************************************/

voiddelay500us(void)

{

inti;

for(i=0;i<63;i++)

{

;

}

}

/******************************************************************************

*名称:beep_sound()

*功能:产生FMQ发声需要的1KHz的声音频率

*参数:无

*返回:无

******************************************************************************/

voidbeep_sound(void)

{

FMQ=0;

delay500us();

FMQ=1;

delay500us();

}

voidmain(void)

{

inti,t;

while(1)

{

t=1000;//蜂鸣器发声1000*1ms1KHz频率的方波,一个周期是1ms

for(i=0;i

{

beep_sound();

}

FMQ=1;//关掉FMQ1s(延时)

delay1ms(1000);

}

}

注意:尽量使用定时器产生标准频率的方波,或用延时函数产生时,函数最好不要通过参数来改变延时效果。

疑问:把500us延时函数改成可以传参数t的形式,结果蜂鸣器发出的声音频率和发声的时长变得面目全非,很无解。有经验的朋友欢迎通过评论的方式讨论一下。

改过后的delay500ms()函数 和 beep_sound()函数内容如下:


/******************************************************************************

*名称:delay500us()

*功能:延时500us

*参数:intt

*

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

51单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对51单片机的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 51单片机

在嵌入式系统开发中,单片机是不可或缺的重要组成部分。其中,STM32单片机和51单片机是两种常见的单片机芯片。本文将对比分析这两种单片机的区别,并探讨STM32单片机的优势。

关键字: stm32单片 51单片机

51单片机是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了许多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基...

关键字: 51单片机 串行通信

51单片机是一种常见的微控制器,它具有串行通信接口(Serial Communication Interface,SCI)。通过串口通信接口,51单片机可以与其他设备或系统进行串行通信,实现数据传输和控制。

关键字: 51单片机 串口通信

Pic单片机和51单片机是两种应用广泛的微控制器,它们各自具有不同的特点和优势,选择哪种单片机取决于具体应用需求。下面将对Pic单片机和51单片机进行详细的介绍和对比。

关键字: PIC单片机 51单片机 单片机

随着电子信息技术的快速发展,串行通信在各种应用中得到了广泛的应用。其中,51单片机作为一种常见的嵌入式系统,具有低功耗、高性能、易于编程等特点,常用于各种自动化控制、数据采集等系统中。而PC机具有强大的数据处理能力和丰富...

关键字: 51单片机 PC机 串行通信

51 单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。

关键字: 51单片机 串口通信 半双工

步进电机是一种无刷电机,可将电脉冲转换为机械旋转。顾名思义,它根据输入脉冲逐步旋转,是现代数字程序控制系统中的主要执行元件。

关键字: 51单片机 步进电机 无刷电机

1.ROM:只读存储器,单片机的只读存储区大多用于存储程序固又称程序存储器。

关键字: 51单片机 工作原理 电路
关闭
关闭