第4章-任务T14-声光报警器课件_第1页
第4章-任务T14-声光报警器课件_第2页
第4章-任务T14-声光报警器课件_第3页
第4章-任务T14-声光报警器课件_第4页
第4章-任务T14-声光报警器课件_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.1本章的知识点和技能点知识点技能点振荡电路的工作原理内存管理数据表格的建立与访问无源蜂鸣器的控制电路汇编语言声光报警器的设计I/O口控制汇编语言编程程序调试能力CodeWarrior以及BDM的进一步使用万用表、示波器在静态测试中的使用4.1本章的知识点和技能点知识点技能点振荡电路的工作原理声4.2任务描述 汽车的防盗报警器开启后,当有外力施加在汽车上,汽车的车灯会闪烁,且发出响亮的报警声。有一些家电产品当完成任务后指示灯会闪烁,同时蜂鸣器鸣叫。本任务就是要完成上面所述的声光报警,使LED1、LED2、LED3、LED4循环点亮,同时使蜂鸣器鸣叫。4.2任务描述 汽车的防盗报警器开启后,当有外力施加在汽车4.3任务分析一个完整的声光报警器必须包括传感器、指示灯、音响设备等部分,本例为了简化任务,不考虑传感器的设计和检测,只考虑指示灯和音响设备,我们可以用MC9S08AC16通用功能板上的LED作为指示灯,用蜂鸣器作为音响设备来设计我们的声光报警器。MC9S08AC16通用功能板上的蜂鸣器是一种12V供电的无源蜂鸣器,要使其发出声音,必须使控制它的信号周期性的高低变化,也就是说控制信号必须是脉冲信号,并且蜂鸣器的音色由脉冲信号的频率决定。另外,LED的闪烁控制虽然已经在前面几个例子实现过,但是如果把前面的代码直接移植过来,将会导致无法控制蜂鸣器,因此也必须寻找新的控制方法。其中的一种方法是增加一个计数变量,当计数变量达到某个值后使LED的状态取反,同时使计数变量复位准备下一次的计数。

4.3任务分析一个完整的声光报警器必须包括传感器、指示灯、4.4实操训练:时钟电路的静态测试CodeWarrior软件

MC9S08AC16通用功能板,1块/人

BDM工具,1个/人万用表,1只/人示波器,1台/人4.4.1任务所需工具4.4实操训练:时钟电路的静态测试CodeWarrio4.4实操训练:时钟电路的静态测试4.4.2静态测试注意事项确保放置实验板的区域没有其他的东西;确保实验台和双手是干燥的。用数字万用表测试电压时需要选择用交流挡还是直流挡,还要正确选择其量程;用模拟万用表测试直流电压时还需要分清正负极,红笔接正极,黑笔接负极。实验板通电后不要用手触摸和N端、L端、L1端连通的裸露部分,否则将触电。4.4实操训练:时钟电路的静态测试4.4.2静态测试注意4.4.3实验步骤步骤1:选择接入8MHz的外部晶振。步骤2:用BDM向单片机写入时钟测试程序ClockTest.mcp(该程序可以在随书光盘的文件夹“单片机技术初步实践例子程序\MC9S08AC16通用功能板例子程序\第4章”中获得),如果正常工作,则LED1亮。4.4.3实验步骤步骤1:选择接入8MHz的外部晶振。4.4.3实验步骤步骤3:晶振电路的静态测试。通电,用万用表测试晶振两端的对地电压,把结果记录在课本的表4-17中;断电,把示波器的信号线和晶振电路输出端连接好;通电,观察晶振电路输出端的波形,把结果记录在课本的表4-17中,记录的波形图必须标出振幅和周期。4.4.3实验步骤步骤3:晶振电路的静态测试。4.5知识链接1:内部时钟发生器模块ICG4.5知识链接1:内部时钟发生器模块ICG4.5.1内部时钟发生器模块结构图内部时钟发生器模块ICG由外部时钟电路、振荡器、内部参考时钟、锁频环模块、时钟选择模块、分频器等组成。

