第一范文网 - 专业文章范例文档资料分享平台

凌阳61单片机硬件教程

来源:用户分享 时间:2025/5/25 6:37:11 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

单片机——凌阳SPCE061A硬件学习笔记(七) 2009-08-12 21:14

http://hi.http://www.china-audit.com//?e??áú123/blog/item/28e479dc7b793ee677c63821.html

http://hi.http://www.china-audit.com//aauutthh/blog/item/0e75d6ad2fb4c60c4b36d687.html

13、Timer A相关寄存器

? P_TimerA_Data(读/写)(700AH)

TimerA的数据单元,用于向16位预置寄存器写入数据(预置计数初值)或从其中读取数据。

? P_TimerA_Ctrl(写)(700BH)

P_TimerA_Data在写入数值以后,计数器便会在所选择的频率下进行加一计数,直至计数到0xFFFF产生溢出。.溢出后P_TimerA_Data中的值将会被重置,再以置入的值继续加一计数。读到这儿你会发现计数初值对于计数器/定时器的应用非常重要,那么怎样计算计数初值呢?一般说来分为以下几步:1.选择需要的计数频率。2. 计算相应的计数初值。

TimerA的控制单元如上表所示。用户可以通过设置该单元的第0~5位来选择TimerA的时钟源(时钟源A、B)。设置该单元的第6~9位,TimerA将输出不同频率的脉宽调制信号,即对脉宽占空比输出APWMO进行控制。

二、中断系统

1、SPCE061A的结构给出了三种类型的中断:软件中断、异常中断和事件中断。 1) 软件中断

软件中断是由软件指令break产生的中断。软件中断的向量地址为FFF5H

2)异常中断

异常中断表示为非常重要的事件,一旦发生,CPU必须立即进行处理。目前SPCE061A定义的异常中断只有?复位?一种。通常,SPCE061A系统复位可以由以下三种情况引起:上电、看门狗计数器溢出以及系统电源低于电压低限。不论什么情况引起复位,都会使复位引脚的电位变低,进而使程序指针PC指向由一个复位向量(FFF7H)所指的系统复位程序入口地址。

3)事件中断

事件中断(可简称“中断”,以下提到的“中断”均为事件中断)一般产生于片内设部件或由外设中断输入引脚引入的某个事件。这种中断的开通/禁止,由相应独立使能和相应的IRQ或FIQ总使能控制。

SPCE061A的事件中断可采用两种方式:快速中断请求即FIQ中断和中断请求即IRQ中断。这两种中断都有相应的总使能。

共有9个中断向量即FIQ、IRQ0~IRQ6及UART IRQ。这9个中断向量共可安置14个中断源供用户使用,其中有3个中断源可安置在FIQ或IRQ0~IRQ2中,另有10个中断源则可安置在IRQ3~IRQ6中。还有一个专门用于通用异步串行口UART的中断源,须安置在UART IRQ向量中。

中断源

SPCE061A单片机的中断系统有14个中断源分为两个定时器溢出中断、两个外部中断、一个串行口中断、一个触键唤醒中断、7个时基信号中断、PWM音频输出中断。

5.2.1.2 定时器溢出中断源

定时器溢出中断由SPCE061A内部定时器中断源产生,故它们属于内部中断;在SPCE061A内部有两个16位定时器/计数器,定时器TimerA/TimerB在定时脉冲作用下从预置数单元开始加计数,当计数为“0xFFFF”时可以自动向CPU提出溢出中断请求,以表明定时器TimerA或TimerB的定时时间已到。

5.2.1.3 外部中断源

SPCE061A单片机有两个外部中断,分别为EXT1和EXT2,两个外部输入脚分别为B口的IOB2和IOB3的复用脚。EXT1(IOB2)和EXT2(IOB3)两条外部中断请求输入线,用于输入两个外部中断源的中断请求信号,并允许外部中断以负跳沿触发方式来输入中断请求信号

5.2.1.4 串行口中断源

串行口中断分为串行口发送中断和串行口接收中断两种,但其中断向量是一个,因此,进入串行中断服务程序时,也需要判断是接收中断还是发送中断。在串行口进行发送/接收完一组串行数据时,串行口电路自动使串行口控制寄存器P_UART_Command2中的TXReady和RXReady中断标志位置位。并自动向CPU发出串行口中断请求,CPU响应串行口中断后便立即转入串行口中断服务程序执行。因此,只要在串行中断服务程序中安排一段对P_UART_Command2对TXReady和RXReady中断标志位状态的判断程序,便可区分串行口发生了接收中断请求还是发送中断

5.2.1.5 触键唤醒中断源

当系统给出睡眠命令时,CPU便关闭PLL倍频电路,停止CPU时钟工作而使系统进入睡眠状态,在睡眠过程中,通过IOA口低8位接的键盘就可以给出唤醒信号使系统接通PLL倍频电路,启动CPU时钟工作,将系统从睡眠状态转到工作状态。与此同时,产生一个IRQ3中断请求。进入键唤醒中断,CPU继续执行下一个程序指令。

若以触键作为唤醒源,其功能通过并行A口的IOA0~IOA7及中断源IRQ3_KEY的设置来实现。

