PIC单片机4——定时器方波

news2025/4/16 16:54:09

 

 

 

#include <p18cxxx.h>/*18F系列单片机头文件*/

void PIC18F_High_isr(void);/*中断服务函数声明*/
void PIC18F_Low_isr(void);

#pragma code high_vector_section=0x8

void high_vector (void)
{
    _asm goto PIC18F_High_isr _endasm/*通过一条跳转指令(汇编指令),跳转到中断服务函数(中断服务程序)处*/
}

#pragma code low_vector_section=0x18
/*低优先级中断响应时,会自动跳转到0x18处*/
void low_vector (void)
{
    _asm goto PIC18F_Low_isr _endasm
}

#pragma code
 

/*---高优先级中断服务程序---*/
#pragma interrupt PIC18F_High_isr

void PIC18F_High_isr (void)
{
    TMR0L=20;/*TMR0重新置初值*/
    PORTBbits.RB4=~PORTBbits.RB4;
    INTCONbits.TMR0IF=0;    /*TMR0溢出标志清零*/
}

/*---低优先级中断服务程序---*/
#pragma interruptlow PIC18F_Low_isr
void PIC18F_Low_isr (void)
{

}


void main(void)/*主函数*/
{
    TRISBbits.TRISB4=0;//B4输出
    PORTBbits.RB4=1;   //B4输出高电平

    INTCONbits.GIE=0;/*关全局中断*/
    RCONbits.IPEN=1; /*使能中断优先级*/

    T0CON=0b01001000;/*TMR0设置:停止运行、8位定时,F=FOSC,无预分频*/
    //T0CONbits.TMR0ON=0/*禁止Timer0*/
    //T0CONbits.T08BIT=1/*Timer0 被配置为8位定时计数器*/
    //T0CONbits.T0CS=0/*内部指令周期时钟(CLKO)作为时钟源*/
    //T0CONbits.PSA=0/*未分配Timer0预分频器*/
    
    TMR0L=20;/*TMR0置初值*/
        
    INTCONbits.TMR0IF=0;/*Timer0溢出标志清零*/
    INTCONbits.TMR0IE=1;/*允许Timer0溢出中断*/
    INTCON2bits.TMR0IP=1;/*Timer0中断为高优先级*/
    
    T0CONbits.TMR0ON=1;/*启动TMR0*/
    INTCONbits.GIE=1;/*开全局中断*/
    
    while(1)
    {
                
    }
}

    

    
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/43844.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

设备树覆盖:概念与术语

前面我们讲过设备树相关的东西&#xff0c;其实你应该知道。 但是昨天一个FDT当时我还是有点懵。于是再在android的角度我们来看看这个东西。 1、概览 设备树 (DT) 是用于描述“不可发现”硬件的命名节点和属性构成的一种数据结构。 操作系统&#xff08;例如在 Android 中使…

MyBatis是如何为Dao接口创建实现类的

本文是我的MyBatis源码分析专栏中第三节的一小部分&#xff0c;作为试读部分&#xff0c;详细讲述了MyBatis是如何通过动态代理创建Dao接口的实现类的。 专栏地址&#xff1a;MyBatis源码分析 专栏字数:14w 专栏目录&#xff1a; 文章目录SqlSession.getMapper如何设计的&#…

MySQL----存储过程

目录 一、存储过程的介绍 二、存储过程的基本语法 三、变量 &#xff08;1&#xff09;系统变量 &#xff08;2&#xff09;用户自定义变量 &#xff08;3&#xff09;局部变量 四、存储过程的语法详解 &#xff08;1&#xff09;if判断 &#xff08;3&#xff09;条件…

数据要想管理得好,不得不提开源大数据处理解决方案

在很多企业里&#xff0c;内部数据的管理几乎是一团糟的。在大数据时代的环境中&#xff0c;不少企业急需要提升数据管理的效率&#xff0c;因此想通过一些有利途径来实现这一目的。开源大数据处理解决方案就是其中一个有效途径&#xff0c;是助力企业做好数据管理&#xff0c;…

07 ConfigMap/Secret:怎样配置、定制我的应用

文章目录1. ConfigMap/Secret 介绍1.1 为什么kubernets 要使用应用的配置管理&#xff1f;1.2 有什么类别的配置信息&#xff1f;2. 什么是 ConfigMap&#xff1f;2.1 创建ConfigMap模板文件2.1.1 ConfigMap 怎么生成带data 字段的 模板2.2 创建ConfigMap 对象2.3 查看ConfigMa…

傻白入门芯片设计,一颗芯片的诞生(九)

CPU生产和制造似乎很神秘&#xff0c;技术含量很高。许多对电脑知识略知一二的朋友大多会知道CPU里面最重要的东西就是晶体管了&#xff0c;提高CPU的速度&#xff0c;最重要的一点说白了提高主频并塞入更多的晶体管。由于CPU实在太小&#xff0c;太精密&#xff0c;里面组成了…

Java中的多线程如何理解——精简

