自制51单片机常用头文件(中断)

发布者:学思者最新更新时间:2016-07-15 来源: eefocus关键字:51单片机  头文件  中断 手机看文章 扫描二维码
随时随地手机看文章
#ifndef __CONFIG_H__

#define __CONFIG_H__


/********************************/
/*     "以下为系统配置"         */
/********************************/
#include
#include
#include

/***************************************************** 
 函 数 名:void Clearmen(void)
 功    能:系统初始化
 说    明:对系统引脚变量及中断进行初始化
 入口参数:无
 返 回 值:无 
 *****************************************************/
void Clearmen(void)
{
    //*****************  中断初始化  *****************

// 中断允许寄存器IE 
/*----------------------------------------------------
  | D7 | D6 | D5  | D4 | D3  | D2  | D1  | D0  |
  - - - - - - - - - - - - - - - - - - - - - - - -
  | EA |    | ET2 | ES | ET1 | EX1 | ET0 | EX0 |
-----------------------------------------------------*/
    IE  = 0x00;                        // "清除中断"
    EX0 = 0;                           // 0"外部中断0允许"
    ET0 = 1;                           // 1"定时器0中断允许"
    EX1 = 0;                           // 2"外部中断1允许"
    ET1 = 0;                           // 3"定时器1中断允许"
    ES  = 0;                           // 4"串行中断允许"
    ET2 = 0;                           // 5"定时器2中断允许"-52才有
 EA  = 1;                           // "中断总允许"

// 中断优先级管理寄存器IP
/*----------------------------------------------------
  | D7 | D6 | D5  | D4 | D3  | D2  | D1  | D0  |
  - - - - - - - - - - - - - - - - - - - - - - - -
  |    |    | PT2 | PS | PT1 | PX1 | PT0 | PX0 |
-----------------------------------------------------*/
    IP  = 0x00;                        // "清除中断优先级"
    PS  = 0;                           // "串行中断优先"
    PX0 = 0;                           // "外部中断0"
    PT0 = 1;                           // "定时器中断0"
    PX1 = 0;                           // "外部中断1"
    PT1 = 0;                           // "定时器中断1"

// 定时器控制寄存器TCON 
/*----------------------------------------------------
  |  D7 |  D6 |  D5 |  D4 |  D3 | D2  | D1  | D0  |
  - - - - - - - - - - - - - - - - - - - - - - - -
  | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 | 
  - - - - - - - - - - - - - - - - - - - - - - - -
  |      用于定时器       |      用于外中断       |
-----------------------------------------------------*/
    TCON = 0x00;
 IT0 = 0;                          // "外部中断0触发方式 0=电平 1=边沿"
 IE0 = 0;                          // "外部中断0申请标志"
 IT1 = 0;                          // "外部中断1触发方式 0=电平 1=边沿"
 IE1 = 0;                          // "外部中断1申请标志"
 TR0 = 0;                          // "T0运行控制"
    TF0 = 0;                          // "T0溢出标志"
 TR1 = 0;                          // "T1运行控制"
    TF1 = 0;                          // "T1溢出标志"
   
// 定时器模式控制寄存器TMOD            
/*----------------------------------------------------
  | D7 | D6 | D5  | D4 | D3  | D2  | D1  | D0  |
  - - - - - - - - - - - - - - - - - - - - - - - -
  |GATE| C/T| M0  | M1 |GATE | C/T | M0  | M1  | 
  - - - - - - - - - - - - - - - - - - - - - - - -
  |   高4位用于T1      |     低4位用于T0"      |
-----------------------------------------------------*/
    TMOD=0x01;                        // 定时器T0、T1为16位定时模式1

 TH0=0x3C;TL0=0xB0;                // 定时器0赋初值
}

 

#endif

关键字:51单片机  头文件  中断 引用地址:自制51单片机常用头文件(中断)

上一篇:51单片机串口方式0的应用
下一篇:自制51单片机常用头文件(红外解码)

推荐阅读最新更新时间:2024-03-16 15:00

