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
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏

    评论

    相关推荐

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

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

    51单片机定时器定时1秒程序流水灯结果分析

    51单片机是一种广泛应用的嵌入式微控制器,具有高性能、低功耗、易扩展等优势。在实际应用中,定时器常用于定时操作,如控制程序运行时间、生成精确的时间
    的头像 发表于 12-26 14:57 5194次阅读

    keil5mdk怎么编写51单片机程序

    可能需要引入一些库文件,以便使用库文件中的函数和宏定义。这些库文件可以提供对单片机特定功能的支持,如延时函数、串口通讯函数等。 初始化设备:在程序的开始部分,你需要对相关硬件设备进行
    的头像 发表于 12-25 14:54 1153次阅读

    C51单片机的IO口介绍(下)

    上一篇文章我们对C51的IO简单的介绍了一下,现在我们来简单了解C51的IO的结构
    的头像 发表于 11-02 10:57 1373次阅读
    <b class='flag-5'>C51</b><b class='flag-5'>单片机</b>的IO口介绍(下)

    基于C51单片机实现LED灯1s闪烁

    C51使用的晶振频率是11.0592MHz一颗LED灯接在C51的P0.0,现在要求设计程序,让这颗LED灯以1s为间隔闪烁。
    的头像 发表于 11-02 10:55 4445次阅读
    基于<b class='flag-5'>C51</b><b class='flag-5'>单片机</b>实现LED灯1s闪烁

    请问51单片机for需要延时是怎样计算延时的?

    请问有谁知道51单片机for语句延时是怎么计算延时的? delayms(unsigned uchar ij) { for(i=1000;i>0;i--) for(j=110;j&
    发表于 10-31 07:35

    51单片机初始化之后SP值指向栈顶还是栈底?

    51单片机初始化之后SP值指向栈顶还是栈底。51单片机是升栈还是降栈。
    发表于 10-30 07:43

    51ADC初始化上电要延时吗?

    51 ADC初始化上电要延时吗?我看stc例程有
    发表于 10-27 08:14

    51单片机如何实现毫秒级精确延时

    51单片机如何实现毫秒级精确延时
    发表于 10-27 06:25

    51单片机串口控制继电器的C程序

    电子发烧友网站提供《51单片机串口控制继电器的C程序.doc》资料免费下载
    发表于 10-24 10:03 4次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>串口控制继电器的<b class='flag-5'>C</b>源<b class='flag-5'>程序</b>

    基于51单片机PWM波实现拖尾灯的程序

    电子发烧友网站提供《基于51单片机PWM波实现拖尾灯的程序.doc》资料免费下载
    发表于 10-24 10:00 1次下载
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>PWM波实现拖尾灯的<b class='flag-5'>程序</b>

    C语言如何写出单片机延时程序,且延时时间如何计算的?

    C语言,如何写出单片机延时程序,且延时时间如何计算的?
    发表于 10-18 08:19

    51单片机怎么进行ns级延时

    51单片机怎么进行ns级延时
    发表于 10-17 07:36

    51单片机的交通灯延时问题怎么解决?

    关于51单片机的交通灯延时问题怎么解决?
    发表于 10-17 06:33

    基于51单片机的路灯自动开关控制仿真设计

    需注意仿真中51单片机芯片是通用的,AT89C51,AT89C52都是51单片机的具体型号,内核
    的头像 发表于 09-24 14:09 1247次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的路灯自动开关控制仿真设计