第4章任务T1-4声光报警器.ppt

上传人:本田雅阁 文档编号:2909397 上传时间:2019-06-04 格式:PPT 页数:42 大小:552.02KB
返回 下载 相关 举报
第4章任务T1-4声光报警器.ppt_第1页
第1页 / 共42页
第4章任务T1-4声光报警器.ppt_第2页
第2页 / 共42页
第4章任务T1-4声光报警器.ppt_第3页
第3页 / 共42页
第4章任务T1-4声光报警器.ppt_第4页
第4页 / 共42页
第4章任务T1-4声光报警器.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《第4章任务T1-4声光报警器.ppt》由会员分享,可在线阅读,更多相关《第4章任务T1-4声光报警器.ppt(42页珍藏版)》请在三一文库上搜索。

1、第4章 任务T1-4 声光报警器,2,4.1 本章的知识点和技能点,知识点,技能点,振荡电路的工作原理 内存管理 数据表格的建立与访问 无源蜂鸣器的控制电路 汇编语言,声光报警器的设计 I/O口控制 汇编语言编程 程序调试能力 CodeWarrior以及BDM的进一步使用 万用表、示波器在静态测试中的使用,4.2 任务描述,汽车的防盗报警器开启后,当有外力施加在汽车上,汽车的车灯会闪烁,且发出响亮的报警声。有一些家电产品当完成任务后指示灯会闪烁,同时蜂鸣器鸣叫。本任务就是要完成上面所述的声光报警,使LED1、LED2、LED3、LED4循环点亮,同时使蜂鸣器鸣叫。,4.3 任务分析,一个完整的

2、声光报警器必须包括传感器、指示灯、音响设备等部分,本例为了简化任务,不考虑传感器的设计和检测,只考虑指示灯和音响设备,我们可以用MC9S08AC16通用功能板上的LED作为指示灯,用蜂鸣器作为音响设备来设计我们的声光报警器。 MC9S08AC16通用功能板上的蜂鸣器是一种12V供电的无源蜂鸣器,要使其发出声音,必须使控制它的信号周期性的高低变化,也就是说控制信号必须是脉冲信号,并且蜂鸣器的音色由脉冲信号的频率决定。 另外,LED的闪烁控制虽然已经在前面几个例子实现过,但是如果把前面的代码直接移植过来,将会导致无法控制蜂鸣器,因此也必须寻找新的控制方法。其中的一种方法是增加一个计数变量,当计数变

3、量达到某个值后使LED的状态取反,同时使计数变量复位准备下一次的计数。,4.4 实操训练:时钟电路的静态测试,CodeWarrior软件 MC9S08AC16 通用功能板,1块/人 BDM工具,1个/人 万用表,1只/人 示波器,1台/人,4.4.1 任务所需工具,4.4 实操训练:时钟电路的静态测试,4.4.2 静态测试注意事项,确保放置实验板的区域没有其他的东西;确保实验台和双手是干燥的。 用数字万用表测试电压时需要选择用交流挡还是直流挡,还要正确选择其量程;用模拟万用表测试直流电压时还需要分清正负极,红笔接正极,黑笔接负极。 实验板通电后不要用手触摸和N端、L端、L1端连通的裸露部分,否

4、则将触电。,4.4.3 实验步骤,步骤1:选择接入8MHz的外部晶振。 步骤2:用BDM向单片机写入时钟测试程序ClockTest.mcp(该程序可以在随书光盘的文件夹“单片机技术初步实践例子程序MC9S08AC16通用功能板例子程序第4章”中获得),如果正常工作,则LED1亮。,4.4.3 实验步骤,步骤3:晶振电路的静态测试。 通电,用万用表测试晶振两端的对地电压,把结果记录在课本的表4-17中; 断电,把示波器的信号线和晶振电路输出端连接好; 通电,观察晶振电路输出端的波形,把结果记录在课本的表4-17中,记录的波形图必须标出振幅和周期。,4.5 知识链接1:内部时钟发生器模块ICG,4