4.5.1内部时钟发生器模块结构图内部时钟发生器模块ICG由4.5.2内部时钟发生器模块工作原理晶体谐振器、RC振荡电路、外部时钟等外部参考时钟ICGERCLK或者内部参考时钟ICGIRCLK经过锁频环的升频后输出时钟ICGDCLK,时钟选择模块选择ICGERCLK或者ICGDCLK作为时钟源,经过分频器分频后输出时钟ICGOUT。4.5.2内部时钟发生器模块工作原理晶体谐振器、RC振荡电4.5.3时钟源与锁频环HCS08时钟模块的时钟源有两个——外部晶振和内部参考时钟。采用内部时钟可以提高系统的可靠性,降低成本,但是精度不高;采用外部晶振,可以提高精度,但是会增加成本,同时,当外部晶振频率太高时还会产生较大的电磁干扰内部锁频环FLL(FrequencyLockedLoop)频率合成器模块。这个模块的作用是用频率较低且较稳定的时钟来产生高频时钟。采用锁频环技术可以用较低的参考时钟产生频率较高的时钟,降低对外部的电磁干扰;当参考时钟一定的情况下,启用锁频环电路会增加功耗;单片机上电后,如果启用锁频环电路,需要一定的时间锁频环电路才能够输出稳定的时钟,也就是说单片机上电后需要一段时间才能够正常的工作。4.5.3时钟源与锁频环HCS08时钟模块的时钟源有两个—4.5.4内部时钟发生器模块工作模式时钟发生器模块共有5种工作模式停止模式(Off)自时钟模式(SCM)使用锁频环的内时钟模式(FEI)禁用锁频环的外时钟模式(FBE)使用锁频环的外时钟模式(FEE)4.5.4内部时钟发生器模块工作模式时钟发生器模块共有5种(1)停止模式(Off)在该模式下,内部时钟发生器模块ICG停止工作,ICGOUT是一个固定的电平,即在该模式下没有时钟脉冲输出。(1)停止模式(Off)在该模式下,内部时钟发生器模块IC(2)自时钟模式(SCM)

内部参考时钟ICGICLK经过工作于开环模式的锁频环后产生时钟ICGDCLK,ICGDCLK经过分频后作为内部时钟发生器的输出时钟ICGOUT。

系统最快的启动方式单片机复位后默认的工作模式时钟精度不高(2)自时钟模式(SCM)内部参考时钟ICGICLK经过(3)使用锁频环的内时钟模式(FEI)

内部参考时钟ICGICLK经过工作于闭环模式的锁频环后产生时钟ICGDCLK,ICGDCLK经过分频后作为内部时钟发生器的输出时钟ICGOUT。

系统成本降低时钟频率可调整范围大精度较高(3)使用锁频环的内时钟模式(FEI)内部参考时钟ICGI(4)禁用锁频环的外时钟模式(FBE)

外部的晶体谐振器、RC振荡电路、外部时钟等产生的时钟经过内部振荡电路后产生外部参考时钟ICGERCLK,ICGERCLK经过分频后作为内部时钟发生器的输出时钟ICGOUT。

最精确、最省电能达到的总线频率不高,最大只能为8MHz(4)禁用锁频环的外时钟模式(FBE)外部的晶体谐振器、R(5)使用锁频环的外时钟模式(FEE)

外部的晶体谐振器、RC振荡电路、外部时钟等产生的时钟经过内部振荡电路后产生外部参考时钟ICGERCLK,ICGERCLK经过工作于闭环模式的锁频环后产生时钟ICGDCLK,ICGDCLK经过分频后作为内部时钟发生器的输出时钟ICGOUT。

功耗和精度方面都处于中间状态(5)使用锁频环的外时钟模式(FEE)外部的晶体谐振器、R4.5.5系统时钟分配

ICG模块为系统的其他功能模块如中央处理器CPU、实时时钟中断模块RTI、后台调试模块BDC、定时器模块TPM、模/数转换模块ADC等提供工作的时钟,ICG模块的输出时钟2分频后作为总线时钟BUSCLK,即Ficg=2*Fbus。

4.5.5系统时钟分配ICG模块为系统的其他功能模块如中4.5.6外部振荡电路连接

