ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:17.24KB ,
资源ID:14766247      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14766247.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PIC单片机AD转换汇编程序文档格式.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PIC单片机AD转换汇编程序文档格式.docx

1、间接寻址FSR的起始值(宏定义方式给出)0RG 0X0000GOTO NfAIXORG 0X0008GOTO INTSERVE ;转向中断服务子程序*双字节减法子程序,入口地址ACCB-ACCA,出口地址ACCB* D_SUBCALL NEG_A ;求人“人的补码*衬双字节加法子程序,入口地址ACCB+ACCA,出口地址ACCB* D_ADDMOVF ACCALO, 0 ;ACCB和ACCA低半字节相加ADDWF ACCBLOBTFSC STATUS, C ;有进位否?INCF ACCBHI ;有,ACCB 高字节加I 1,再加 ACCAHIMOVF ACCAHI, 0 ;ACCA、ACCB

2、高半字节相加ADDWF ACCBHIRETURN ;子程序返回f*NEG_ACOMF ACCALO ;ACCALO 取反加 1INCF ACCALOBTFSC STATUS, Z ;低8位有进位吗?DECF ACCAHI ;有,ACCAHI 减 1,再取反COMF ACCAHI ;否则ACCAHI直接取反;* *初女台化子程序* * *CLRF INTCON ;禁止总中断和外围中断MOVLW 0X51MOVWF ADCONO ;选择AD通道为RA2,且打开A/D转换器;在工作状态,且使AD 转换时钟为SToscMOVLW 0X80MOVWF ADC0N1 ;转换结果右移,即ADRESH寄存器的

3、高6 ;位为0,且把RA2口设置为模拟量输入式(注意后面要把RA5改成数据I/O方式,以输出显示琐存信号)BCF PIR1, ADIF ;清除A/D转换标志BSF PIE1,ADIE ;A/D转换中断允许BSF INTCON, PEIE ;外围中断允许BSF IPR1,ADIP ;B 口变位中断高优先级BSF RCON, 7 ;使能中断优先级BSF TRISA, 2 ;设置RA2为输入方式BCF TRISA, 5 ;置RA3为输出方式,以输出锁存信号BCF TRISC,5BCF TRISC, 3 ;设置SCK与SDO为输出方式MOVLW OXCOMOVWF SSPSTAT ;设置 SSPSTA

4、T 寄存器MOVLW 0X30MOVWF SSPCON1 ;设置SPI的控制方式,允许SSP方式,并;且时钟下降沿发送, 与74HC595当其SCLK从低到高电平跳变时,串行输入数据(DI)移入寄存器的特点相应CLRF FLAGRETURN* * 软件延时子程序 * *DELAYMOVLW OXFFMOVWF DEYHAGAIN1 MOVLW OXFFMOVWF DEYLAGAIX2 NOPDECFSZ DEYLGOTO AGAIN2DECFSZ DEYHGOTO AGAIN1* a/D 中断服务子程序* INTSERVEBCF PIR1,ADIF ;MOVF ADRESH,WMOVWF IN

5、DFO ;读取并存储A/D转换结果的高两位INCF FSROLMOVF ADRESL,WMOVWF INDFOINCF FSROL ;读取并存储A/D转换结果的低8位DECF TIMES, 1 ;A/D 转换次数减 1MOVLW 0X02MOVWF DEYLOOP13 DECFSZ DEY,1GOTO L00P13 ;给予一定的延时,保证两次A/D转换期间;2Tad的间隔时间和电容的采样时间BSF ADCONO, 2 ;启动下一次A/D转换RETFIE ;中断返回* led 闪烁报警子程序*ALARMMOVLW 0X01XORWF FLAG,1BTFSS FLAG,0CALL DISPLAYO

6、 ;调用显“0”子程序NOPBTFSC FLAG,0CALL DISPDARK ;调用显 “DARK” 子程序*显全 o F程序*DISPLAYOTRANSMIT ;SPI发送显示子模块CLRF PORTA ;LACK送低电平,为锁存做准备MOVLW 0X08MOVWF TIMESL00P80 MOVLW OXCO ;显示值为0, COH为0的段码MOVWF SSPBUF ;启动发送WAITBTFSS PIR1,SSPIFGOTO WAIT ;等待发送结束BCF PIR1,SSPIF ;清除中断标志DECFSZ TIMESGOTO L00P80 ;一次要发送完8个数据BSF PORTA, 5

7、;最后给一个锁存信号,代表一次显示任务完成RETURN* 显示全 DARK程序 *DISPDARKTRANSMIT1 ;LACK送低电平,为锁存做准备L00P8D MOVLW OXFF ;显示值为 0, FFH 为 DARK 的段码 MOVWF SSPBUF ;启动发WAIT1GOTO WAIT1 ;GOTO L00P8D ; 一次要发送完8个数据*PIC单片机A/D转换汇编程序主程丿了;*转载www. olhei. com单片机网MAIN NOPCALL INITIAL ;初始化LOOPMOVLW 0X80 ;转换结果右移,及ADRESH寄存器的高6位为0且把RA2 口设 置为模拟量输入式(

8、注意后面要把RA5改成数据I/O方式,以输出显示琐存信号)MOVWF ADC0N1MOVLW BEGFSRMOVWF FSROL ;给出间接寻址时FSR的初值MOVWF TIMES ;每一轮A/D连续采样10次BSF IXTCON, GIE ;总中断打开,及可以进行A/D转换中断BSF ADC0N0, 2 ;启 动A/D转换L00P1 MOVF TIMES,WBTFSS STATUS,ZGOTO L00P1 ;等待A/D转换中断BCF INTCON, GIE ;A/D转换次数到10次,关闭中断NOPCLRF ACCBHICLRF ACCBLO ;双精度加法的结果寄存器清0,为后面准备MOVLW

9、 OXOAMOVWF FSROLLOOP15 MOVF INDFO, WMOVWF ACCAHIMOVF INDFO, WMOVWF ACCALOCALL D_ADDGOTO LOOP15NOP ;计算得到10次A/D转换的和MOVLW 0X84把RA3设成数字I/O,以输出显示锁存信号MOVLW 0X14CLRF ACCALOCALL D_SUB ;通过双精度减判断模拟量是否达到报警限度(1400H=200H*0AH, 200H 与 2. 5V 对应)BTFSS ACCBHI,7CALL ALARM ;若ACCBHI的最高位为1,则证明减法结果为负,即直流电压值超过2. 5V,则报警BTFSC ACCBHI,7若没有超过2. 5V,则不报警,8个LED同时显示0CALL DELAY ;软件延时,使电压检测不要过于频繁GOTO LOOP ;重复检测输入的直流电压值END

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1