5、.5.1内部时钟发生器模块结构图,内部时钟发生器模块ICG由外部时钟电路、振荡器、内部参考时钟、锁频环模块、时钟选择模块、分频器等组成。,4.5.2 内部时钟发生器模块工作原理,晶体谐振器、RC振荡电路、外部时钟等外部参考时钟ICGERCLK或者内部参考时钟ICGIRCLK经过锁频环的升频后输出时钟ICGDCLK,时钟选择模块选择ICGERCLK或者ICGDCLK作为时钟源,经过分频器分频后输出时钟ICGOUT。,4.5.3 时钟源与锁频环,HCS08时钟模块的时钟源有两个外部晶振和内部参考时钟。 采用内部时钟可以提高系统的可靠性,降低成本,但是精度不高; 采用外部晶振,可以提高精度,但是会增

6、加成本,同时,当外部晶振频率太高时还会产生较大的电磁干扰 内部锁频环FLL(Frequency Locked Loop)频率合成器模块。这个模块的作用是用频率较低且较稳定的时钟来产生高频时钟。 采用锁频环技术可以用较低的参考时钟产生频率较高的时钟,降低对外部的电磁干扰; 当参考时钟一定的情况下,启用锁频环电路会增加功耗; 单片机上电后,如果启用锁频环电路,需要一定的时间锁频环电路才能够输出稳定的时钟,也就是说单片机上电后需要一段时间才能够正常的工作。,4.5.4 内部时钟发生器模块工作模式,时钟发生器模块共有5种工作模式 停止模式(Off) 自时钟模式(SCM) 使用锁频环的内时钟模式(FEI

7、) 禁用锁频环的外时钟模式(FBE) 使用锁频环的外时钟模式(FEE),(1) 停止模式(Off),在该模式下,内部时钟发生器模块ICG停止工作,ICGOUT是一个固定的电平,即在该模式下没有时钟脉冲输出。,(2) 自时钟模式(SCM),内部参考时钟ICGICLK经过工作于开环模式的锁频环后产生时钟ICGDCLK,ICGDCLK经过分频后作为内部时钟发生器的输出时钟ICGOUT。 系统最快的启动方式 单片机复位后默认的工作模式 时钟精度不高,(3)使用锁频环的内时钟模式(FEI),内部参考时钟ICGICLK经过工作于闭环模式的锁频环后产生时钟ICGDCLK,ICGDCLK经过分频后作为内部时钟

8、发生器的输出时钟ICGOUT。 系统成本降低 时钟频率可调整范围大 精度较高,(4)禁用锁频环的外时钟模式(FBE),外部的晶体谐振器、RC振荡电路、外部时钟等产生的时钟经过内部振荡电路后产生外部参考时钟ICGERCLK,ICGERCLK经过分频后作为内部时钟发生器的输出时钟ICGOUT。 最精确、最省电 能达到的总线频率不高,最大只能为8 MHz,(5)使用锁频环的外时钟模式(FEE),外部的晶体谐振器、RC振荡电路、外部时钟等产生的时钟经过内部振荡电路后产生外部参考时钟ICGERCLK,ICGERCLK经过工作于闭环模式的锁频环后产生时钟ICGDCLK,ICGDCLK经过分频后作为内部时钟

9、发生器的输出时钟ICGOUT。 功耗和精度方面都处于中间状态,4.5.5 系统时钟分配,ICG模块为系统的其他功能模块如中央处理器CPU、实时时钟中断模块RTI、后台调试模块BDC、定时器模块TPM、模/数转换模块ADC等提供工作的时钟,ICG模块的输出时钟2分频后作为总线时钟BUSCLK,即Ficg=2*Fbus。,4.5.6 外部振荡电路连接,外部晶振的电路连接 EXTAL是内部振荡器的输入引脚,XTAL是输出引脚;串联电阻RS和反馈电阻RF应该是低感应系数的电阻,RS一般可以不接,RF的取值范围为1M22M;C1和C2应尽量选用高频性能好的陶瓷电容,取值一般为6pF40pF。布板时,晶振

