PIC单片机学习第四天----中断

PIC单片机学习第四天

基于单片机PIC16LF1508;

7.0 Interrupts--中断

参考芯片手册第七章

看下中断开始的介绍:

中断特性允许某些事件抢占正常的程序流。固件用于确定中断的来源并采取相应的行动。一些中断可以被配置为从睡眠模式唤醒MCU。

本章包含以下有关中断的信息:

操作;
中断延迟;
睡眠期间的中断;
INT引脚;
自动上下文保存;

 中断这一章着重要了解一下几个寄存器:INTCON(中断控制寄存器),OPTION_REG(选项寄存器)这个寄存器的介绍在第18章节TIMER0 Module下,PIE1,PIE2,PIE3,PIR1,PIR2,PIR3;

 首先看下INTCON(中断控制寄存器);

bit0:IOCIF:切换中断标志位,1=至少有一个引脚改变了中断状态,0=全都未改变状态;

bit1:INTF:外部INT引脚中断标志位,1=外部INT引脚有中断触发信号,0=未发生;

bit2:TMR0IF:TMR0溢出中断标志位,1=TMR0发生了溢出,0=未发生

bit3:IOCIE:切换中断使能位

bit4:INTE:外部INT引脚中断标志位

bit5:TMR0IE:TMR0溢出中断使能位

bit6:PEIE:外设中断使能位

bit7:GIE:全局中断使能位

个人理解,INTCON寄存器的bit6和bit7,基本使用到中断功能的话,都要设置为1;

    INTCONbits.GIE = 1 ; 		//允许所有有效中断					
	INTCONbits.PEIE = 1 ;			//允许所有有效外设中断
    INTCONbits.TMR0IE = 1 ;         

这三行代码就是为了开启TMR0溢出中断;

下面是OPTION_REG(选项寄存器)的介绍;

