备用 11 定时器中断与蜂鸣器程序设置_第1页
备用 11 定时器中断与蜂鸣器程序设置_第2页
备用 11 定时器中断与蜂鸣器程序设置_第3页
备用 11 定时器中断与蜂鸣器程序设置_第4页
备用 11 定时器中断与蜂鸣器程序设置_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

定时器中断

与蜂鸣器程序设置一、窗机控制板的硬件构成电源5V晶振8MHZ(四分频后内部总线频率为2MHZ)控制板上用的是05系列的SR3芯片座(40个管脚),08系列的JL3芯片(28个管脚)通过过渡板(4094芯片)连接到SR3芯片座上,我们针对JL3芯片编程二、控制电路原理图复位处理清变量区检查是否需要自检,产生标记复位处理(给寄存器初始化)清变量区检查是否需要自检,产生标记基本参数设置(给相关变量赋初始)主控程序公共部分:读键、跳线、开关机检查主程序流程控制:转各子程序自检程序:self_test读传感器:Read_snsr外设控制:Cntrl_OP处理显示:Display_hdl外时钟:Timing_OP主输出:Main_drv外中断处理:Int_receive溢出中断:T_overflw_int初识平台程序查找T_overflw_int、Off_bp、Beep_ctrl、TIME_FL定时器模块形成计时的基准时钟溢出中断内部总线频率为2M,分频系数为1,计数器计数脉冲周期则为0.5uS每秒中断8000次,则溢出中断周期为125uS则计数模数初值(预置寄存器的值)是250BitD7D6D5D4D3D2D1D0TOFTOIETSTPTRSTPS2PS1PS0功能描述溢出标志。当定时器的计数达$FFFF(自由运行状态)或计到预置计数值时,定时器的计数器溢出且清零,同时该位置1溢出中断允许。发生溢出时,系统可执行溢出中断处理程序,该位置0表示禁止溢出中断。该位可读可写,读取的数值就是该位的实际值计数控制,该位为1停止计数,0恢复计数清除计数器的计数值,写入1清除。计数器清除时也清除该位,0无影响-分频系数。共同设置定时器的分频系数:000

表示分频系数为1;001

表示分频系数为2;010

表示分频系数为4;011

表示分频系数为8;100

表示分频系数为16;101

表示分频系数为32;110

表示分频系数为64;111

保留,暂未使用。状态与控制寄存器TSC定义定时溢出中断即是定时器的计数溢出操作,实际上是一个软件定时器,不需要使用定时器的I/O引脚,只需开放定时器的溢出中断即可定时溢出中断功能每个定时器都有一个16位预置计数值寄存器TMOD,分为两个8位寄存器TMODH和TMODL。a.预置计数值寄存器是动态计数的,由两个8位计数器构成1个16位计数器。它的值可随时读出。b.自由运行计数器TCNT(TCNTH:TCNTL)自由运行计数:不需要预置任何计数初值,但能完成的时间有限,通常很少使用,定时的时间为$FFFF个总线周期。

计数模式预置计数方式:由用户向TMOD寄存器写入一个数,预置值在$0000~$FFFF之间的任意值,从而获得任意要求的定时时间。c.计数模式

自由运行计数器TCNT从0000开始在计数脉冲控制下进行加1计数,比较器时刻将TCNT的值与TMOD值相比较,当它们相等时,立即产生一个溢出脉冲。d.定时器工作过程

复位TCNT,让它从0000开始重复计数;

置TOF位为1,如中断允许并开放,向CPU申请中断服务。溢出脉冲作用:如果CPU响应中断,在中断服务子程序中首先要清除TOF为0,避免一次溢出引多次中断,然后,再处理中断服务。tips训练一

;溢出中断处理T_overflw_intPSHH

BCLR7,TSCR

MOV#tscr_init,TSCR;溢出中断,1分频

MOV#tmodh_init,TMODH

MOV#tmodl_init,TMODL

;$FA=250,8000次中断/每秒

BRCLR2,TIME_FL,Rmt_pls利用仿真软件,测试中断溢出周期如果把分频系数改为2,则tmod的值如何改变?利用仿真软件进行验证。如果仅对分频系数和tmod两个值之一进行修改,注意蜂鸣器鸣叫有什么变化?蜂鸣器处理规格为4KHZ接A口的bit5DDRA的值?蜂鸣器处理计时标记TIME_FLBeep_on

BSET2,TIME_FL;响蜂鸣器标记练习二把该行语句注释掉,烧录程序,观察有何变化?;溢出中断处理;---------------T_overflw_intPSHHBCLR7,TSCRMOV#tscr_init,TSCR

;溢出中断,1分频

MOV#tmodh_init,TMODHMOV#tmodl_init,TMODL

;$FA=250,8000次中断/每秒

BRCLR2,TIME_FL,Off_bp;蜂鸣器发声;---------------LDAPORTAEOR#%00100000;形成脉冲的翻转,两次中断得到一个周期的脉冲,频率为4KHZSTAPORTA

BRARmt_pls;---------------;蜂鸣关闭;---------------

Off_bpBCLR5,PORTA;-----------------------------------------------

Rmt_plsTSTRESM_DLY………….练习三LDAPORTAEOR#%00100000把#%00100000改为#%00000000,重新烧录,再观察现象?并思考为什么?蜂鸣处理完Beep_off

BCLR2,TIME_FLBCLR5,PORTA……..如果注释掉BCLR2,TIME_FL,会出现什么现象?思考为什么?练习四练习五Init_setupCLRPORTDMOV#init_mode,RUN_MODELMOV#init_temp,SET_TMPMOV#init_spd,MIX_FLAGMOV#%00100000,BEEP_CNT

MOV

温馨提示

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

评论

0/150

提交评论