PCA三路外中断
来源:互联网 发布:初中生编程培训 编辑:程序博客网 时间:2024/06/14 08:31
#include "STC15W4K.H" // 包含STC15W4K寄存器定义文件sbit LED_PCA0=P0^1; // PCA0对应P1.1脚sbit LED_PCA1=P0^0; // PCA1对应P1.0脚sbit LED_PCA2=P0^2; // PCA2对应P3.7脚void port_mode() // 端口模式{ P0M1=0x00; P0M0=0x00;P1M1=0x00; P1M0=0x00;P2M1=0x00; P2M0=0x00;P3M1=0x00; P3M0=0x00; P4M1=0x00; P4M0=0x00;P5M1=0x00; P5M0=0x00;P6M1=0x00; P6M0=0x00;P7M1=0x00; P7M0=0x00; }void main (void){ port_mode(); // 所有IO口设为准双向弱上拉方式。 CMOD=0x80; // 空闲模式下停止PCA 计数器工作 // PCA 时钟源为SYSclk /12,禁止PCA 计数器溢出时中断 CCON=0; // 清0 PCA计数器溢出中断请求标志位CF // CR = 0, 不允许PCA计数器计数;PCA各模块中断请求标志位CCFn清0 CL=0; // PCA 计数器清0 CH=0; CCAPM0=0x11; // 设置PCA模块0下降沿触发捕捉功能 CCAPM1=0x31; // 设置PCA模块1上升/下降沿均可触发捕捉功能 CCAPM2=0x31; // 设置PCA模块2上升/下降沿均可触发捕捉功能 EA=1; // 开整个单片机所有中断共享的总中断控制位 CR=1; // 启动 PCA 计数器(CH,CL)计数 while(1); // 等待中断}void PCA(void) interrupt 7 //PCA中断服务程序{ if(CCF0) // PCA模块0中断服务程序 { LED_PCA0=! LED_PCA0; // LED_PCA0取反,表示PCA模块0发生了中断 CCF0=0; // 清PCA模块0中断标志 } else if(CCF1) // PCA模块1中断服务程序 { LED_PCA1=!LED_PCA1; // LED_PCA1取反, 表示PCA模块1发生了中断 CCF1=0; // 清PCA模块1中断标志 } else if(CCF2) // PCA模块2中断服务程序 { LED_PCA2=!LED_PCA2; // LED_PCA2取反, 表示PCA模块2发生了中断 CCF2=0; // 清PCA模块2中断标志 }}
阅读全文
0 0
- PCA三路外中断
- PCA
- PCA
- PCA
- PCA
- PCA
- PCA
- PCA
- PCA
- PCA
- pca
- PCA
- PCA
- PCA
- pca
- PCA
- PCA
- PCA
- 什么是GTK
- flex布局
- python异常处理
- 搞深度学习需掌握的基础数学知识
- 曼-惠特尼U检验与威尔科克森符号秩检验
- PCA三路外中断
- 解决Windows下SVN上UUID不匹配问题
- 简约而不简单的——任意匹配注册题
- JSP 中EL表达式用法详解
- 2017多校训练赛第二场 HDU 6052(统计+思维)
- 【python】字符串:格式化
- 用C语言编写一个函数返回参数二进制中 1 的个数(3种方法)(谷歌笔试题)
- socket编程——listen函数详解
- POJ