参考下代码:选择时钟源,配置预分频;

    OPTION_REGbits.TMR0CS = 0 ;          //TMR0时钟源选择0指令时钟周期fosc/4      4
    OPTION_REGbits.PS0 = 1 ;              //预分频器4分频      /4
    OPTION_REGbits.PS1 = 0 ;
    OPTION_REGbits.PS2 = 0 ;
    OPTION_REGbits.PSA = 1 ; 

 然后另外六个寄存器的PIE寄存器为各个外设等中断使能寄存器,PIR为各个外设中断触发标志寄存器;(比如AD模块,USART,TMR1和TMR2也在);

 注意PIE2和PIR2的bit6和bit5这两位,应该是捕获/比较位;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程设计报告 课程名称:单片机原理与接口技术课程设计 设计题目: 三位倒计时器 院 系: 机电工程学院 班 级: 2012级电气工程及其自动化专业 姓 名: XXX 学 号: 2012XXXX 指导教师: XXXX 设计时间: 2014年X月X日 "出勤 "实物 "报告 "总分 " " " " " " 目录 前言 1 第一章 设计方案 1 1.1 设计内容及要求 1 1.1.1 设计内容 1 1.1.2设计要求 1 1.1.3功能设计 2 1.2硬件设计 2 1.2.1 矩阵键盘电路设计 2 1.2.2数码管电路设计 3 1.2.3 LED及蜂鸣器电路设计 4 1.2.4单片机主电路设计 4 1.2.5上电电路的设计 5 1.2.6总电路图 5 1.3总体方案 6 第二章 软件设计 7 2.1 倒计时部分 7 2.1.1 键盘扫描子程序 8 2.1.2 0到9按键功能子程序和键盘显示子程序 9 2.1.3 一位转多位十进制子程序 12 2.1.4 TMR0中断服务子程序 13 2.1.5 倒计时显示子程序 15 2.2 附加功能部分 15 2.2.1 暂停和继续 16 2.2.2 计数功能 17 2.2.3 复位和归零 17 2.3 结束提示部分 18 2.4 程序部分总结 18 第三章 实物照片 19 3.1 实验板照片 19 3.2 脱机运行照片 19 第四章 问题与体会 21 结论 22 参考文献 23 附录:程序清单 24 前言 此次课程设计的内容为三位数的倒计时器的设计。目前倒计时器的发展已经相当先进 ,我做这次设计的主要目的是想更进一步了解基本电路的设计流程,以提高自己的设计 理念,使自己的动手动脑能力有更进一步提高。通过解决现实生活中的问题,巩固和加 深单片机课程中所学的理论知识和实验能力,加深对单片机软硬件知识的理解,以获得 初步的应用经验,为以后从事生产和科研工作打下一定的基础。本次设计注重对单片机 工作原理以及键盘控制及显示原理的理解,能够提高自己的动手能力和设计能力,以培 养自己的创新能力,做到理论和实践相结合。本次设计的重要意义还在于对单片机的内 部结构和工作状态做更进一步的了解,同时还对单片机的接口技术,中断技术,存储方 式和控制方式有了更深层次的了解。 另外,倒计时器在生活中应用广泛,因此它的功能灵活性和精度的要求就更加显得重 要。通过此次练习,我为自己设下了很多要求,力求此倒计时器的功能完美性和精度精 细性,以加深自己对电子产品设计的认知。 第一章 设计方案 1.1 设计内容及要求 1.1.1 设计内容 本次设计的倒计时器需要由4*4矩阵键盘、3位数码管、LED小灯和蜂鸣器等有关输入 输出器件组成,要求倒计时的初始值和控制按键均由键盘输入,数码管显示倒计时的时 间,小灯和蜂鸣器负责终止提示。 因此,本次的设计内容包括硬件设计,流程框图及软件的编写与调试。 1.1.2设计要求 根据以上设计内容的介绍及我们的设计目的,总结出以下的设计要求: 1.能够实现255以内数的倒计时; 2.倒计时结束,报警提示; 3.通过按键设置倒计时的初始值; 4.精度为微秒级的计时; 5.具有"开始"、"暂停"、"继续"、"加一"、"减一"、"复位"等功能键; 6.计时结束具有重新开始的功能。 1.1.3功能设计 为实现使用的灵活性和计数的精准性,我们采用TMR0定时器计时,功能键包括计时开 始、暂停、继续、加一、减一和复位。实现过程如下:当从键盘输入任意三位以内包括 三位数,数码管显示输入数值,按下键A倒计时开始,按下键B倒计时暂停,按下键C倒计 时继续;当发现计时过程中需要调整计时时,可以在暂停或非暂停情况下按下键D或键E 实现计数加一和减一的功能。键F的主要功能为当计时需要停止和重新再来时,按下它, 计时器重新工作。 当倒计时到0时,小灯立即闪烁,同时蜂鸣器鸣叫,小灯闪烁3次以后,倒计时器恢复 初始状态,无需复位可以重新使用。 按键过程中为确保使用人员知道键是否按下,按下时蜂鸣器应该响起以示提醒。 1.2硬件设计 我们设计的倒计时器需要由键盘任意输入255以内三位数,并显示于数码管上,计时 按钮及相关功能均由键盘键入,同时为保证键盘按下的准确性,加入按下蜂鸣器提示功 能,计时结束需有小灯和蜂鸣器提醒。因此,设计电路图时必须涉及到键盘,4位数码管 ,蜂鸣器,LED小灯,同时上电电路和单片机控制电路为必须加入的。 1.2.1 矩阵键盘电路设计 一般键盘控制有4*4、5*5等类型方式,考虑到功能所需和单片机引脚的限制,我们采 用4*4矩阵键盘。该键盘有4个输入端,4个输出端,我们习惯于把它连接在单片机的RC端 口。因此,我们将RC的低四位与键盘的输入相连,高四位与输出相连,以实现键盘的正 确扫描。 图1-1 键盘设计电路图
