导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→求助

* 52520: 求助

   luvkcer 
luvkcer发表的帖子 

 求助
本人采用8253做计数器,想实现8253的t1和t2口做为计数器,其中当编码器产生2000个脉冲时在t1的clk1产生1个脉冲从而实现t1计整圈,t2计不足一圈时的脉冲数,初次设计但仍有许多不解之处,从资料上看应采用方式0(计数结束中断方式),t2计数到后,out为高直至重新写入新的控制字,但是这样写我觉得可能会有数据丢失,而且高位即脉冲数不是设想的整数圈有哪能位高手帮忙一下不胜感激。


tsde equ 50h
org 0000h
  jmp starrt
org 0030h
starrt:
   mov r0,#00h
   mov tsde,#00h
start:
  mov dptr,#5fffh;8253选中
  mov a,#0b0h; 方式0计数方式:0b0h 10110000
  movx @dptr,a
  mov a,#0d0h
  mov dptr,#5ffeh
  movx @dptr,a
  mov a,#07h
  movx @dptr,a
main:
  mov a,80h;00000000b;闩锁读数
  mov dptr,#5fffh
  movx @dptr,a
  mov dptr,#5ffeh
  movx a,@dptr
  mov r2,a
  movx a,@dptr
  mov r3,a
  mov a,r3           ;r2,r3为不足一圈数
  cjne r3,#0ffh,main ;2000脉冲后重新加载
   mov a,tsde
   inc a
   mov tsde,a         ;50h 为整圈数,此处也用用8253的t1计数    
   ljmp start
 end

[img]c:\my documents\8253.bmp[/img]


发表时间:2004年4月13日13:56:35

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:也给我一份好吗谢谢了,ctj4291@hotmail.com
[下一篇帖子]:为什么我的程序一到串口中断中就死机了,但串口还可以发送接收,堆栈没错,也没其他的中断啊,也没用看门狗