51单片机STC89C52 矩阵键盘数码管显示

WELA BIT P2.7  DULA BIT P2.6  DIOLA BIT P2.5  FM BIT P2.3    ORG 0000H  SETB DIOLA  MOV SP,#0E0H  LOOP0:  LCALL key_Scan  JZ LOOP0  LCALL DELAY20MS  LCALL key_Scan  JZ LOOP0  MOV P1,A  LCALL Smg  HERE0:  LCALL ...

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



51单片机STC89C52 iic

SCL BIT P2.1   SDA BIT P2.0  ORG 0000H  LJMP MAIN  ORG 0050H  MAIN:  MOV SP,#30H  MOV P1,#0FFH ;灭LED  MOV R6,#2 ;R6保存AT24C02内部待写地址,用于传递参数  MOV&nb...
关键词: 51单片机 STC89C52 iic

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



51单片机产生PWM波原理及程序

89C51芯片没有自带PWM发生器,如果要用51来产生PWM波就必须要用软件编程的方法来模拟。方法大概可以分为软件延时和定时器产生两种方法。下面将逐一介绍。 ...
关键词: PWM发生器 单片机

http://download.eeworld.com.cn/detail/nkyqsl/574713 发布时间: 2018-06-22



51单片机(STC89C52)DS18B20温度传感器驱动程序

  ...

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



51单片机(AT89C52)DS1302时钟芯片程序

...

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



51单片机(AT89C52)A/D转换

#include<reg52.h>  #define uchar unsigned char  #define uint unsigned int  #define PORT P3  #define dula_h P2|=0x40  #define dula_l P2&=0xbf  #define wela_h P2|=0x80  #define wela_l P2&=0x7f  sbit cs=P2^0;  sbit rd=P2^1;  sbit wr=P2^2; ...

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



51单片机(AT89C52)D/A转换

#include<reg52.h>  #define uchar unsigned char  #define uint unsigned int  sbit cs=P3^0;  sbit wr=P3^1;  void delayms(uint x)  {      uint y,z;      for(y=x;y>0;y--)          for(z=110;z>0;z--);  } ...

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



51单片机(AT89C52)串口收发程序

#include<reg52.h>  #define uchar unsigned char  uchar rtemp,sflag;  void SerialInit()   //11.0592M晶振,波特率9600  {      TMOD=0x20;  //设置定时器1工作方式为方式2      TH1=0xfd;      TL1=0xfd;      TR1=1;     &n...

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



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




<上一页 6789101112131415161718192021 下一页> 相关结果约17,185个