5.2.1.6 时基信号中断源

时基信号发生器的输入信号来自实时时钟32768Hz;输出有通过选频逻辑的TMB1、TMB2信号和直接从时基计数器溢出而来的各种实时时基信号。当开启时基信号中断后,有时基信号到来,发出时基信号中断申请,CPU查询到有中断请求后,允许中断并置位P_INT_Ctrl中相应的中断请求位,在中断服务程序中通过测试P_INT_Ctrl来确定是那个频率时基信号产生的中断,可以通过在计数不同频率的时基信号来做长时间或短时间的定时控制。

5.2.2.1 中断控制寄存器

SPCE061A对中断源的开放和屏蔽,以及每个中断源是否被允许中断,都受中断允许寄存器P_INT_Ctrl和P_INT_Clear及P_INT_Ctrl_New控制和一些中断控制指令。

1.中断控制单元P_INT_Ctrl(读/写)(7010H)

P_INT_Ctrl控制单元具有可读和可写的属性,其读写时的意义是不同的。

当写中断控制单元中的某位为“1”时,即允许该位所代表的中断被开放,并关闭屏蔽中断触发器,此时当有该中断申请时,CPU会响应。否则如果该位被置0则禁止该位所代表的中断。即使有中断申请,CPU也不会响应。

2.清除中断标志控制单元P_INT_Clear(写)(7011H)

清除中断标志控制单元主要用于清除中断控制标志位,当CPU响应中断后,会将中断标志置位为“1”,当进入中断服务程序后,要将其控制标志清零,否则CPU总是执行该中断。

3.激活和屏蔽中断控制单元 P_INT_Ctrl_New(读/写)($702DH)

5.2.2.3 中断控制指令

1.FIQ ON

功能:用来开通FIQ中断(FIQ的总中断允许开),其控制指令不能代替P_INT_Ctrl,

也就是说即使在程序中,写了该代码但是没有在 P_INT_Ctrl 寄存器中 FIQ 处置位 1,

CPU 无法响应该中断。FIQ ON 与 FIQ OFF 配对使用的。

2.FIQ OFF

功能:这个指令用来屏蔽 FIQ 中断。该指令可以屏蔽 P_INT_Ctrl 控制寄存器打开的 FIQ 中断;

3. IRQ ON(IRQ 的总中断允许开)

功能:这个指令用来开放 IRQ 中断,该控制指令不能代替 P_INT_Ctrl,与 FIQ ON相同。必须通过 P_INT_Ctrl 来开通中断,其与 IRQ OFF 是对应使用的。

凌阳单片机控制的电动小车的循迹 2009年07月07日 星期二 21:37

在2001、2003年连续两届全国大学生电子设计竞赛中,均出现了简易智能小车这种集光、机、电于一体的题目。本文具体介绍一下小车如何正确地进行循迹并给出必要的源代码。

1.小车控制及驱动单元的选择

此部分是整个小车的大脑,是整个小车运行的核心部件,起着控制小车所有运行状态的作用。通常选用单片机作为小车的核心控制单元,本文以台湾凌阳公司的SPCE061A单片机为例予以介绍。SPCE061是一款拥有2K RAM、32KFlash、32 个I/O 口,并集成了AD/DA功能强大的16位微处理器,它还拥有丰富的语音处理功能,为小车的功能扩展提供了相当大的空间。只要按照该单片机的要求对其编制程序就可以实现很多不同的功能。

小车驱动电机一般利用现成的玩具小车上的配套直流电机。考虑到小车必须能够前进、倒退、停止,并能灵活转向,在左右两轮各装一个电机分别进行驱动。当左轮电机转速高于右轮电机转速时小车向右转,反之则向左转。为了能控制车轮的转速,可以采取PWM调速法,即由单片机的IOB8、IOB9输出一系列频率固定的方波,再通过功率放大来驱动电机,在单片机中编程改变输出方波的占空比就可以改变加到电机上的平均电压,从而可以改变电机的转速。左右轮两个电机转速的配合就可以实现小车的前进、倒退、转弯等功能。 2.小车循迹的原理

这里的循迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。

红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过15cm。对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。

(1)自制红外探头电路如图1所示,红外光的发送接收选用型号为ST168的对管。当小车在白色地面行驶时,装在车下的红外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到信号,那么图中光敏三极管将导通,比较器输出为低电平;当小车行驶到黑色引导线时,红外线信号被黑色吸收后,光敏三极管截止,比较器输出高电平,从而实现了通过红外线检测信号的功能。将检测到的信号送到单片机I/O口,当I/O口检测到的信号为高电平时,表明红外光被地上的黑色引导线吸收了,表明小车处在黑色的引导线上;同理,当I/O口检测到的信号为低电平时,表明小车行驶在白色地面上。此种方法简单,价格便宜,灵敏度可调,但是容易受到周围环境的影响,特别是在图1较强的日光灯下,对检测到的信号有一定的影响。

搜索更多关于: 凌阳61单片机硬件教程 的文档
凌阳61单片机硬件教程.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c91e124mnfb58u602wq6j_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top