Ht47AD转换器应用

发布者:chaochen最新更新时间:2018-01-26 来源: eefocus关键字:Ht47  AD转换器 手机看文章 扫描二维码
随时随地手机看文章

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
;---------------------------------


关键字:Ht47  AD转换器 引用地址:Ht47AD转换器应用

上一篇:HT47I_O口应用
下一篇:HT47蜂鸣器应用

推荐阅读最新更新时间:2024-03-16 15:53

挂蜡机控制器设计
1 控制器功能     挂蜡机控制器是根据用户对系统的要求研发而成的。该产品是膛体在出厂、封存时,需要在膛体内表面均匀涂一层防护蜡,采用人工操作费时费力,需要的劳动力较多,增加了企业的经济负担。基于此,挂蜡机运用单片机控制技术,采用选择性一键式操作,自动完成蜡加温、保温、挂蜡全部过程。简单快捷完成挂蜡任务,解放了生产劳动力,有利于企业经济发展。 2 技术指标     ●蜡加温的温度:最高120℃;     ●蜡保温的温度;95℃~100℃;     ●膛体内挂蜡厚度:1~2毫米;     ●一键操作,整个挂蜡过程全部自动完成;     ●可对温度和时间等进行设定。 3 功能分析     膛体的出厂、封存是与其它相关部分形成一套完整设
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved