51单片机(AT89C52)控制双路继电器

#include<reg52.h>  #define uchar unsigned char  #define uint unsigned int  #define DELAY 500  sbit relay=P2^0;  void delay(uint z)  //1ms  {      uint x,y;      for(x=z;x>0;x--)          for(y=111;y>...

http://www.eeworld.com.cn/mcu/article_2018062139915.html 发布时间: 2018-06-21



51单片机(AT89C52)外部中断程序

#include<reg52.h>  #define uchar unsigned char  #define uint unsigned int  #define DELAY 1000  void delay(uint z)  //1ms  {      uint x,y;      for(x=z;x>0;x--)          for(y=111;y>0;y--);  }  ...

http://www.eeworld.com.cn/mcu/article_2018062139914.html 发布时间: 2018-06-21



51单片机(AT89C52)控制蜂鸣器

#include<reg52.h>  #define uchar unsigned char  #define uint unsigned int  sbit beep=P0^0;  void delay(uint z)  {      uint x,y;      for(x=z;x>0;x--)          for(y=111;y>0;y--);  }  void main() &n...

http://www.eeworld.com.cn/mcu/article_2018062139913.html 发布时间: 2018-06-21



51单片机(AT89C52)矩阵键盘检测程序

矩阵键盘检测思路:行线设为输出、列线设为输入获得列码,行线设为输入、列线设为输出获得行码,由行列码确定键值。本程序可改进的地方:按键状态机中,将等待按键释放语句移到第三个状态中,可进一步提高按键扫描程序效率。#include<reg52.h>  #define uchar unsigned char  #define uint unsigned int  sbit dula=P3^0;  sbit wela=P3^1;  #define keyport (P1)  #define keystate0 0   &n...

http://www.eeworld.com.cn/mcu/article_2018062139912.html 发布时间: 2018-06-21



51单片机STC89C52 红外解码

/******************************** **For:Car mp3 IrControler **Author:YWZ **Date:2013/10/16 ********************************/  #include "reg52.h"    typedef unsigned char U8;   typedef unsigned int U16;    U8 code aHexIndex[]=...

http://www.eeworld.com.cn/mcu/article_2018062139911.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之四: bit

bit关键词可定义位变量,可用于函数参数、返回值类型。static bit done_flag = 0;    /* 位变量*/bit testfunc (               /* 返回值类型为位变量 */  bit flag1,                 /* 参数类型为位变量 */  bit flag2){...return (0);        ...
关键词: Keil C51 bit

http://www.eeworld.com.cn/mcu/article_2018062139907.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之七: data

8051单片机内部256字节RAM,低128字节既可直接寻址,又可间接寻址,高128字节RAM只能间接寻址(直接寻址方式下,高128字节被映射到SFR特殊功能寄存器)。内部RAM中包含16字节可位寻址区域,该区域起始地址为20H。内部RAM存储区被分为三种不同的存储区类型:data,idata,bdata。1)data指低128字节,以直接寻址方式访问存在该区域的变量。2)idata指全部256字节,该存储类型编译后的代码以间接寻址方式访问内存。3)bdata指16字节可位寻址区,该区域地址范围为20H-2FH。使用bdata能够定义可位寻址的变量。汇编语言内部RAM直接寻址方式,示例:MOV...
关键词: Keil C51 data

http://www.eeworld.com.cn/mcu/article_2018062139904.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之八: far

far的出现,是Keil 编译器为了支持新出现的8051家族增强型MCU,这些增强型MCU可能拥有大于64KB的存储器。使用far可访问扩展的RAM,使用const far可访问扩展的ROM。NXP 51MX架构51单片机提供通过通用指针访问多达8MB的code和xdata存储空间。Dallas 390架构的51单片机通过24位的DPTR寄存器结合传统MOVX 、MOVC指令来访问扩展的RAM...
关键词: Keil C51 far

http://www.eeworld.com.cn/mcu/article_2018062139903.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之十三: sfr

sfr用来定义特殊功能寄存器。用法如下:sfr name = address;name 为寄存器名字address 为寄存器的地址示例:sfr P0 = 0x80; /* P0口,地址为0x80 */sfr P1 = 0x90; /* P1口,地址为0x90 */sfr P2 = 0xA0;       /* P2口,地址为0xa0 */sfr P3 = 0xB0; /* P3口,地址为0xb0 */等号右边必须为数字常量,不能包含+ -等操作符,数值也不是随意的,传统类型8051单片机支持的地址范围为0x80 - 0xFF...
关键词: Keil C51 sfr

http://www.eeworld.com.cn/mcu/article_2018062139898.html 发布时间: 2018-06-21



Keil C51对C语言的关键词扩展之十七: sbit

sbit用来定义一个特殊功能寄存器的某一位。sbit name = sfr-name ^ bit-position; sbit name = sfr-address ^ bit-position; sbit name = sbit-address;    name   特殊功能寄存器某一位的名称    sfr-name 已定义的特殊功能寄存器名称    bit-positi...
关键词: Keil C51 sbit

http://www.eeworld.com.cn/mcu/article_2018062139894.html 发布时间: 2018-06-21



51单片机启动代码:STARTUP.A51

通过Keil编译器建立工程时,Keil会提示是否添加STARTUP.A51文件到工程,该文件即为51单片机启动代码。51单片机复位后马上执行STARTUP.A51文件中的启动代码,根据启动代码中的设置依次执行以下操作:内部RAM清零外部RAM清零清零分页的外部RAM初始化SMALL内存模型的可重入模拟堆栈及其堆栈指针初始化LARGE内存模型的可重入模拟堆栈及其堆栈指针初始化COMPACT内存模型...

http://www.eeworld.com.cn/mcu/article_2018062139891.html 发布时间: 2018-06-21



AVR单片机驱动LCD1602

这几天一直在学习AVR单片机的使用,也移植了几个以前在51单片机上用到的一些函数库,今天在调试LCD1602,把经验分享给大家在进行读写操作的时候,如果使用了较高的晶振频率,那么在操作时序的时候要适当延时,一般一个空指令就可以了。在读忙操作的时候要把数据口设置为输入,并开启内部上拉。下面是实现的代码:#include <iom8515.h>    #define LCD1602_DB  PORTA   //PA  #define LCD1602_RS (1<<7) //PC7  #define LCD...

http://www.eeworld.com.cn/mcu/article_2018062139884.html 发布时间: 2018-06-21



AVR单片机(ATmega16L)DS18B20温度传感器驱动程序

  在DALLAS网站上下个英文版的datasheet,从第一行开始看,看着看着,感觉非常惊奇,不像我当初想当然的觉得那么难理解啊,除了个别单词不认识,整体上能看出大概意思,装了个金山词霸,不会的单词马上查,发现也不是很费劲的事儿。以前打开个英文的datasheet,看着密密麻麻的英语句子,看都没看就觉得头大,以前实在是太先入为主了,自己还是太浮躁,没有静下心来,认真的看一看。决定以后下芯片资料,直接下原版datasheet。  从头看手册,对照程序完整的看了一遍,发现原因就在写时序上,程序中写字节的函数中有一句:temp_h,与时序图不符,写0时序开始后、DS18B20采...

http://www.eeworld.com.cn/mcu/article_2018062139875.html 发布时间: 2018-06-21



80C51单片机C语言轻松入门

本书共分六章,每章一个专题,以一些待完成的任务为中心,围绕该任务介绍 C 语言 的一些知识,每一个任务都是可以独立完成的,每完成一个任务,都能掌握一定的知识,等 到所有的任务都完成后,即可以完成 C 语言的入门工作。 ...
关键词: C语言 单片机

http://download.eeworld.com.cn/detail/froglucky/574647 发布时间: 2018-06-21



51单片机DS18B20温度传感器详解

DS18B20是一种单总线数字温度传感器,测试温度范围-55℃-125℃,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。单总线,意味着没有时钟线,只有一根通信线。单总线读写数据是靠控制起始时间和采样时间来完成,所以时序要求很严格,这也是DS18B20驱动编程的难点。一.DS18B20温度传感器1.引脚图2.DS18B20内部结构图 主要由2部分组成:64位ROM、9字节暂存器,如图所示。(1) 64 位ROM。它的内容是64 位序列号,它可以被看作是该DS18B20 的地址序列码,其作用是使每个DS18B20 都各不相同,这样就可以实现一根总线上挂接多个DS18B20 的目的。...

http://www.eeworld.com.cn/mcu/article_2018062039859.html 发布时间: 2018-06-20



STC51单片机串口发送程序

#include<reg52.h>   #define uchar unsigned char   unsigned char rtemp,sflag;unsigned char code Buffer[] = "Welcome To The MCU World.";//所要发送的数据unsigned char *p;  unsigned char TestBuff[3];unsigned char mode=0;unsigned char ArrayIndex=0;void SerialInit()  ...

http://www.eeworld.com.cn/mcu/article_2018062039850.html 发布时间: 2018-06-20



STM32串口接收粉尘传感器数据

本文章主要记录STM32实现对粉尘传感器的数据采集及简单处理。材料: 1、正点原子Mini开发板STM32f103RC 2、ZH03A激光粉尘传感器  3、USB TO TTL线(就是烧写51单片机的下载线)连接电脑和开发板上的串口2  4、电脑串口调试助手,用来查看数据主要设计思路: 1、串口初始化,包括GPIO,外设时钟,NVIC等配置; 2、串口中断处理函数编写,即通过接收中断获取数据并且保存到数组,同时注意判断相关数据位; 3、发送数据,使用到了printf函数,需要重定向; 4、主程序...

http://www.eeworld.com.cn/mcu/article_2018061939842.html 发布时间: 2018-06-19



基于51单片机实现的电机PWM控制及测速

阅读数:2181 ...

http://www.eeworld.com.cn/mcu/article_2018061939843.html 发布时间: 2018-06-19



51单片机+PWM控制渐变七彩灯C51程序

一、硬件介绍: (采用5050LED 2W) RGB三色LED控制引脚分别为单片机P1.2 、 P1.1  、 P1.0。LED正极接主电源(24V)正极,负极接驱动3颗三极管的集电极,单片机控制脚分别接3颗NPN三极管,三极管发射极接地,而单片机的供电是来自三端稳压器7805,祥细原理如下: 二、实物图片: 三、软件部分:1、/*原理: 先亮红灯(保持一会儿)----红绿过度(绿加1、红减1循环240次)------绿灯亮起(保持一会儿)----绿兰过度(兰加1、绿减1循环240次)-----兰灯亮起(保持)--...

http://www.eeworld.com.cn/mcu/article_2018061939835.html 发布时间: 2018-06-19



PWM在51单片机的使用和分析

1.什么是PWM? PWM在百度的解释是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。 我对百度的解释比较认同,但是由于我是实用派,还是觉得有些复杂,不是很好理解。众所周知,我们国家的交流电是50HZ,...
关键词: PWM 51单片机

http://www.eeworld.com.cn/mcu/article_2018061939834.html 发布时间: 2018-06-19




<上一页 12131415161718192021222324252627 下一页> 相关结果约18,079个