外部晶振的电路连接EXTAL是内部振荡器的输入引脚,XTAL是输出引脚;串联电阻RS和反馈电阻RF应该是低感应系数的电阻,RS一般可以不接,RF的取值范围为1MΩ~22MΩ;C1和C2应尽量选用高频性能好的陶瓷电容,取值一般为6pF~40pF。布板时,晶振、C1和C2应该尽可能的靠近单片机。例子:外部选择8MHz的晶振,则RF选择8.2MΩ,C1和C2选择22pF,RS不接。

4.5.6外部振荡电路连接外部晶振的电路连接4.5.6外部振荡电路连接

外部时钟的电路连接将时钟信号直接连接EXTAL引脚,而XTAL悬空4.5.6外部振荡电路连接外部时钟的电路连接4.5.7时钟发生器模块寄存器

HCS08单片机中和时钟发生器模块相关的寄存器有以下6个,具体说明请看课本P59~63:ICG控制寄存器1(ICGC1);ICG控制寄存器2(ICGC2);ICG状态寄存器1(ICGS1);ICG状态寄存器2(ICGS2);ICG滤波寄存器(ICGFLTH和ICGFLTL);ICG微调寄存器(ICGTRM)。单片机中所有的功能模块都有配套的寄存器,这些寄存器负责设置功能模块的各种参数。4.5.7时钟发生器模块寄存器HCS08单片机中和时钟发4.5.8时钟发生器模块设置举例

4.5.8时钟发生器模块设置举例(1)重要的计算表格:ICGOUT频率fICGOUT计算表1

确保fICGDCLK

fICGOUT*R不超过极限值fICGDCLKmax=40MHz。

工作模式fICGOUT1P说明SCMfICGDCLK/R无效复位后fICGOUT=8MHzFEI(fIRG/7)*64*N/R64典型情况,fIRG=243kHzFBEfext/R无效fext为晶振或外部时钟的频率FEEfext*P*N/RRange=0;P=64Range=1;P=1同上(1)重要的计算表格:ICGOUT频率fICGOUT计算(1)重要的计算表格:MFD和RFD编码表MFD倍频因子NRFD分频因子R00040001001600120108010401110011810012100161011410132110161106411118111128(1)重要的计算表格:MFD和RFD编码表MFD倍频因子(2)ICG设置的步骤第一步:根据功耗、时钟频率精度、时钟频率范围、成本选择合适的工作模式;第二步:根据总线频率确定ICGOUT频率;第三步:根据ICGOUT频率选择合适的P、N、R值;第四步:根据工作模式和P、N、R值设置ICG的各个寄存器。(2)ICG设置的步骤第一步:根据功耗、时钟频率精度、时钟(3)ICG设置举例:例子1FEI应用,fIRG=243kHz,fBUS=8MHz。分析:fICGOUT=2*fBUS=16MHz,fICGOUT=(fIRG/7)*P*N/R,其中fIRG=243kHz=243*1024Hz,P=64,N/R=fICGOUT/((fIRG/7)*P)=7.033,约等于7,选择N=14,R=2。和ICG相关的寄存器设置如下:CGC1=$28(%00101000)ICGC2=$51(%00110001)ICGS1=$xx。只读,清中断标志位除外ICGS2=$xx。只读,在执行对时钟要求严格的任务时,需要确认DCOS=1ICGFLTLU/L=$xx。在本模式中无效。

(3)ICG设置举例:例子1FEI应用,fIRG=243(3)ICG设置举例:例子1FEI应用,fIRG=243kHz,fBUS=8MHz。汇编代码如下所示:LDA #$28STA ICGC1LDA #$51STA ICGC2BRCLR ICGS1_LOCK,ICGS1,*;等待锁频环锁定输出时钟

(3)ICG设置举例:例子1FEI应用,fIRG=243(3)ICG设置举例:例子2FBE应用,fext=8MHz,fBUS=4MHz。分析:fICGOUT=2*fBUS=8MHz,fICGOUT=fext/R,R=fICGOUT/fext=1,另外由于外部晶振的频率为8MHz,属于高频晶振,因此选择P=1。和ICG相关的寄存器设置如下:ICGC1=$70(%01110000)。ICGC2=$00(%00000000)。ICGS1=$xx。只读,清中断标志位除外。ICGS2=$xx。只读,在执行对时钟要求严格的任务时,需要确认DCOS=1。ICGFLTLU/L=$xx。在本模式中无效。ICGTRM=$xx。在本模式中无效。(3)ICG设置举例:例子2FBE应用,fext=8MH(3)ICG设置举例:例子2FBE应用,fext=8MHz,fBUS=4MHz。汇编代码如下所示:LDA #$70STA ICGC1LDA #$00STA ICGC2BRCLR ICGS1_ERCS,ICGS1,*;等待外部的晶振时钟稳定下来(3)ICG设置举例:例子2FBE应用,fext=8MH4.6实操训练:时钟电路的静态测试(续)CodeWarrior软件

