实验六 单片机定时计数器实验_第1页
实验六 单片机定时计数器实验_第2页
实验六 单片机定时计数器实验_第3页
实验六 单片机定时计数器实验_第4页
实验六 单片机定时计数器实验_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

实验六单片机定时计数器实验第一页,共四十三页,编辑于2023年,星期二二、实验器材1、计算机1台。2、单片机实验箱1台3、TKS仿真器1台4、串口通讯线1根5、单片机学习板1块第二页,共四十三页,编辑于2023年,星期二三、实验原理

1、定时/计数器的结构第三页,共四十三页,编辑于2023年,星期二2、定时器控制寄存器TCOND7D6D5D4D3D2D1D0TCON88HTF1TR1TF0TR0IE1IT1IE0IT08F8E8D8C8B8A8988位地址外部中断标志和触发方式0:无Tx中断(硬件复位)1:有Tx溢出中断0:停Tx计数1:启Tx计数TFx:TRx:定时器启停和标志TCON:用于控制定时器的启动与停止,中断标志。第四页,共四十三页,编辑于2023年,星期二3、定时器工作方式寄存器TMODTMOD:用于设置T/C的工作方式。GATEM1M0M0M1GATEC/T0C/T1M1M0:T/C工作方式定义位。=1时为计数方式=0时为定时方式89HGATA:定时/计数器启动控制位。TMOD第五页,共四十三页,编辑于2023年,星期二M1M0工作方式方式说明00013位定时/计数器01116位定时/计数器102可自动重装入的8位定时/计数器113T0分为2个8定时器,T1无此方式4、定时/计数器的工作方式GATEM1M0M0M1GATETMOD第六页,共四十三页,编辑于2023年,星期二5、定时/计数初值的计算方法计数方式的初值计算:

假设需要的计数值为N,则应装入的计数初值为:

X=M-N

(M

:模数,为216、213、28、N:需要的计数值)定时方式的初值计算:

假设需要的需要的定时时间为T,则应装入的计数初值为:第七页,共四十三页,编辑于2023年,星期二(1)确定工作方式,即对TMOD寄存器进行赋值。(2)计算计数初值,并写入寄存器TH0、TL0或TH1、TL1中。(3)根据需要,置位ETx允许T/C中断。(4)置位EA使CPU开中断(需要时)。(5)置位TRx启动计数。可编程器件在使用之前需要进行初始化。对定时/计数器而言需:第一要能正确写入控制字;第二能进行计数初值的计算。一般步骤6、定时/计数器的初始化第八页,共四十三页,编辑于2023年,星期二例:

若单片机的晶振频率为6MHz,要求定时/计数器T0产生100ms的定时,试确定计数初值以及TMOD寄存器的内容。解:当晶振频率为6MHz时,在不扩展计数器情况下产生100ms的定时只能采用方式1(16位定时器)。计数初值:TC=M-T/T计数T计数=2μSTC=216-100×103/2

=65536-50000=15536

=3CB0H方式0时:Tmax=213×2μS=16.384mS方式1时:Tmax=216×2μS=131.072mS方式2、3时:Tmax=28×2μS=0.512mS第九页,共四十三页,编辑于2023年,星期二

对于T0来说:M1M0=01、=0、GATE=0。由于T1不用,可任意设置,现取为全0。所以:TMOD=0000,0001B=01H设置TMOD方式字:GATEM1M0M0M1GATEC/T0C/T189HTMOD第十页,共四十三页,编辑于2023年,星期二1、定时器实验1:

利用定时器T0实现P1.0输出周期为250ms方波,让一个发光二极管闪烁。(课内)2、定时器实验2:

在实验箱显示器上显示左移的数字“8”,要求每过1秒“8”字左移一位,循环不断。(课内)3、计数器实验1:CT0计数满3之后(即输入了3个外部脉冲之后),使显示器上显示字符“8”左移一位。如此不断重复。(课内)4、程序移植实验

修改以上程序,移植到学习板(课内)5、利用Proteus软件仿真以上三个实验(课外)四、实验内容第十一页,共四十三页,编辑于2023年,星期二(1)寄存器设置及初值计算1、定时器实验1:利用定时器T0实现P1.0输出周期为250ms方波,让一个发光二极管闪烁。125ms125ms若要产生周期为250ms的方波,只要每125ms将信号的幅值由0变到1或由1变到0即可,可采用取反指令CPL来实现。为了提高CPU的效率,可采用定时中断的方式,每125ms产生一次中断,在中断服务程序中将输出信号取反即可。定时器T0的中断入口地址为000BH。频率是6MHz,机器周期为2uS(课内完成)第十二页,共四十三页,编辑于2023年,星期二T0采用定时方式1,初值X1=65536-125*1000/2 =0BDCH①计算定时初值:②确定TMOD方式字:M1M0=01H、=0、GATE=0TMOD=00000001B=01H第十三页,共四十三页,编辑于2023年,星期二(2)、实验线路连接(课内完成)第十四页,共四十三页,编辑于2023年,星期二(3)单片机输入输出汇编程序设计与修改(课内完成)修改程序,使用定时器T1实现125ms定时第十五页,共四十三页,编辑于2023年,星期二(4)单片机输入输出C51程序设计与修改(课外完成)修改程序,使用定时器T1实现125ms定时第十六页,共四十三页,编辑于2023年,星期二(5)修改汇编和C51程序,移植到学习板(课内完成)学习板发光二极管送0亮,实验箱送1亮,因为要求闪烁,故而可以忽略此处电路不同。学习板晶振频率12Mhz,实验箱晶振6Mhz,故而在初值相同情况下,学习板上定时时间是62.5ms,直接下载实验箱原程序led闪烁更快。第十七页,共四十三页,编辑于2023年,星期二(6)、Proteus仿真仿真系统元器件参数:器件名称英文名称参数备注单片机AT89C52电容CAP30pF电解电容CAP-ELEC22uF发光二极管LED-BLUE10mA电阻RES10kΩ晶振CRYSTAL12Mhz按键BUTTON(课外完成)第十八页,共四十三页,编辑于2023年,星期二输入输出实验仿真图将移植到学习板程序下载到本系统运行,可以观察到L1闪烁第十九页,共四十三页,编辑于2023年,星期二2、定时器实验2:在实验箱显示器上显示左移的数字“8”,要求每过1秒“8”字左移一位,循环不断。(1)寄存器设置及初值计算频率是6MHz,机器周期为2uS,16位的定时器最大定时时间仅为Tmax=2×65536=131.072mS。如果要求每过1秒左移“8”字一位,就必须进行定时时间扩展。T0每隔100ms中断一次,中断10次即实现了1秒的定时。

