历史上的今天
返回首页

历史上的今天

今天是:2024年12月07日(星期六)

2020年12月07日 | stc15单片机外部中断0程序(下降沿中断方式)

2020-12-07 来源:51hei

外部中断0(下降沿中断)实验步骤:

1、MINI USB连接线给开发板通电下载程序,下载软件中内部IRC时钟选择11.0592MHZ;

2、下载程序后,按下用户按键S3观察绿色指示灯有何变化;

3、原理图可知按键不按时IO口是高电平,故按下按键的瞬间在P32上产生下降沿,灯亮,而松开按键会产生上升沿,灯状态不翻转;

4、故按下一次按键,灯状态翻转一次(由亮变灭或由灭变亮)。


单片机源程序如下:

/****************************************Copyright (c)****************************************************

**                                       

**                                 

**

**--------------File Info---------------------------------------------------------------------------------

** File name:                       

** Last modified Date:         

** Last Version:                  

** Descriptions:                                                       

**--------------------------------------------------------------------------------------------------------

** Created by:                        FiYu

** Created date:                2017-2-20

** Version:                            1.0

** Descriptions:                GPIO驱动LED                                       

**--------------------------------------------------------------------------------------------------------

** Modified by:                        FiYu

** Modified date:               

** Version:                               

** Descriptions:               

** Rechecked by:               

**********************************************************************************************************/

/****-----请阅读ReadMe.txt进行实验-----***********/


#define MAIN_Fosc                11059200L        //定义主时钟

#include        "15W4KxxS4.H"


/**********************

引脚别名定义

***********************/

sbit led=P0^6;   //绿色LED用IO口P06


/**************************************

功能描述:外部中断服务程序

入口参数:无

返回值:无

***************************************/

void INT0_int (void) interrupt INT0_VECTOR               

{

        led=~led;      //将指示灯取反更换亮灭状态

}


/***********************

功能描述:主函数

入口参数:无

返回值:无

************************/

int main()

{

/////////////////////////////////////////////////

//注意: STC15W4K32S4系列的芯片,上电后所有与PWM相关的IO口均为

//      高阻态,需将这些口设置为准双向口或强推挽模式方可正常使用

//相关IO: P0.6/P0.7/P1.6/P1.7/P2.1/P2.2

//        P2.3/P2.7/P3.7/P4.2/P4.4/P4.5

/////////////////////////////////////////////////

        P0M1 &= 0xBF;        P0M0 &= 0xBF;          //设置P0.6为准双向口

       

//外部中断0的初始化配置       

        IE0  = 0;             //将INT0中断请求标志位清"0"

        EX0 = 1;             //使能INT0中断允许位

        IT0 = 1;                   //选择INT0为下降沿触发方式

        EA = 1;                     //允许总中断


  while (1)

        {

                ;            //无任务,说明LED亮灭来自于中断

        }

}


推荐阅读

史海拾趣

Curtis Industries公司的发展小趣事

随着电子行业的不断发展,Curtis Industries公司意识到技术创新的重要性。公司投入大量资源进行技术研发,成功推出了一系列具有行业领先水平的产品。其中,公司在某一关键领域的突破性技术,不仅解决了行业内的技术难题,还为公司赢得了广泛的赞誉。Curtis Industries因此成为了电子行业的技术创新引领者,推动了整个行业的发展。

Chino-Excel公司的发展小趣事

Chino-Excel公司最初是一家小型电子元件供应商,凭借对技术创新的执着追求,逐渐在市场中崭露头角。公司研发团队不断突破技术瓶颈,开发出性能更优越、成本更低的电子元器件。随着产品质量的提升和市场份额的扩大,Chino-Excel公司逐渐从众多竞争者中脱颖而出,成为行业内备受瞩目的新星。

Greatbatch-Sierra Inc公司的发展小趣事

Chino-Excel公司深知人才是企业发展的核心竞争力。因此,公司注重人才培养和团队建设,为员工提供广阔的成长空间和良好的职业发展平台。公司建立了完善的人才培养和激励机制,吸引和留住了一批批优秀的技术人才和管理人才。这些人才为公司的发展注入了源源不断的动力,推动了公司的持续创新和进步。

这些故事虽然是虚构的,但它们反映了电子行业中许多公司可能经历的一些共同挑战和机遇。这些故事强调了技术创新、全球化战略、品牌建设、环保理念以及人才培养在电子行业公司发展中的重要性。请注意,这些故事仅为示例,并不代表任何实际公司的具体情况。

Hoffman Engineering公司的发展小趣事