第一章:AVR单片机C语言程序设计概述 1.1 AVR单片机简介 1.2 AVR Studio+WinAVR开发环境安装及应用 1.3 AVR-GCC程序设计基础 1.4 程序与数据内存访问 1.5 I/O端口编程 1.6 外设相关寄存器及应用 1.7 中断服务程序 1.8 GCC在AVR单片机应用系统开发中的优势 第二章:PROTEUS操作基础 2.1 PROTEUS操作界面简介 2.2 仿真电路原理图设计 2.3 元件选择 2.4 仿真运行 2.5 PROTEUS与AVR Studio的联合调试 2.6 PROTEUS在AVR单片机应用系统开发中的优势 第三章:基础程序设计 3.1 闪烁的LED 3.2 左右来回的流水灯 3.3 花样流水灯 3.4 LED模拟交通灯 3.5 单只数码管循环显示0~9 3.6 8只数码管滚动显示单个数字 3.7 8只数码管显示多个不同字符 3.8 K1~K4控制LED移位 3.9 数码管显示4×4键盘矩阵按键 3.10 数码管显示拨码开关编码 3.11 继电器控制照明设备 3.12 开关控制报警器 3.13 按键发音 3.14 INT0中断计数 3.15 INT0及INT1中断计数 3.16 TIMER0控制单只LED闪烁 3.17 TIMER0控制的流水灯 3.18 TIMER0控制数码管扫描显示 3.19 TIMER1控制交通指示灯 3.20 TIMER1与TIMER2控制十字路口秒计时显示屏 3.21 用工作于计数方式的T/C0实现100以内的按键计数 3.22 用定时器设计的门铃 3.23 报警器与旋转灯 3.24 100000秒以内的计时程序 3.25 用TIMER1输入捕获功能设计的频率计 3.26 用工作于异步模式的T/C2控制的可调式数码管电子钟 3.27 TIMER1定时器比较匹配中断控制音阶播放 3.28 用TIMER1输出比较功能调节频率输出 3.29 TIMER1控制的PWM脉宽调制器 3.30 数码管显示两路A/D转换结果 3.31 模拟比较器测试 3.32 EEPROM读写与数码管显示 3.33 Flash程序空间中的数据访问 3.34 单片机与PC机双向串口通讯仿真 3.35 看门狗应用 第四章:硬件应用 4.1 74HC138与74HC154译码器应用 4.2 74HC595串入并出芯片应用 4.3 用74LS148与74LS21扩展中断 4.4 62256扩展内存 4.5 用8255实现接口扩展 4.6 可编程接口芯片8155应用 4.7 可编程外围定时计数器8253应用 4.8 数码管BCD解码驱动器7447与4511应用 4.9 8×8LED点阵屏显示数字 4.10 8位数码管段位复用串行驱动芯片MAX6951应用 4.11串行共阴显示驱动器MAX7219与7221应用 4.12 16段数码管演示 4.13 16键解码芯片74C922应用 4.14 1602字符液晶测试程序 4.15 1602液晶显示DS1302实时时钟 4.16 1602液晶工作于四位模式实时显示当前时间 4.17 2×20串行字符液晶演示 4.18 LGM12864液晶显示程序 4.19 PG160128A液晶图文演示 4.21 TG126410液晶串行模式演示 4.21 用带SPI接口的MCP23S17扩展16位通用IO端口 4.22 用TWI接口控制MAX6953驱动4片5×7点阵显示器 4.23 用TWI接口控制MAX6955驱动16段数码管显示 4.24 用DAC0832生成多种波形 4.25 用带SPI接口的数模转换芯片MAX515调节LED亮度 4.26 正反转可控的直流电机 4.27正反转可控的步进电机 4.28 DS18B20温度传感器测试 4.29 SPI接口温度传感器TC72应用测试 4.30 SHT75温湿度传感器应用 4.31 用SPI接口读写AT25F1024 4.32 用TWI接口读写24C04 4.33 MPX4250压力传感器测试 4.34 MMC存储卡测试 4.35 红外遥控发射与解码仿真 第五章:综合设计 5.1 多首电子音乐的选播 5.2 电子琴仿真 5.3 普通电话机拨号键盘应用 5.4 手机键盘仿真 5.5 数码管模拟显示乘法口诀 5.6 用DS1302与数码管设计的可调电子钟 5.7 用DS1302与LGM12864设计的可调式中文电子日历 5.8 用PG12864LCD设计的指针式电子钟 5.9 高仿真数码管电子钟 5.10 1602LCD显示的秒表 5.11 用DS18B20与MAX6951驱动数码管设计的温度报警器 5.12 用1602LCD与DS18B20设计的温度报警器 5.13 温控电机在L298驱动下改变速度与方向运行 5.14 PG160128中文显示日期时间及带刻度显示当前温度 5.15 液晶屏曲线显示两路模数转换结果 5.16 用74LS595与74LS154设计的16×16点阵屏 5.17 用8255与74LS154设计的16×16点阵屏 5.18 8×8LED点阵屏仿电梯数字滚动显示 5.19 用内置EEPROM与1602液晶设计的MD5加密电子密码锁 5.20 12864LCD显示24C08保存的开机画面 5.21 12864LCD显示EPROM27C256保存的开机画面 5.22 IIC-AT24C1024×2硬字库应用 5.23 SPI-AT25F2048硬件字库应用 5.24 带液晶显示的红外遥控调速仿真 5.25 能接收串口信息的带中英文硬字库的80×16点阵显示屏 5.26 用AVR与1601LCD设计的计算器 5.27 电子秤仿真设计 5.28 模拟射击训练游戏 5.29 PC机通过485远程控制单片机 5.30 用IE访问AVR+RTL8019设计的以太网应用系统
书名:PIC单片机实用教程.基础篇 出版社:北京航空航天大学出版社 作者:李学海 出版日期:2002-02-01 简介: 本书以介绍PIC16F877型号单片机为主,并适当兼顾PIC全系列,共分10章,内容包括:基本概念;PIC16F87X硬件概况;指令系统;汇编程序设计;集成开发环境;在线调试工具;I/O端口;定时器;中断;安全措施和降耗设计。突出特点:通俗易懂、可读性强、系统全面、学练结合、学用并重、实例丰富、习题齐全。 本书作为Microchip公司“大学计划”选择用书,可广泛适用于初步具备电子技术基础和计算机知识基础的学生、教师单片机爱好者、电子制作爱好者、电器维修人员、电子产品开发设计者、工程技术人员阅读。 本教程全书共分2篇,即基础篇和提高篇,分2册出版,以适应不同课时和不同专业的需要,也为教师和读者增加了一种可选方案。 目录: 第1章 单片机的基本概念 1.1 学习单片机有什么必要性 1.2 单片机究竟是什么 1.3 单片机有哪些应用 1.4 单片机有哪些特点 1.5 单片机的发展状况 1.6 PIC系列单片机有哪些优越之处 1.7 可在线调试和在线编程的PIC16F87X 第2章 PIC16F87X硬件系统概况 2.1 PIC16F87X封装形式和引脚功能 2.2 PIC16F87X内部结构方框图简介 2.3 程序存储器和堆栈 2.4 RAM数据存储器(文件寄存器) 2.5 复位功能简介 2.6 系统时钟简介 第3章 指令系统 3.1 指令时序 3.2 指令系统概览 3.3 面向字节操作类指令 3.4 面向位操作类指令 3.5 面向常数操作和控制操作类指令 3.6 寻址方式 3.7 数据传递关系 3.8 “内核-寄存器-外围模块”相互关系 第4章 PIC汇编语言程序设计基础 4.1 MPASM汇编器简介 4.2 汇编语言的语句格式 4.3 常用伪指令 4.4 程序格式和程序流程图 4.5 RAM数据存储器的体选寻址问题 4.6 顺序程序结构 4.7 分支程序结构 4.8 循环程序结构 4.9 子程序结构 4.10 程序跨页跳转和跨页调用问题 4.11 延时程序设计 4.12 查表程序设计 第5章 MPLAB集成开发环境软件包 5.1 MPLAB的组成 5.2 MPLAB的安装 5.3 MPLAB的简单应用 第6章 MPLAB-ICD在线调试工具套件及其应用 6.1 概述 6.2 MPLAB- ICD工具套件的构成 6.3 MPLAB-ICD在线调试工具的安装 6.4 MPLAB-ICD在线调试工具的启用 6.5 用MPLAB-ICD统调用户程序和用户电路 第7章 输入/输出端口的基本功能 7.1 与输入/输出端口相关的寄存器 7.2 基本输入/输出端口的内部结构和工作原理 7.3 输入/输出瑞口基本功能的应用举例 第8章 定时器/计数器TMRO 8.1 定时器/计数器模块的基本用途 8.2 PIC系列单片机中定时器/计数器TMRO模块的特性 8.3 与定时器/计数器TMRO模块相关的寄存器 8.4 定时器/计数器TMRO模块的电路结构和工作原理 8.5 定时器/计数器TMRO模块的应用举例 第9章 中断系统 9.1 中断的基本概念 9.2 PIC16F87X的中断源 9.3 PIC16F87X的中断硬件逻辑 9.4 中断相关的寄存器 9.5 中断的处理 …… 第10章 安全生产、可靠运行措施和降耗设计
目录 1引言 1 2 PROTEUS软件仿真 2 2.1 PROTEUS软件简介 2 2.1.1 PROTUES ISIS的启动 2 2.1.2 PROTUES ISIS的工作界面 3 2.2 Keil简介 3 2.3 利用PROTUES ISIS仿真与调试 4 3 主要芯片简介 5 3.1 AT89C51芯片 5 3.2 ADC0808 7 3.3 74LS161 8 3.4 七段数码管简介 9 4 系统总体设计 10 4.1 工作原理 10 4.2 系统结构框图 10 4.3 系统硬件设计 10 4.3.1 单片机的选择 10 4.3.2 时钟电路的设计 11 4.3.3复位电路 11 4.3.4 A/D转化电路及测量电路的设计 12 4.3.5 显示模块设计 12 4.4系统程序设计 13 4.4.1 初始化程序 13 4.4.2主程序 13 4.4.3 A/D转换子程序的设计 14 4.4.4 循环显示的程序 15 4.4.5 显示程序 16 4.4.6 中断子程序、延时子程序和查表 17 5.1 总体设计仿真电路 18 5.2 仿真结果 19 6 总结 21 参考文献 22 附录 23 1引言 数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号, 通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压 表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。 在测量仪器中,电压表是必须的,而且电压表的好坏直接影响到测量精度。具有一个 精度高、转换速度快、性能稳定的电压表才能符合测量的要求。为此,我们设计了数字 电压表,此作品主要由A/D0808转换器和单片机AT89C51构成,A/D转换器在单片机的控制 下完成对模拟信号的采集和转换功能,最后由数码管显示采集的电压值。 电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这 种转换的电路叫模数转换器(A/D)。数字电压表的核心部件就是A/D转换器,由于各种 不同的A/D转换原理构成了各种不同类型的DVM。一般说来,A/D转换的方式可分为两类: 双积分型和逐次逼近型。 双积分型A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字 化。根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压- 频率)式两种。 逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分 为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。 在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。 本设计以AT89C51单片机为核心,以双积分型A/D转换器ADC0808、七段数码管为主体,构 造了一款简易的数字电压表,能够实现自动和手动测量8路0.00~5.00V的直流电压,最 小分辨率为0.02V。 2 PROTEUS软件仿真 2.1 PROTEUS软件简介 PROTEUS ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统 上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:1.实现了单片 机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电 路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的 功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。2.支持主流单片机系 统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、P IC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。3.提供软件调试功能。 在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄 存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方 的软件编译和调试环境,如Keil C51 uVision2等软件。4.具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPIC E分析于一身的仿真软件,功能极其强大。 2.1.1 PROTUES ISIS的启动 双击桌面上的ISIS 6 Professional图标或者单击屏幕左下方的"开始" "程序" "Proteus 6 Professional" "ISIS 6 Professional",出现如图2-1所示屏幕,表明进入PROTEUS ISIS集成环境。 图2-1 PROTEUS ISIS启动时的屏幕 2.1.2 PROTUES ISIS的工作界面 PROTEUS ISIS的工作界面是一种标准的Windows界面,如图2- 2所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状
PIC单片机是一种被广泛应用于嵌入式系统中的微控制器。它具有低功耗、成本低廉、易于学习和使用等优点,因此值得学习。 首先,PIC单片机具有广泛的应用领域。它可以用于电子设备、电气控制、通信系统、自动化设备等领域,被广泛应用于各种嵌入式系统中。学习PIC单片机可以为我们提供控制各种设备和系统的能力,有助于了解并应用各种实际应用场景。 其次,PIC单片机具有低功耗和成本低廉的特点。相对于其他微控制器,PIC单片机在功耗方面较低,适用于需要长时间运行、对能耗要求较高的应用场景。另外,由于其成本低廉,学习和使用PIC单片机具有一定的经济性,降低了学习的门槛。 此外,PIC单片机易于学习和使用。它具有完善的开发工具和丰富的资料支持,初学者可以很快上手并进行实践。学习PIC单片机需要的硬件成本不高,而且开发过程中提供了简化的编程接口,使得编程变得更加简单易懂。 最后,学习PIC单片机也是为了提高自身的竞争力。在当今科技发展迅速的时代,掌握嵌入式系统相关的知识是有利于我们未来职业发展的。学习PIC单片机可以培养我们的逻辑思维能力、解决问题的能力和创新意识,在就业市场中占据一定的竞争优势。 综上所述,PIC单片机值得学习。它具有广泛的应用领域,低功耗和成本低廉的特点,以及易于学习和使用等优势,对于提高自身竞争力和实践能力都是有益的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值