历史上的今天
返回首页

历史上的今天

今天是:2025年01月26日(星期日)

2018年01月26日 | Ht47AD转换器应用

2018-01-26 来源:eefocus

Ht47AD转换器应用

include ht47c20.inc
data .section 'data'
Rs equ 0064h
n db ?
count db ?
kh db ?
kl db ?
th db ?
tl db ?
int_count db ?
;----------------------------


code .section at 0 'code'
 org 00h
 jmp start
 org 04h
 reti
 org 08h
 reti
 org 0ch
 reti
 org 10h
 jmp t_int
;----------------------------
start: clr iNTC0
 clr intc1
 clr adcr
 set adcr.1  ;A/D转换允许
  MOV a,0fh  ;TIMER A计数系统时钟
 andm a,tmrc
 set adcr.4  ;TIMER B计数传感器电阻-参考电容
 set adcr.5
 clr aCC  ;定时/计数器初值
  MOV tmral,a
  MOV tmrah,a
  MOV tmrbl,a
  MOV tmrbh,a
 clr int_count ;中断次数计数器
 set tmrc.4  ;开定时/计数器
 set intc1.0  ;定时/计数器中断允许
 set intc0.0  ;总中断允许
 jmp $
;----------------------------
t_int: inc int_count ;定时/计数器中断服务子程序
  MOV a,int_count ;中断次数判断
  MOV count,a
 sdz count
 jmp next
 jmp int1
next: sdz count
 jmp int3
 jmp int2
;----------------------------
int1: MOV a,tmrbh  ;第一次中断
  MOV kh,a  ;读取TIMER B的值,记为KRT0CS
  MOV a,tmrbl
  MOV kl,a
 clr n
 clr tblp
sCAN_tab:   ;查表,确定n的值
 tabrdl acc
 sub a,kl
  MOV a,tblh
 sbc a,kh
 inc n
 inc tblp
 sz c
 jmp scan_over
 jmp scan_tab
scan_over:
 dec n
 ;----------
 ; MOV a,08h
 ;subm a,n
 ;----------
  MOV a,high Rs
  MOV kh,a
  MOV a,low Rs
  MOV kl,a
  MOV a,n
  MOV count,a
 sz count  ;判断n是否为0
 jmp div  ;n不为0,则进行除法操作
 jmp div_over ;n为0,则不进行除法操作
div: clr c  ;除法操作
 rrc kh
 rrc kl
 sdz count
 jmp div
div_over:
 clr acc  ;TIMER A计数初值为0
  MOV tmral,a
  MOV tmrah,a
  MOV a,0ffh  ;TIMER B计数初值为65536-KRTCS
 sub a,kl
  MOV tmrbl,a
  MOV a,0ffh
 sub a,kh
  MOV tmrbh,a
 set adcr.0  ;TIMER B溢出作为中断
 set tmrc.4
 reti 
;----------------------------
int2: MOV a,tmrah  ;第二次中断
  MOV th,a  ;读取TIMER A的值,记为T0
  MOV a,tmral
  MOV tl,a
 clr adcr.0  ;TIMER A溢出作为中断
 clr adcr.5  ;TIMER B计数参考电阻-参考电容
  MOV a,0ffh  ;TIMER A计数初值为65536-T0
 sub a,tl
  MOV tmral,a
  MOV a,0ffh
 sub a,th
  MOV tmrah,a
 clr acc  ;TIMER B计数初值为0
  MOV tmrbl,a
  MOV tmrbh,a
 set tmrc.4
 reti
;----------------------------
int3: MOV a,tmrbh  ;第三次中断
  MOV kh,a  ;读取TIMER B的值,记为KRSCS
  MOV a,tmrbl
  MOV kl,a
  MOV a,n
  MOV count,a
 sz count  ;判断n是否为0
 jmp mul  ;n不为0,则进行 乘法操作
 jmp mul_over ;n为0,则不进行乘法操作
mul: clr acc  ;乘法操作
 rlc kl
 rlc kh
 sdz count
 jmp mul
mul_over:
 call display
 clr adcr.0  ;TIMER A溢出作为中断
 set adcr.5  ;TIMER B计数传感器电阻-参考电容
 clr acc  ;定时/计数器初值
  MOV tmral,a
  MOV tmrah,a
  MOV tmrbl,a
  MOV tmrbh,a
 clr int_count ;清除中断次数计数器
 set tmrc.4
 reti
;----------------------------
display proc   ;显示子程序
 ret
display endp
;----------------------------
 org 700h
tab: dc 100h,200h,400h,800h,1000h,2000h,4000h,8000h,0ffffh


;------------------------------------------------------------

include ht47c20.inc
data .section 'data'
count1 db ?
count2 db ?

code .section at 0 'code'
 org 00h
 jmp start
 org 04h
 reti
 org 08h
 reti
 org 0ch
 reti
 org 10h
 jmp ad_int
;---------------------------------
start:
 clr intc0
 clr intc1
  MOV a,0fh
 andm a,tmrc
  MOV a,32h
  MOV adcr,a
 clr acc
  MOV tmral,a
  MOV tmrah,a
  MOV tmrbl,a
  MOV tmrbh,a
 set tmrc.4
 set intc1.0
 set intc0.0
 jmp $
;---------------------------------
ad_int: MOV a,tmrbh
  MOV count1,a
  MOV a,tmrbl
  MOV count2,a
 call calculate
 reti
