全球旧事资料 分类
中断服务程序中修改代码,PUSHA和POPA,保证通道数不丢失。检测参考电压的值,为4995V,不用修正。计算检查AD结果是否正确。
六.源代码
ORG0000HLJMPSTARTORG0003HLJMPINTORG0040HSTARTMOVSP60HMOVR30FFHMOVR10A0HMOVR000HMOVDPTR7FF8HKEYBORDMOVP10FFHMOVAP1CPLAJBACC5CH5JBACC6CH6JBACC7CH7CH0:MOVA00HSJMPMAINCH1:MOVA01HSJMPMAINCH2:MOVA02HSJMPMAINCH3:MOVA03HSJMPMAINCH4:MOVA04HSJMPMAINCH5:MOVA05HSJMPMAINCH6:MOVA06HSJMPMAINCH7:MOVA07HMAINMOVXDPTRA启动A_DSETBIT0开中断SETBEASETBEX0CJNER300HSTOP判断256个数据是否转换完毕,是则停止,否则原地等待中断CLRIT0
通道值设置
读取数据个数初始化片外储存数据首地址初始化地址键盘读取部分
JZKEYBORD是否全为0LCALLLOOPMOVAP1CPLAJZKEYBORDPUSHATHENMOVAP1CPLAANLA0FHJNZTHENLCALLLOOPPOPAJZKEYBORDJBACC0CH0JBACC1CH1JBACC2CH2JBACC3CH3JBACC4CH4
判断哪个通道
fINTPUSHA保存通道值MOVXADPTR读AD数据MOVDPHR1MOVDPLR0MOVXDPTRA将数据放到片外存储地址INCR0指向下一个单元DECR3数据个数减一POPA恢复通道值MOVXDPTRA再次启动A_DRETI返回中断
LOOP键盘消抖延时MOVR29FHMOVR70FFHMOVR60FFHLOOP1DJNZR6LOOP2DJNZR7LOOP2DJNZR2LOOP1RETSTOPSJMP
七.运行结果
500HZ104316V1V对应33;3V对应99
f250HZ0V对应00;2V对应66运行结果具有周期性,改变幅值和频率,都能从数值中看出。
008216V
八.实验心得
代码的编写与硬件的连接方式息息相关,就如这次试验,硬件连接没有通过373,则通道的选择方式和书上的例子不同。中断执行,一定要保护现场,这次没有注意这一点,没有对A值进行压栈,导致转化错误耽误了很久。
九.思考题
(1)内?有限制。0809接入的时钟频率是ALE信号经过两个D触发器后的结果,振荡频率12M,ALE则2M接入0809时钟信号500K赫兹。根据采样定理,采样频率要大于信号频率的两倍,否则失真。输入信号不能超过250K赫兹,否则转化速率跟不上信号速率,或失真。(2)如果要采集具有正负值的输入模拟信号,则应对实验板中的AD线路接法作哪些修正?在信号输入前,对其进行电平抬升。AD采样完之后处理数据。本实验中,对采样信号的频率有没有限制?若有,其频率应在什么范围
fr
好听全球资料 返回顶部