10、、C1和C2应该尽可能的靠近单片机。 例子:外部选择8MHz的晶振,则RF选择8.2M,C1和C2选择22pF,RS不接。,4.5.6 外部振荡电路连接,外部时钟的电路连接 将时钟信号直接连接EXTAL引脚,而XTAL悬空,4.5.7 时钟发生器模块寄存器,HCS08单片机中和时钟发生器模块相关的寄存器有以下6个,具体说明请看课本P5963: ICG控制寄存器1(ICGC1); ICG控制寄存器2(ICGC2); ICG状态寄存器1(ICGS1); ICG状态寄存器2(ICGS2); ICG滤波寄存器(ICGFLTH和ICGFLTL); ICG微调寄存器(ICGTRM)。 单片机中所有的功能模

11、块都有配套的寄存器,这些寄存器负责设置功能模块的各种参数。,4.5.8 时钟发生器模块设置举例,(1)重要的计算表格 : ICGOUT频率fICGOUT计算表,1 确保fICGDCLK fICGOUT * R不超过极限值fICGDCLKmax40MHz。,(1)重要的计算表格 : MFD和RFD编码表,(2) ICG设置的步骤,第一步:根据功耗、时钟频率精度、时钟频率范围、成本选择合适的工作模式; 第二步:根据总线频率确定ICGOUT频率; 第三步:根据ICGOUT频率选择合适的P、N、R值; 第四步:根据工作模式和P、N、R值设置ICG的各个寄存器。,(3) ICG设置举例 :例子1,FEI

12、应用,fIRG243kHz,fBUS8MHz。 分析: fICGOUT = 2*fBUS=16MHz, fICGOUT= (fIRG / 7)*P*N/R,其中fIRG243kHz =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。只读,在执行对时钟要求严格的任务时,需要确认DCOS1 ICGFLTLU/L

13、= $xx。在本模式中无效。,(3) ICG设置举例 :例子1,FEI应用,fIRG243kHz,fBUS8MHz。 汇编代码如下所示: LDA #$28 STA ICGC1 LDA #$51 STA ICGC2 BRCLR ICGS1_ LOCK,ICGS1,* ;等待锁频环锁定输出时钟,(3) ICG设置举例 :例子2,FBE应用,fext8MHz,fBUS4MHz。 分析: fICGOUT = 2*fBUS=8MHz, fICGOUT= fext / R, R=fICGOUT/ fext= 1, 另外由于外部晶振的频率为8MHz,属于高频晶振,因此选择P=1。 和ICG相关的寄存器设置如

14、下: ICGC1 = $70 (%01110000)。 ICGC2 = $00 (%00000000) 。 ICGS1 = $xx。只读,清中断标志位除外。 ICGS2 = $xx。只读,在执行对时钟要求严格的任务时,需要确认DCOS1。 ICGFLTLU/L = $xx。在本模式中无效。 ICGTRM = $xx。在本模式中无效。,(3) ICG设置举例 :例子2,FBE应用,fext8MHz,fBUS4MHz。 汇编代码如下所示: LDA #$70 STA ICGC1 LDA #$00 STA ICGC2 BRCLR ICGS1_ERCS,ICGS1,* ;等待外部的晶振时钟稳定下来,4.

15、6 实操训练:时钟电路的静态测试(续),CodeWarrior软件 MC9S08AC16 通用功能板,1块/人 BDM工具,1个/人 万用表,1只/人 示波器,1台/人,4.6.1 任务所需工具,4.6 实操训练:时钟电路的静态测试,4.6.2 静态测试注意事项,确保放置实验板的区域没有其他的东西;确保实验台和双手是干燥的。 用数字万用表测试电压时需要选择用交流挡还是直流挡,还要正确选择其量程;用模拟万用表测试直流电压时还需要分清正负极,红笔接正极,黑笔接负极。 实验板通电后不要用手触摸和N端、L端、L1端连通的裸露部分,否则将触电。,4.6.3 实验步骤,步骤4:用BDM向单片机写入蜂鸣器控