关于mini2440启动代码中中断的产生原理分析
一.首先,我们先看一下它的中断向量表: 由中断向量表,可知如果有任何一个IRQ中断源产生中断,CPU都会到0x18地址读指令。 二.在启动代码中,下面的指令分别在中断向量地址中: 即0x18地址处是指令 b HandlerIRQ b ResetHandler b HandlerUndef ;handler for Undefined mode b HandlerSWI ;handler for SWI interrupt b HandlerPabort ;handler for PAbort b HandlerDabort ;handler for DAbort b . ;reserved bH
[单片机]
关于mini2440启动代码中<font color='red'>中断</font>的产生原理分析
详解STM32F10x头文件
IAR软件main.c文件中函数先后安排顺序,我一般将主函数放到最后,调用的函数放在上面。这样可以省去了被调函数的声明。 以GPIO为例,main.c中只需包含一个文件:stm32f10x_lib.h /* Includes ------------------------------------------------------------------*/ #include stm32f10x_lib.h /******************************************************************************* * Function Name : RCC_
[单片机]
51单片机通过esp8266和温度传感器将温度显示到手机上
需要的硬件:51单片机,ESP8266(wifi模块),DS18b20(温度传感器) 需要的软件: 手机要下载一个网络调试助手,浏览器就有。 部分代码: #include reg52.h #include intrins.h #define uint unsigned int #define uchar unsigned char sbit DQ=P2^4; sbit k1=P1^0; sbit fmq=P1^4; char receiveTable = ; char aa = ; uint temp,shi,ge,a,i,flag; void delay(uint i) //5us { do
[单片机]
<font color='red'>51单片机</font>通过esp8266和温度传感器将温度显示到手机上
基于51单片机的ADC0809C程序代码
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。 A/D转换器是模拟信号源与计算机或其它数字系统之间联系的桥梁,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机等数字系统进行处理、存储、控制和显示。在工业控制
[单片机]
51单片机的定时器与计数器
1.0 1.0.1定时器 (1)51单片机的定时器是一个内部外设。 (2)定时器相当于CPU的一个“闹钟”。 (3)定时器是用计数器来实现的。 1.0.2计数器 (1)计数器可以计数外部脉冲的个数. (2)脉冲:(个人理解)单片机中一个低电平跳变成高电平在回到低电平的这么一个过程就称为一个脉冲。 1.0.3定时器是如何工作的 (1)第一步:先设置好定时器的时钟源(AT89C51单片机的时钟源只有一个不需要设置) (2)第二步:初始化时钟相关寄存器 (3)第三步:设置定时时间(计数个数) (4)第四步:设置中断处理程序(定时器总是与中断相互配合使用) (5)第五步:打开定时器 (6)第六步:定时器计数到后产生中断,然后执行中
[单片机]
基于AT89S51单片机的定时报警器电路图
设计一个单片机控制的简易定时报警器。要求根据设定的初始值(1-59 秒)进行倒计时,当计时到0 时数码管闪烁“00”(以1Hz 闪烁),按键功能如下:   (1)设定键:在倒计时模式时,按下此键后停止倒计时,进入设置状态;如果已经处于设置状态则此键无效。 (2)增一键:在设置状态时,每按一次递增键,初始值的数字增1。 (3)递一键:在设置状态时,每按一次递减键,初始值的数字减1。 (4)确认键:在设置状态时,按下此键后,单片机按照新的初始值进行倒计时及显示倒计时的数字。如果已经处于计时状态则此键无效。 图 定时报警器电路原理图
[模拟电子]
基于AT89S<font color='red'>51单片机</font>的定时报警器电路图
基于51单片机SPI器件的串口控制
0 引 言 串行外设接口(Serial Peripheral Interface,SPI)是一种高速同步串行输入/输出端口,近年来广泛应用于移位寄存器、D/A转换器、A/D转换器、串行E2PROM、LED显示驱动器等外部设备的扩展。SPI接口可以共享,便于组成带多个SPI接口器件的系统。其传送速率可编程,连接线少,具有良好的扩展性。 1 SPI接口介绍 SPI是摩托罗拉公司推出的一种同步串行通信接口,用于微处理器、微控制器和外围扩展芯片之间的串行连接,现已发展成为一种工业标准。目前,各半导体公司推出了大量的带有SPI接口的具有各种各样功能的芯片,如RAM,E2PROM,FLASH ROM,A/D转换器、D/A转换器、LE
[单片机]
基于<font color='red'>51单片机</font>SPI器件的串口控制
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved