0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C51全局初始化及精确延时程序,51单片机精确延时程序

454398 2018-09-20 19:42 次阅读

C51全局初始化及精确延时程序,51单片机精确延时程序

关键字:单片机延时程序

/*********************************************************************************************************
* Initialization Program
* QiZhao,2007
* All Rights Reserved
* File : initial.h
* By : QiZhao
* Contact :
zq1987731@163.com
*
* Version : V2.1 γ
* Corrector : QiZhao
* Date : 2008.2.1 (Last modified)
*
* Remarks : Common set of macro definitions keyword, and by setting controlled
* crystal oscillator frequency precision delay subroutine.
*
*********************************************************************************************************/
#ifndef _initial_h_
#define _initial_h_
/*********************************************************************************************************
*
* Global macro definitions
*
*********************************************************************************************************/
#include // AT89S52
#include // Absolute address access
#include // Related to the string
#include // Related to Assembly Language
#include // Unicode conversion
#include // Mathematics functions packet
#include // Standard input or output
#include // Memory Management
#define TRUE 1
#define FALSE 0
#define bool bit // Boolean variable
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#define FOSC 12000000UL // The frequency of crystal
#define NOP _nop_();
/*********************************************************************************************************
*
* Accurate delay(5us,10us)
*
*********************************************************************************************************/
void delay10us (void) // FOSC->12000000
{
NOP
NOP
NOP
NOP
NOP
NOP
}
void delay5us (void) // FOSC->12000000
{
NOP
}
/*********************************************************************************************************
*
* Accurate delay(1ms~255ms)
*
*********************************************************************************************************/
#define WAITE_HI (FOSC / 2 / 12 / 1000 >> 8 )
#define WAITE_LOW (FOSC / 2 / 12 / 1000 & 0xFF)
void delayms (uchar time)
{
do
{
uchar j;
#if WAITE_HI != 0
j = 0;
{
uchar i;
for(i = WAITE_HI; i > 0; i--)
{
while (--j);
}
}
#endif
#if WAITE_LOW != 0
j = WAITE_LOW;
while (--j);
#endif
}while (--time);
}
/*********************************************************************************************************
*
* Includes not repeat
*
*********************************************************************************************************/
#endif
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

    如何通过总线来初始化ADS1256的寄存器?

    我用STC89C52来驱动ADS1256时,发现需要用到SPI协议,单片机需要用IO口模拟SPI总线与ADS1256通信,但是我不知道如何通过总线来初始化ADS1256的寄存器,希望大家能给我提供一些代码支持,
    发表于 12-16 06:47

    通过C51单片机控制数码管显示

    电子发烧友网站提供《通过C51单片机控制数码管显示.docx》资料免费下载
    发表于 11-12 15:51 2次下载

    基于51单片机的手动数字时钟

    具体实现功能由51单片机+8位共阴数码管+独立按键构成。具体功能:(1)利用数码管显示时分秒,显示格式为“时-分-秒”;(2)利用6个按键控制时、分、秒,设定好后自动开始时钟显示;(3)设置秒复位
    的头像 发表于 10-22 14:12 250次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的手动数字时钟

    基于51单片机的遥控开关仿真(双机通信)

    灵活、高效的解决方案。本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。资料内容仿真实现(protues8.7)本设计利用protues8.7软件实现仿真设计,具体如图。程序
    的头像 发表于 10-22 14:12 322次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的遥控开关仿真(双机通信)

    基于51单片机的LED点阵滚动显示系统

    花样;(4)可以利用“点阵LED字模生成工具”生成自己想要显示的字符。仿真演示视频:基于51单片机的LED点阵滚动显示系统-仿真视频设计介绍51单片机简介
    的头像 发表于 10-22 14:12 232次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的LED点阵滚动显示系统

    把esp8266加入到c51单片机单通道程序怎么写

    引脚。 VCC :连接到C51单片机的5V电源。 GND :连接到C51单片机的地线。 步骤 2:初始化串行通信 在
    的头像 发表于 10-18 11:32 636次阅读

    51系列单片机复位的作用是什么

    51系列单片机是一种广泛应用的微控制器,其复位功能对于系统的稳定运行至关重要。 一、51系列单片机复位的作用 系统初始化
    的头像 发表于 08-06 10:53 871次阅读

    基于51单片机数字时钟闹钟设计

    本资源内容概要:       这是基于51单片机数字时钟闹钟设计包含了PDF版本电路图、C语言程序源代码(keil软件打开)、proteus仿真。本资源适合人群:     
    发表于 06-25 10:17 0次下载

    基于51单片机矩阵键盘音乐电子琴电路图proteus仿真及程序

    本资源内容概要:       这是基于51单片机矩阵键盘音乐电子琴电路图proteus仿真及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言
    发表于 06-21 14:32 3次下载

    基于51单片机分立器件超声波测距电路图及程序元件清单

    本资源内容概要:       这是基于51单片机分立器件超声波测距电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言
    发表于 06-20 16:17 0次下载

    基于51单片机8路抢答器电路图proteus仿真及程序

    本资源内容概要:       这是基于51单片机8路抢答器电路图proteus仿真及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言
    发表于 06-19 14:15 1次下载

    基于51单片机16路抢答器电路图及程序元件清单

    本资源内容概要:       这是基于51单片机16路抢答器电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序
    发表于 06-19 11:38 2次下载

    第五讲:51单片机+RA8889驱动控制彩屏 完整源码说明 【 源码v1.2 】

    P1.4SCS RA8889片选 P1.3SDO接RA8889的SDO P1.2SDI 接RA8889的SDI P1.1SCK SPI时钟 【v1.0 程序功能】 51单片机采用STC89C
    发表于 06-13 17:23

    你知道吗? 51单片机也有动态内存分配

    、realloc、free。他们的头文件在中,所以使用内存管理必须包含该头文件。二、使用方法51单片机需要使用内存管理API必须要手动调用初始化堆内存管理函数:init_
    的头像 发表于 04-26 08:10 1569次阅读
    你知道吗? <b class='flag-5'>51</b><b class='flag-5'>单片机</b>也有动态内存分配

    51单片机8位数码管显示学号程序编写思路

    码管与51单片机进行连接。数码管通常由8个LED灯组成,其引脚分别是A、B、C、D、E、F、G和DP。当我们将数码管的8个引脚与51单片机
    的头像 发表于 01-04 15:21 7854次阅读