16、制程序SoundAlarm.mcp,观察现象,用示波器观察并记录蜂鸣器1的控制三极管的基极波形,把结果记录在课本的表4-18中,波形图必须标出振幅和周期。 程序简单说明: 本程序使ICG模块工作于FBE模式,并形成4MHz的总线频率。 蜂鸣器驱动脉冲频率为4KHz的,蜂鸣器1控制引脚PTC2的电平跳变频率为8KHz(构造一个方波信号需要两次跳变)。 由于暂时没有启用定时器的功能,故只能在主程序的主循环中构造具有500个时钟周期T的延时(4M/8K=500)。 使PTC2的电平跳变由以下三行语句的程序段实现: LDA PTCD EOR #$04 STA PTCD 执行这段程序的时间间隔为:323

17、3(233)613502T,这个时间间隔和我们要求的500T基本吻合。,4.6.3 实验步骤,步骤5:选择16MHz的外部晶振,观察现象,用示波器观察并记录蜂鸣器1的控制三极管的基极波形,把结果记录在课本表4-18中,波形图必须标出振幅和周期,比较前后两次的不同。 步骤6:修改蜂鸣器控制程序,把蜂鸣器驱动脉冲的频率改为1500Hz。,4.7 知识链接2:存储器管理,4.8 知识链接3:指令寻址方式,4.8.1 指令寻址方式的定义,一条指令一定存在操作码,一般也存在操作数。操作码控制CPU执行一定的操作,而这些操作需要使用的数据就是操作数。操作码在程序计数器PC所指向的FLASH中可以获得,而操

18、作数也需要通知CPU按照一定的方式取得,这就叫做“寻址方式”。 寻址方式是由操作数的获取方式决定,和操作码无关。,4.8.2 指令寻址方式的种类,4.9 实操训练:声光报警器程序设计,CodeWarrior软件 MC9S08AC16 通用功能板,1块/人 BDM工具,1个/人,4.9.1 任务所需工具,4.9 实操训练:声光报警器程序设计,4.9.2 静态测试注意事项,确保放置实验板的区域没有其他的东西;确保实验台和双手是干燥的。 实验板通电后不要用手触摸和N端、L端、L1端连通的裸露部分,否则将触电。,4.9.3 实验步骤,步骤7:用BDM向单片机写入LED控制程序LightAlarm.mc

19、p,观察现象。本程序主要的特点是引进了表格。 数据表格的建立 LedControlTbl ; LED控制表格 FCB %11111110 ; 表格的0号元素,已知地址为$C000 FCB %11111101 ; 表格的1号元素 FCB %11111011 ; 表格的2号元素 FCB %11110111 ; 表格的3号元素 数据表格的访问。访问数据表格时可以用扩展寻址方式,也可以用带16位偏移量的变址寻址方式(IX2),后者在遍历时经常被使用。 扩展寻址示例: LDA LedControlTbl+1 ;相当于LDA $C001 STA PTBD ;PTBD=%11111101 带16位偏移量的变址寻址方式(IX2)示例: LDX #2T LDA LedControlTbl,X ;相当于LDA LedControlTbl+2 STA PTBD ;PTBD=%11111011,4.9.3 实验步骤,步骤8:按照课本图4-3-10所示的流程图,把蜂鸣器控制程序SoundAlarm.mcp和LED控制程序LightAlarm.mcp整合后形成新的控制程序SoundLightAlarm.mcp,使蜂鸣器鸣叫的同时LED也循环点亮。 步骤9:修改单片机控制程序,使蜂鸣器时叫时停,且叫的时候灯一直亮,蜂鸣器不叫的时候,灯闪烁。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1