;---------------------------------
calculate proc

 ret
calculate endp
;---------------------------------


推荐阅读

史海拾趣

Aten International公司的发展小趣事

在全球能源危机和环保意识日益增强的背景下,绿色能源成为了电子行业的一大发展趋势。Aten International积极响应环保号召,研发出了一系列绿色能源解决方案,包括智能型电源分配器和节能感测软件等。这些产品不仅能够有效降低能源消耗,还能提供实时的能源管理与效能指标,为企业实现绿色生产提供了有力支持。

Antiference公司的发展小趣事

Antiference公司最初以生产电磁屏蔽材料起家,但随着电子设备的普及和电磁干扰问题的日益严重,公司意识到单纯的材料生产已无法满足市场需求。于是,Antiference投入巨资研发新型电磁干扰抑制技术,成功开发出了一款能够显著降低电磁干扰的芯片。这款芯片迅速在市场上获得了广泛认可,Antiference也因此成为了电磁干扰抑制领域的领军企业。

ADI Electronics Inc公司的发展小趣事

随着技术的不断进步,ADI开始逐步拓展其产品线,从最初的运算放大器逐步扩展到信号处理、数据转换等多个领域。这些技术突破不仅巩固了ADI在电子行业的地位,也为其带来了更多的商业机会。同时,ADI始终保持着对新技术的高度关注,不断投入研发,确保公司在激烈的市场竞争中保持领先地位。

Geyer Electronic E K公司的发展小趣事

ADI在发展过程中始终坚持创新,不断推出新产品和新技术。例如,在数字化转型的浪潮中,ADI积极拥抱变革,推出了一系列针对物联网、人工智能等新兴领域的解决方案。这些创新举措不仅满足了客户的需求,也进一步巩固了ADI在电子行业的领先地位。

常州星海电子(Starsea)公司的发展小趣事

在拓展国内市场的同时,常州星海电子也积极开拓国际市场。公司的产品主要销往欧洲地区、美国和亚洲各国,是MOTOROLA、YAMAHA、Samsung、VTECH、LG、NOKIA等跨国公司的二极管供应厂家。国外销售量占公司总销售量的60%以上,这一成绩不仅体现了公司在国际市场上的竞争力,也为公司未来的发展奠定了坚实的基础。

台湾凌通(Generalplus)公司的发展小趣事
根据应用场合的光线变化范围和指示灯的响应要求,选择合适灵敏度的光敏元件。

问答坊 | AI 解惑

MMA7455加速度传感器相关资料(附玩MMA7455一周有感)

replyreload += \',\' + 367627;    本想做出点东西来后再发表的,不过现实总是残酷的,都一周了还没做出来,没作品分享,就只能分享些资料了。(无奈一下~呵呵)        注:以下隐藏内容为本人废话 ...…

查看全部问答>

用s3c2410实验板做SD卡实验,在写卡的时候出现了问题,希望SD卡高手能指点一下,谢谢

  我在做三星2410实验板上做SD卡试验,做到写卡的时候出现了错误,具体是这样 的,程序运行到下面这个if语句的时候就死循环了,之前卡的初始化都是成功的,在这死循环了,这段代码的作用是往卡数据寄存器里面写入发送缓冲区的数据,有高 ...…

查看全部问答>

WINCE5保存桌面文件

问一下 我的WINCE的HIVE注册表可以保存成功了 但是不能将文件放到桌面上.因为重启后桌面上的文件就没了..这是为何呀…

查看全部问答>

奇怪问题,一读文件,指针就改变了,大家帮忙看看

如下 //我传递了一个类对象的指针近进来 LoadForm(CFormInfo *pInfo) { //此时pInfo 值为0x1a04fd84 //--------------    R_Form_Info finfo;    memset(&finfo,0,sizeof(R_Form_Info));     m_RF.Seek(nFor ...…

查看全部问答>

关于STM8Sschematics电压

                                 STM8S schematics 的高低电势触发电压是多少?在哪个文档中有说明?…

查看全部问答>

求教>.<

    为什么场效应管的抗干扰能力比晶体管强?是因为输入电阻大还是别的什么结构特点?…

查看全部问答>

zstack-CC253002.3.0如何同时使用两个串口?我试过了,不行!

我在编译选项中,定义ZTOOL_P1和ZAPP_P2。默认串口0使用DMA方式,串口1使用中断方式。但发现有两个函数根本就没有实现,查遍了整个工程文件也没有找到。这两个函数分别是_hal_uart.c中的HalUARTInitISR(void)函数和HalUARTPoll(void)。我个人认为这 ...…

查看全部问答>

ISE 例化microblaze

我在EDK中用microblaze实现的功能是好的,下载到板子上也正确,但是把EDK作为ISE的子模块后,就没反应了。就是说,microblaze的引脚用和FPGA引脚相连接,功能能实现,若microblaze的引脚和FPGA内部网络连接,功能不能实现,好像是microblaze用FPGA ...…

查看全部问答>

努力

科技创新。成就未来…

查看全部问答>

求帮忙!!!!

简易楼道灯电费计价系统 城市居民楼内一般安装有楼道灯,方便夜间居民上下楼,其工作特点是人来灯亮,人走灯灭。以热释电型楼道灯为例,其基本工作原理是:热释电传感器能检测人体是否进入感应范围,当人体未进入感应范围,即离楼道灯还有一定距离 ...…

查看全部问答>