1945年,年轻的Harry Hoffman凭借对工厂安全的深切关注,发明了前所未有的压力机安全保护装置。这一装置能够在操作人员的手进入危险区域时迅速停止机器,极大地保护了生产工厂中员工的人身安全。这一创新不仅为Hoffman Engineering奠定了技术基础,也开启了公司在工业安全领域的先河。Harry的发明迅速获得市场认可,为公司的后续发展奠定了坚实的基础。

Broadcom(博通)公司的发展小趣事

1991年,加州大学洛杉矶分校的工程学教授亨利·山缪利和他的博士班学生亨利·尼古拉斯,以各出资5000美元的方式,在美国加州尔湾小镇共同创立了博通公司。初创时期,博通主要致力于开发机顶盒的宽带通信芯片。随着技术的不断进步和市场需求的增长,博通的产品逐渐受到业界的认可,销售额稳步上升。

Cantherm公司的发展小趣事

Cantherm公司在电子行业中以其技术创新而著称。在一次重要的研发项目中,公司团队成功开发了一种新型的散热技术,该技术能有效降低电子设备在工作时产生的热量,从而提高设备的性能和稳定性。这一突破不仅为公司带来了大量的专利和知识产权,还吸引了众多知名电子产品制造商的合作意向,使Cantherm在行业中崭露头角。

问答坊 | AI 解惑

关于电子工程师的前途问题

呵呵,要在这里和大家探讨一个问题,就是做电子工程师前途如何? 现在,这个社会太物质了,像我们这样能静下心来做点事情并且沉醉于其中的人越来越少了。还有钱,这个生活必需品的问题。欢迎大家谈谈自己的想法!!!…

查看全部问答>

“简简单单DSP”系列学习活动—第七期事件管理器——PWM

“简简单单DSP”系列学习活动—第七期事件管理器——PWM 四、        PWM电路 每一个事件管理器有三个比较单元,每一个比较单元有两个互补的PWM输出,这样三个比较单元就可以产生6路PWM,并且死区时间和输出极性可编程,能够 ...…

查看全部问答>

从零开始学电路基础

内容简介: 电路基础是学习电子技术的起步知识。本书就是为使初学者从零开始,快速掌握电路基础知识而编写的。与传统的电路基础教材不同的是,本书摈弃了运用高等数学以及大量的公式计算和定量分析的讲法,注重定性和概念,注重基础知识与实践,并 ...…

查看全部问答>

布局布线

用ISE10.1 Place&Route 后,出现如下警告:WARNING:Route:455-CLK Net:clk_200m may have excessive skew because 0 CLK pins and 1 NON_CLK pins failed to route using a CLK template.若不管它进行后仿,就会出现:WARNING:Anno:67-NCD i ...…

查看全部问答>

[求助]谁能发个64脚的STM32,protel原理图器件库啊

                                 谁能发个48/64脚的STM32,protel原理图器件库啊?想做块板玩玩~~~非常感谢…

查看全部问答>

【询问】72MHz在内置FLASH中运行的速度问题。

询问的MPU型号: STM32F103ZET6 参考的手册:14611.pdf 问题: MPU在运行在72MHZ的时候,如果程序在FLASH中运行, 执行速率有多少? 因为:手册第一页:         特性:72 MHz maximum frequency, 1.25 DMI ...…

查看全部问答>

PIC18返回值问题

void read_ram(position_type *d) {         INT24U r_point=d->read_ram_pointer;         unsigned char recdata;         TBLPTRL = r_point&0xFF;       &nb ...…

查看全部问答>

CY68013 USB传输问题

用cy68013做一个数据采集系统,用cypress提供控制面板(control panel)进行块数据传输,调试前期能正常传输数据,突然有一天(固件程序没改),进行块数据传输,控制面板显示bulk in transfer,bulk in success,但是没有数据,显示数据conttents为 ...…

查看全部问答>

征集意见,举办全民DIY了!

 最近一直想搞一个DIY,但是一直没有什么想法,今天突然想到了一个古老的东西——呼吸灯,其实就是一个一亮一暗的灯,我打算举办一个自己做呼吸灯的全民DIY,打算和我们论坛的模拟电子板块一块搞,做一个板块之间的联谊活动吧! 因为呼吸灯这 ...…

查看全部问答>

恳请各位高手指点迷津。,vxworks下怎么制作bootrom?用的是DOC

各位高手,我用的是DOC,在tornado2.0下进行。现在需要制作一个bootrom。引导行是\"tffs=0,0(0,0)zw:c:/Tornado/target/config/pcPentium/VxWorks  h=192.9.200.69 e=192.9.200.68 u=zw pw=zw f=0x08\" 那么我需要怎么做?在哪些文件中进 ...…

查看全部问答>