1 / 9
文档名称:

基于AVR单片机的电力谐波分析系统设计 毕业设计论文.docx

格式:docx   页数:9页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于AVR单片机的电力谐波分析系统设计 毕业设计论文.docx

上传人:策划大师 2011/11/13 文件大小:0 KB

下载得到文件列表

基于AVR单片机的电力谐波分析系统设计 毕业设计论文.docx

文档介绍

文档介绍:基于AT91R40008微处理器的软件定时器设计
      引言
      当前,嵌入式系统的软件代码日趋复杂然而,由于存储器、定时器等硬件资源仍然相对有限
       如何在不影响系统整体性能的情况下,为嵌入式系统提供优异的定时性能,使系统能够高效运行,已是一个值得关注的问题
       1软件定时器
       软件定时器是一组定时器实体的集合,是一种针对不同定时服务进行统一管理的多任务链表类型数据结构软件定时器可使系统在某一确定时刻执行指定操作它以可编程定时/计数器或单稳延时电路为基础
       利用硬件定时器产生的定时中断来实现虽然软件定时器也需要占用CPU时间,但是相对于硬件定时器来说,它的资源多,定时时间长,使用灵活,实现起来简单方便,因而在复杂系统或定时器工作方式比较复杂的应用场合更能体现其价值对定时器的组织和管理常用的有多队列式和单链表式前者通过将定时器划分成不同时长的队列来减少每次参与计数的定时器个数
        这种组织方式在空负载检查时存在很多冗余操作,而真正有效的操作只占少部分后者则通过将定时器采取先进先出方式来组织定时器队列,这种方式使用起来虽然比较简单,但存在以下两个问题:一是定时器队列太长找到所有到点定时器的时间开销难以接受;二是在当时钟中断发生时, 需要对所有的定时器的时长域进行减法操
作,而这部分的时间性开销很大
       本文采用的是单链表定时器队列,但在定时器队列组织方式上,根据各个定时器节点的定时值,对其按升序进行排序,然后按照后一个定时器的值是前面所有定时器值加上本身值的规则对此节点重新赋定时值以使所有的到点定时节点集中于队列的前面由于所有定时器节点的隐含值均递减,故可形成一个相对时长定时队列这样,在每次产生时钟中断时,只需修改第一个定时器节点的值即可,从而大大降低了时钟中断处理函数的工作量当需要添加新的定时器节点时,可在插入定时器进入列表前,根据第一项来修改超时值对于这样的组织管理方式,由于第一个节点就是当前定时器链表中定时时间最短的节点,且对链表的到期操作只需要集中在第一个节点上,故能减少对定时器链表多余的冗余操作,也免去了查找定时节点的开销
2 AT91R40008微处理器
      AT91R40008是美国ATMEL公司推出的一款基于ARM7TDMI嵌入式微处理器的16/32位微处理器该器件的定时器/计数器模块含有三个完全相同的16位定时器/计数器通道每个通道都能独立编程来完成多种功能(如频率测量、事件计数、时间间隔测量、脉冲产生、延迟和脉冲宽度调制等)每个通道有三个外部时钟输入、5个内部时钟输入和2个可由用户配置的多功能I/O此外,每个通道还可驱动一个内部信号,以通过A-IC(先进中断控制器)产生处理器中断AT91R40008 器件中的定时器/计数器模块有两个控制所有通道的
全局寄存器其中模块控制器寄存器可以使三个通道由同一条指令同时启动,而模块模式寄存器则为每一个通道定义了外部时钟输入,并允许它们级联每一个定时器/计数器都可以独立工作于两种模式,分别是捕获模式和波形模式前者用于对信号的测量,后者则允许产生波形通过TC通道模式寄存器的WAVE位可以控制定时器/计数器的工作模式定时器的重新设定和启动可由触发条件决定每个模式下通常有三种类型的内部触发和一