有人研究过PIC10F做的电容传感器吗

[复制链接]
 楼主| hbsun2007 发表于 2009-6-30 15:19 | 显示全部楼层 |阅读模式
MICROCHIP提供的汇编源程序我不太理解,有人能帮帮忙吗?<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movf&nbsp;&nbsp;&nbsp;&nbsp;tmr0,w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;high&nbsp;byte&nbsp;of&nbsp;value&nbsp;is&nbsp;stored&nbsp;in&nbsp;tmr0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movwf&nbsp;&nbsp;&nbsp;freqhi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;low&nbsp;value&nbsp;is&nbsp;still&nbsp;in&nbsp;the&nbsp;prescaler<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;freqhi=tmr0<br /><br />;&nbsp;To&nbsp;get&nbsp;the&nbsp;value&nbsp;from&nbsp;the&nbsp;prescaler&nbsp;(which&nbsp;is&nbsp;not&nbsp;directly&nbsp;readable),<br />;&nbsp;the&nbsp;clock&nbsp;source&nbsp;for&nbsp;tmr0&nbsp;is&nbsp;changed&nbsp;to&nbsp;Fosc/4.<br />;&nbsp;Next&nbsp;the&nbsp;value&nbsp;of&nbsp;tmr0&nbsp;is&nbsp;observed.&nbsp;The&nbsp;time&nbsp;is&nbsp;takes&nbsp;for&nbsp;the&nbsp;next<br />;&nbsp;increment&nbsp;is&nbsp;an&nbsp;indication&nbsp;of&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;prescaler.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;movlw&nbsp;&nbsp;&nbsp;b'11010111'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;change&nbsp;clock&nbsp;source&nbsp;to&nbsp;Fosc/4<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;内部指令周期时钟&nbsp;FOSC/4上的电平变化<br /><br />measureprescaler<br />&nbsp;&nbsp;&nbsp;incf&nbsp;&nbsp;&nbsp;&nbsp;freqlo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;was&nbsp;initialised&nbsp;to&nbsp;255&nbsp;and&nbsp;set&nbsp;to&nbsp;0&nbsp;here&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;freqlo+1=0<br />&nbsp;&nbsp;&nbsp;movf&nbsp;&nbsp;&nbsp;&nbsp;tmr0,w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;get&nbsp;the&nbsp;current&nbsp;value&nbsp;of&nbsp;tmr0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;w=tmr0<br />&nbsp;&nbsp;&nbsp;xorwf&nbsp;&nbsp;&nbsp;freqhi,w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;compare&nbsp;it&nbsp;with&nbsp;the&nbsp;original&nbsp;value&nbsp;of&nbsp;&nbsp;&nbsp;tmr0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;w与freqhi作逻辑异或运算<br /><br />&nbsp;&nbsp;&nbsp;btfsc&nbsp;&nbsp;&nbsp;status,z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;did&nbsp;tmr0&nbsp;increment?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;测试status中的位z,为0&nbsp;则跳过<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;if(tmr0!=freqhi)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;goto&nbsp;&nbsp;&nbsp;&nbsp;measureprescaler&nbsp;;&nbsp;no,&nbsp;loop&nbsp;and&nbsp;increment&nbsp;freqlo<br /><br />8位的定时器,他的那个计数器的高低字节是怎么算的<br />
yewuyi 发表于 2009-6-30 15:58 | 显示全部楼层

电容传感器?

是测量电容值把?!
 楼主| hbsun2007 发表于 2009-6-30 19:49 | 显示全部楼层

差不多吧

测量频率来达到测量电容的效果,具体的MICROCHIP官方网站上有解决方案,但我对于它的汇编语言不是很了解
xieyuanbin 发表于 2009-7-1 09:29 | 显示全部楼层

你的程序断章取义

&nbsp;movf&nbsp;&nbsp;&nbsp;&nbsp;tmr0,w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;get&nbsp;the&nbsp;current&nbsp;value&nbsp;of&nbsp;tmr0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;w=tmr0<br />&nbsp;&nbsp;&nbsp;xorwf&nbsp;&nbsp;&nbsp;freqhi,w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;compare&nbsp;it&nbsp;with&nbsp;the&nbsp;original&nbsp;value&nbsp;of&nbsp;&nbsp;&nbsp;tmr0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;w与freqhi作逻辑异或运算<br />这两句,与下列程序等价:<br />&nbsp;movf&nbsp;tmr0,w<br />&nbsp;subwf&nbsp;freqhi,w<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

87

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部