(课内完成)第二十页,共四十三页,编辑于2023年,星期二T0采用定时方式1,初值X1=65536-100*1000/2 =3CB0H①计算定时初值:②确定TMOD方式字:M1M0=01H、=0、GATE=0TMOD=00000001B=01H第二十一页,共四十三页,编辑于2023年,星期二(2)单片机中断实验汇编程序设计与修改(课内完成)修改1:用T1定时2秒。修改2:显示0-F左移。第二十二页,共四十三页,编辑于2023年,星期二(3)单片机中断实验C51程序设计与修改(课外完成)第二十三页,共四十三页,编辑于2023年,星期二修改1:用T1定时2秒。修改2:显示0-F左移。第二十四页,共四十三页,编辑于2023年,星期二(4)修改汇编和C51程序,移植到学习板(课内完成)移植到学习板,注意以下几个问题:实验箱上字型码地址8004H,字位码地址8002H,而学习板上字型码使用P0口,字位码使用P2口;实验箱采用总线结构,故汇编使用DPTR及MOVX传字型码和字位码,而学习板使用非总线结构,直接只用MOV传送;实验箱上是共阴极数码管,字型码使用原码,字位码经过非门,1亮0不亮。学习板使用共阳极数码管,字型码使用反码,字位码经过非门,0亮1不亮。学习板晶振频率12Mhz,实验箱晶振6Mhz,故而在初值相同情况下,故而延时时间为50ms,故而需要定时20次才满足1秒第二十五页,共四十三页,编辑于2023年,星期二输入输出移植实验_汇编程序(课内完成)修改1:用T1定时2秒。修改2:显示0-F左移。第二十六页,共四十三页,编辑于2023年,星期二输入输出移植实验_C51程序(课外完成)修改1:用T1定时2秒。修改2:显示0-F左移。第二十七页,共四十三页,编辑于2023年,星期二输入输出移植实验_C51程序(课外完成)第二十八页,共四十三页,编辑于2023年,星期二(5)、Proteus仿真仿真系统元器件参数:器件名称英文名称参数备注单片机AT89C52电容CAP30pF电解电容CAP-ELEC22uF7段数码管7SEG-MPX8-CA-BLUECA是共阳CC是共阴电阻RES10kΩ晶振CRYSTAL12Mhz按键BUTTON(课外完成)第二十九页,共四十三页,编辑于2023年,星期二输入输出实验仿真图将移植到学习板程序下载到本系统运行第三十页,共四十三页,编辑于2023年,星期二3、计数器实验1:CT0计数满3之后(即输入了3个外部脉冲之后),使显示器上显示字符“8”左移一位。如此不断重复。(1)寄存器设置及初值计算计数个数较少,选带自动重装的的计数方式2。计数器T0的中断入口地址为000BH。(课内完成)第三十一页,共四十三页,编辑于2023年,星期二T0采用计数方式2,初值X1=256-3=253=FDH①计算计数初值:②确定TMOD方式字:M1M0=10H、=1、GATE=0TMOD=00000110B=06H第三十二页,共四十三页,编辑于2023年,星期二(2)、实验线路连接(课内完成)第三十三页,共四十三页,编辑于2023年,星期二(3)单片机中断实验汇编程序设计与修改(课内完成)修改1:每5个脉冲移动一位。修改2:用T1计数。第三十四页,共四十三页,编辑于2023年,星期二(4)单片机中断实验C51程序设计与修改(课外完成)第三十五页,共四十三页,编辑于2023年,星期二修改1:每5个脉冲移动一位。修改2:用T1计数。修改3:统计脉冲个数。第三十六页,共四十三页,编辑于2023年,星期二(5)修改汇编和C51程序,移植到学习板(课内完成)移植到学习板,注意以下几个问题:实验箱上字型码地址8004H,字位码地址8002H,而学习板上字型码使用P0口,字位码使用P2口;实验箱采用总线结构,故汇编使用DPTR及MOVX传字型码和字位码,而学习板使用非总线结构,直接只用MOV传送;实验箱上是共阴极数码管,字型码使用原码,字位码经过非门,1亮0不亮。学习板使用共阳极数码管,字型码使用反码,字位码经过非门,0亮1不亮。学习板按键有抖动,可以采用实验箱脉冲,也可以使用555振荡电路输出的7-1400Hz脉冲信

温馨提示

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

评论

0/150

提交评论