MC9S08AC16通用功能板,1块/人BDM工具,1个/人万用表,1只/人示波器,1台/人4.6.1任务所需工具4.6实操训练:时钟电路的静态测试(续)CodeWar4.6实操训练:时钟电路的静态测试4.6.2静态测试注意事项确保放置实验板的区域没有其他的东西;确保实验台和双手是干燥的。用数字万用表测试电压时需要选择用交流挡还是直流挡,还要正确选择其量程;用模拟万用表测试直流电压时还需要分清正负极,红笔接正极,黑笔接负极。实验板通电后不要用手触摸和N端、L端、L1端连通的裸露部分,否则将触电。4.6实操训练:时钟电路的静态测试4.6.2静态测试注意4.6.3实验步骤步骤4:用BDM向单片机写入蜂鸣器控制程序SoundAlarm.mcp,观察现象,用示波器观察并记录蜂鸣器1的控制三极管的基极波形,把结果记录在课本的表4-18中,波形图必须标出振幅和周期。程序简单说明:本程序使ICG模块工作于FBE模式,并形成4MHz的总线频率。蜂鸣器驱动脉冲频率为4KHz的,蜂鸣器1控制引脚PTC2的电平跳变频率为8KHz(构造一个方波信号需要两次跳变)。由于暂时没有启用定时器的功能,故只能在主程序的主循环中构造具有500个时钟周期T的延时(4M/8K=500)。使PTC2的电平跳变由以下三行语句的程序段实现:LDA PTCDEOR #$04STA PTCD执行这段程序的时间间隔为:3+2+3+3+(2+3+3)×61+3=502T,这个时间间隔和我们要求的500T基本吻合。4.6.3实验步骤步骤4:用BDM向单片机写入蜂鸣器控制程4.6.3实验步骤步骤5:选择16MHz的外部晶振,观察现象,用示波器观察并记录蜂鸣器1的控制三极管的基极波形,把结果记录在课本表4-18中,波形图必须标出振幅和周期,比较前后两次的不同。

步骤6:修改蜂鸣器控制程序,把蜂鸣器驱动脉冲的频率改为1500Hz。

4.6.3实验步骤步骤5:选择16MHz的外部晶振,观察现4.7知识链接2:存储器管理

4.7知识链接2:存储器管理4.8知识链接3:指令寻址方式4.8知识链接3:指令寻址方式4.8.1指令寻址方式的定义一条指令一定存在操作码,一般也存在操作数。操作码控制CPU执行一定的操作,而这些操作需要使用的数据就是操作数。操作码在程序计数器PC所指向的FLASH中可以获得,而操作数也需要通知CPU按照一定的方式取得,这就叫做“寻址方式”。寻址方式是由操作数的获取方式决定,和操作码无关。4.8.1指令寻址方式的定义一条指令一定存在操作码,一般也4.8.2指令寻址方式的种类寻址方式隐含(INH)立即数(IMM)直接(DIR)扩展(EXT)变址(IX)变址1(IX1)变址2(IX2)助记符INCXLDA#$55LDA$80LDA$400LDA,XLDA$5,XLDA$150,X操作码5CA6B6C6F6E6D6操作数

55800400

1001504.8.2指令寻址方式的种类寻址方式隐含(INH)立即数(4.9实操训练:声光报警器程序设计CodeWarrior软件

MC9S08AC16通用功能板,1块/人BDM工具,1个/人4.9.1任务所需工具4.9实操训练:声光报警器程序设计CodeWarrio4.9实操训练:声光报警器程序设计4.9.2静态测试注意事项确保放置实验板的区域没有其他的东西;确保实验台和双手是干燥的。实验板

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论