目录 线程池处理Runnable任务 线程池处理Callable任务 Executors的工具类构建线程池对象 引言 通过前面的学习&#xff0c;我们已经学会了线程是如何创建的以及线程的常用方法&#xff0c;接下来呢&#xff0c;我们将要深入性了解线程中的知识&#xff0c;主要是线程安全&…

基于PHP+MySQL学生信息管理系统的开发与设计

一直以来我国领导人提倡以人为本的治国方案,而大学是未来人才的培养基地,如何能够更好的对学生信息进行管理,是很多高校一直在研究的一个问题,只有更加科学的对学生信息进行管理,才能够更加积极的培养国家的栋梁之才。 本系统是一个学生信息信息管理系统,为了能够更加灵活的对学…

mysql InnoDB 事务的实现原理

前言 关于mysql的InnoDB存储引擎的关键知识点&#xff0c;已经输出了6篇文章了&#xff0c;但是好像阅读量并不大&#xff0c;可能大家都不太喜欢理论性特别强的东西&#xff1f;或者是这些知识点难度有点高&#xff0c;不太容易被接受&#xff1f;不过&#xff0c;我觉得我分享…

【Java实战】工作中并发处理规范

目录 一、前言 二、并发处理规范 1.【强制】获取单例对象需要保证线程安全&#xff0c;其中的方法也要保证线程安全。 2.【强制】创建线程或线程池时请指定有意义的线程名称&#xff0c;方便出错时回溯。 3.【强制】线程资源必须通过线程池提供&#xff0c;不允许在应用中…

数仓数据同步策略

学习内容一、同步策略一、同步策略 数据同步策略的类型包括&#xff1a;全量同步、增量同步、新增及变化同步、特殊情况 全量表&#xff1a;存储完整的数据增量表&#xff1a;存储新增加的数据新增及变化表&#xff1a;存储新增加的数据和变化的数据特殊表&#xff1a;只需要…

定义自定义指令;inserted()、update()

自定义指令的意义&#xff1a;对普通DOM元素进行底层操作&#xff1b; 作用 &#xff1a;可以获取到底层的dom&#xff0c;拿到想要的节点&#xff0c;从而进行操作&#xff1b; 实际应用&#xff1a;可以通过指令知道什么时候dom创建完成&#xff0c;从而进行依赖dom的库的初…

刷爆力扣之有效的山脉数组

刷爆力扣之有效的山脉数组 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&#x…

超级浏览器的Cookies实现跨境电商防关联

大家有没有过这种感觉&#xff0c;打开电脑或手机&#xff0c;一些你喜欢的视频&#xff0c;总能一下子打到心巴上;心心念念想要下单的东西&#xff0c;总是不停出现在屏幕上诱惑你下单。你以为网络才是最懂你的人&#xff0c;其实是大数据正在研究你的一举一动。而聊到大数据&…

Cerebral Cortex:疼痛热刺激引起的脑功能网络分离与整合

目前的研究旨在确定热痛期间大脑网络整合/分离的变化&#xff0c;使用高时间分辨率的网络连接事件优化方法。参与者(n 33)主动判断施加于前臂掌侧的热刺激是否疼痛&#xff0c;然后在每次试验后评价温暖/疼痛强度。我们表明&#xff0c;试验中整合/分离的时间演化与疼痛的主观…

Ubuntu中安装Qt

文章目录Ubuntu中安装必要的软件安装流程配置运行配置运行Ubuntu中安装必要的软件 主要为了打开图形程序 sudo apt-get update sudo apt-get --assume-yes upgrade sudo apt-get install --assume-yes xfce4 xorg-dev libopencc2 libopencc2-data unzip zip主要是一些共享lib…

ECU简介

ECU是电子控制单元的简称&#xff0c;广泛用于汽车系统中&#xff0c;是电控系统的神经中枢。本文将以比较基础的方式展开ECU的工作原理。 一、基本结构 ECU主要由CPU、存储器、IO接口、信息传递总线组成。ECU可以把传感器传入的信号用内存程序和数据启动相应的程序&#xff0c…

人工智能:语音识别技术介绍

❤️作者主页&#xff1a;IT技术分享社区 ❤️作者简介&#xff1a;大家好,我是IT技术分享社区的博主&#xff0c;从事C#、Java开发九年&#xff0c;对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉&#xff1a; 数据库领域优质创作者&#x1f3c6;&…

移动Web

her~~llo&#xff0c;我是你们的好朋友Lyle&#xff0c;是名梦想成为计算机大佬的男人&#xff01; 博客是为了记录自我的学习历程&#xff0c;加强记忆方便复习&#xff0c;如有不足之处还望多多包涵&#xff01;非常欢迎大家的批评指正。 目录 一、字体图标 1.1 使用字体图…

Windows使用scp上传文件到linux服务器

我不是管理员&#xff0c;所以上传有点麻烦&#xff0c;需要在windows电脑上操作scp命令&#xff0c; 命令格式&#xff1a;上传文件夹带上-r&#xff0c;上传文件就不用带-r了&#xff0c;而且只能上传到tmp目录下&#xff0c;然后再使用mv命令移动到你想要的目录下&#xff…