欢迎来到天天文库
浏览记录
ID:32896982
大小:49.00 KB
页数:4页
时间:2019-02-17
《苏州大学实验报告-定时溢出中断实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、苏州大学实验报告院、系 年级专业 姓名 学号 课程名称 成绩 指导教师 同组实验者 实验日期 实验名称: 定时溢出中断实验 一.实验目的 通过该实验,进一步熟悉MT-IDE嵌入式开发系统环境、汇编和C语言以及调试方式;复习串口的相关原理和编程方法;理解用定时器实现计数与定时的工作原理以及实现方法;理解课本中的程序代码。二.实验内容 编制一个利用定时器中断计数的程序。要求1秒钟中断一
2、次,计数加1,该计数范围为从0到255,超过又重新计数,每次的数字通过接在PTA0~PTA7上的八个小灯动态显示,小灯亮,表示该位为“1”;小灯暗,表示该位为“0”。 三.实验过程(一)基本原理 定时器的核心是一个不断加1的16位计数寄存器,该计数器的时钟频率由外部晶振时钟或总线时钟经过分频因子分频得到,在定时器内部有个控制和状态寄存器,通过对它某些位的设置,可以确定在多少时间后计数器加1。在定时器内部有个预置寄存器,当计数器的值等于预置寄存器的值时,称为计数器溢出。当计数器溢出时,计数器的值被赋0,
3、同时将计数器溢出标志等状态置于控制和状态寄存器中。通过对控制和状态寄存器某些位的设置,可以决定在计数器溢出时,是否允许中断,利用这个中断,可以编写中断程序,实现计数与定时等功能。四.编程(一)流程图关总中断开总中断开始结束计时sec++,sec取反后给PTA,清溢出标志位开始MCU、Timer1初始化头文件和声明1?复位结束溢出中断允许,开放总中断图1定时器计时流程图第4页(二)所用寄存器名称及其所用的位T1状态和控制寄存器(Timer1StatusandControlRegister,T1SC)数据位D7D6D5
4、D4D3D2D1D0定义TOFTOIETSTOPTRSTxPS2PS1PS0复位00100000T1计数寄存器(Timer1CounterRegister,T1CNTH、TICNTL)这是一个16位寄存器,分为高8位和低8位,每一个计数周期值加一。T1预置寄存器(Timer1CounterModuloRegister,T1MODH、T1MODL)这是一个16位寄存器,分为高8位和低8位,当计数寄存器中的值达到预置寄存器的值时发生中断。(三)主要代码段1.汇编方式:主程序部分代码……MainInit::SEI//关总
5、中断LDHX#$023F//堆栈初始化为RAM最高端TXSJSRMCUInit//调系统初始化子程序GP32InitJSRTimer1init//调定时器1初始化子程序LDA#$FFSTADDRA//对A口进行初始化STAPTA//A口初始状态为暗CLRsec//给sec"秒"赋初值0CLI//开总中断MainLoop://程序总循环入口NOPNOPJMPMainLoop……中断处理子程序部分代码……Timer1Int::SEI//关总中断PSHH//保护HINCsec//秒数加1CLCLDAsecCOMASTAP
6、TALDAT1SCBCLR#TOFBit,T1SC//清除定时器溢出标志位PULH//恢复HCLI//开总中断RTI……2.C语言方式:第4页主程序部分代码…………voidmain(){DisMCUInt();//关总中断MCUInit();//芯片初始化Timer1Init();//定时器1的初始化EnTm1OverflowInt();//开放溢出中断T1SC&=~(1<7、while(1){}}中断处理程序部分代码……#pragmainterrupt_handlerisrTimer1voidisrTimer1(void){DisMCUInt();sec++;//秒加1PTA=~sec;T1SC&=~(1<8、设计者需要对指令的执行时间严格的计算。该方法节省硬件,但延时时要执行延时程序,降低了CPU利用率,不利于多作业环境。 利用可编程定时器计时,结合了完全硬件完全软件的优点,其计时可由程序设置,设置后可与CPU并行工作,不占用CPU工作时间,同时定时器成本不高。因此该方法较优。 2.总结定时器初始化包括哪些内容? 定时器初始化过程中需
7、while(1){}}中断处理程序部分代码……#pragmainterrupt_handlerisrTimer1voidisrTimer1(void){DisMCUInt();sec++;//秒加1PTA=~sec;T1SC&=~(1<8、设计者需要对指令的执行时间严格的计算。该方法节省硬件,但延时时要执行延时程序,降低了CPU利用率,不利于多作业环境。 利用可编程定时器计时,结合了完全硬件完全软件的优点,其计时可由程序设置,设置后可与CPU并行工作,不占用CPU工作时间,同时定时器成本不高。因此该方法较优。 2.总结定时器初始化包括哪些内容? 定时器初始化过程中需
8、设计者需要对指令的执行时间严格的计算。该方法节省硬件,但延时时要执行延时程序,降低了CPU利用率,不利于多作业环境。 利用可编程定时器计时,结合了完全硬件完全软件的优点,其计时可由程序设置,设置后可与CPU并行工作,不占用CPU工作时间,同时定时器成本不高。因此该方法较优。 2.总结定时器初始化包括哪些内容? 定时器初始化过程中需
此文档下载收益归作者所有