C51全局初始化及精確延時(shí)程序,51單片機(jī)精確延時(shí)程序
關(guān)鍵字:單片機(jī)延時(shí)程序
/*********************************************************************************************************
* 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.
*
*********************************************************************************************************/
* 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_
#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
*
* Global macro definitions
*
*********************************************************************************************************/
#include
#include // Absolute address access
#include
#include
#include
#include
#include
#include
#define TRUE 1
#define FALSE 0
#define bool bit // Boolean variable
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#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_();
#define NOP _nop_();
/*********************************************************************************************************
*
* Accurate delay(5us,10us)
*
*********************************************************************************************************/
*
* Accurate delay(5us,10us)
*
*********************************************************************************************************/
void delay10us (void) // FOSC->12000000
{
NOP
NOP
NOP
NOP
NOP
NOP
}
{
NOP
NOP
NOP
NOP
NOP
NOP
}
void delay5us (void) // FOSC->12000000
{
NOP
}
{
NOP
}
/*********************************************************************************************************
*
* Accurate delay(1ms~255ms)
*
*********************************************************************************************************/
*
* Accurate delay(1ms~255ms)
*
*********************************************************************************************************/
#define WAITE_HI (FOSC / 2 / 12 / 1000 >> 8 )
#define WAITE_LOW (FOSC / 2 / 12 / 1000 & 0xFF)
#define WAITE_LOW (FOSC / 2 / 12 / 1000 & 0xFF)
void delayms (uchar time)
{
do
{
uchar j;
{
do
{
uchar j;
#if WAITE_HI != 0
j = 0;
{
uchar i;
for(i = WAITE_HI; i > 0; i--)
{
while (--j);
}
}
#endif
j = 0;
{
uchar i;
for(i = WAITE_HI; i > 0; i--)
{
while (--j);
}
}
#endif
#if WAITE_LOW != 0
j = WAITE_LOW;
while (--j);
#endif
j = WAITE_LOW;
while (--j);
#endif
}while (--time);
}
}
/*********************************************************************************************************
*
* Includes not repeat
*
*********************************************************************************************************/
*
* Includes not repeat
*
*********************************************************************************************************/
#endif
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
單片機(jī)里的程序運(yùn)行方式
我們想要理解單片機(jī)是如何運(yùn)行程序的,我們首先需要了解單片機(jī)的組成,我們這里以80C51單片機(jī)為例來(lái)理解程
發(fā)表于 01-16 06:57
學(xué)習(xí)單片機(jī)快速方法
C51說(shuō)起,首先得準(zhǔn)備一本單片機(jī)教材,只要是C51核心的都可以。打開(kāi)書看單片機(jī)的管腳各有什么功能,內(nèi)部都有什么東西,用來(lái)干嘛。這本書你當(dāng)成小說(shuō)來(lái)看個(gè)一天就可以了。不要求你全部看懂。知道
發(fā)表于 01-14 07:42
Cortex-M內(nèi)核中的精確延時(shí)的方法
)
#defineDWT_CR_CYCCNTENA (1 <<0)
/**
* @brief初始化時(shí)間戳
* @param無(wú)
* @retval 無(wú)
* @NOTE使用延時(shí)函數(shù)前,必須調(diào)用本
發(fā)表于 11-21 07:51
使用系統(tǒng)定時(shí)器SysTick來(lái)實(shí)現(xiàn)精確延時(shí)微秒和毫秒函數(shù)
*/return (0UL);/* Function successful */}通過(guò)后面的注釋也可以看出,這是對(duì)SysTick定時(shí)器進(jìn)行初始化,配置初始計(jì)數(shù)值,使能中斷,使能定時(shí)器等。對(duì)應(yīng)的中斷函數(shù)為
發(fā)表于 11-20 07:12
第4章 C語(yǔ)言基礎(chǔ)以及流水燈的實(shí)現(xiàn)(4.7 4.8)
的范圍值來(lái)改變延時(shí)時(shí)間,但是循環(huán)的執(zhí)行時(shí)間都是不能通過(guò)程序看出來(lái)的。 精確延時(shí)有兩個(gè)方法,一個(gè)方法是用定時(shí)器來(lái)延時(shí),這個(gè)方法后邊課程要詳細(xì)介
C語(yǔ)言和單片機(jī)C語(yǔ)言有什么差異
區(qū)別是由編譯器決的,只能參考對(duì)應(yīng)的編譯手冊(cè),即使同種平臺(tái)不同的編譯器對(duì)C的擴(kuò)展也有不同。
3、單片機(jī)c語(yǔ)言編程是基于C語(yǔ)言的單片機(jī)編程。
發(fā)表于 11-14 07:55
單片機(jī)怎么燒程序
單片機(jī)燒程序是將編寫好的程序代碼寫入單片機(jī)內(nèi)部存儲(chǔ)單元,讓單片機(jī)按照預(yù)設(shè)邏輯工作的過(guò)程,是單片機(jī)
AT89C51 單片機(jī)中文資料
電子發(fā)燒友網(wǎng)站提供《AT89C51 單片機(jī)中文資料.pdf》資料免費(fèi)下載
發(fā)表于 06-24 15:29
?1次下載
單片機(jī)原理及應(yīng)用
本書全面系統(tǒng)地介紹了 MCS-51 系列單片機(jī)的基本結(jié)構(gòu)、工作原理及應(yīng)用技術(shù)。主要內(nèi)容包括:微型計(jì)算機(jī)的基礎(chǔ)知識(shí)、MCS-51 單片機(jī)的基本結(jié)構(gòu)、匯編語(yǔ)言和
發(fā)表于 06-16 16:58
單片機(jī)C語(yǔ)言入門指導(dǎo)(非常通俗易懂?。?/a>
, 顯而易見(jiàn)的問(wèn)題出來(lái)了: 我要選擇那種語(yǔ)言為 單片機(jī)編寫程序呢?
這個(gè)問(wèn)題,困擾了我好久。具 體選擇 C51 還是 A51 呢?匯編在我們大二之前并沒(méi)有開(kāi)過(guò)課, 雖然看著人家的講
發(fā)表于 06-16 16:32
C51單片機(jī)及C語(yǔ)言知識(shí)點(diǎn)必備秘籍
單片機(jī)關(guān)鍵知識(shí)點(diǎn)一覽:
系列一
1:單片機(jī)簡(jiǎn)敘
2:單片機(jī)引腳介紹
3:單片機(jī)存儲(chǔ)器結(jié)構(gòu)
4:第一個(gè)單片機(jī)小
發(fā)表于 05-15 14:00
新概念51單片機(jī)C語(yǔ)言教程入門、提高、開(kāi)發(fā)、拓展全攻略
1.6 單片機(jī)的C51基礎(chǔ)知識(shí)介紹
1.6.1 利用C語(yǔ)言開(kāi)發(fā)單片機(jī)的優(yōu)點(diǎn)
1.6.2 C51中的基本數(shù)據(jù)類型
1.6.3
發(fā)表于 04-15 13:57
C51全局初始化及精確延時(shí)程序,51單片機(jī)精確延時(shí)程序
評(píng)論