历史上的今天

今天是:2024年11月12日(星期二)

2019年11月12日 | PIC12F675两通道的AD转换的汇编程序

发布者:自由思想 来源: 51hei关键字:PIC12F675  两通道  AD转换  汇编程序 手机看文章 扫描二维码
随时随地手机看文章

;程序功能:上电开机:PIN5为高电平,绿灯亮;PIN2,PIN3为低电平,红灯灭;

;        轮流检测PIN6,PIN7脚电平,欠压3.9V,10V,红灯亮,绿灯灭,过压5.9V,15.9V

;        红灯亮,绿灯灭,alram为TTL高电平,过压锁死

  LIST P=12F675

INCLUDE  

__CONFIG(B'11000101110100')

;Highest band gap voltage,0,0,Data memory is not protected

;Program memory is code-protected,BOD enabled,MCLR pin is MCLR function

;PWRT enabled,WDT disabled,INTOSC oscillator

;**************************************

  

READH     EQU 2Ah            ;读到的高2位数据

READL     EQU 2Bh            ;读到的低8位数据

SOUH      EQU 40h            ;欠压设置,高2位存储地址

SOU       EQU 41h            ;欠压设置,低8位存储地址

RLTH      EQU 42h            ;过压设置,高2位存储地址

RLT       EQU 43h            ;过压设置,低8位存储地址


ORG      0000H  

GOTO     MAIN

ORG      0004H

GOTO     ADBEGIN

ORG      0030H


MAIN

BCF      STATUS,RP0 ;BANK 0

CLRF     GPIO

MOVLW    07H

MOVWF    CMCON      ;关闭比较器


BSF      STATUS,RP0 ;BANK 1

CALL     3FFH       ; 读内部振荡出厂校准字,返回值在W寄存器

MOVWF    OSCCAL     ;校准晶振

  

MOVLW    B'00001011';TRISIO 三态控制器

MOVWF    TRISIO     ;设置TRISIO方向控制器,GP0,GP1,GP3为输入口


MOVLW    B'00010011'

MOVWF    ANSEL      ;8分频晶振,AN0AN1为模拟口,AN2AN3为数字口

                   

BANKSEL  OPTION_REG

MOVLW    B'00000000';将预分频器分配给TIMER0 模块,2分频

MOVWF    OPTION_REG ;


BANKSEL  INTCON

MOVLW    B'10100000'  ;允许全局中断,禁止外围中断,允许TRMO中断,禁止GP2/INT外部中断

MOVWF    INTCON        ;禁止GPIO端口电平变化中断,TMR0寄存器没有溢出,未发生GP2/INT中断

                        ;GP5:GP0 引脚电平均未发生变化

MOVLW    02H

MOVWF    24H      ;AD通道设置选择

MOVLW    D'10'

MOVWF    25H       ;过压后延时采样,10*90uS=900uS

;********************************************

;欠压设置2.5V,5V路对应值3.8V,15V路对应值10V

MOVLW    0002H

MOVWF    SOUH

MOVLW    0000H

MOVWF    SOU

;*********************************************

;过压设置值3.9V,5V路对应值5.9V,15V路对应15.9V 

MOVLW    0003H

MOVWF    RLTH

MOVLW    0020H

MOVWF    RLT


MOVLW    B'10000001'

MOVWF    ADCON0     ;右对齐,参考电压Vdd,模拟通道0

BANKSEL  TMR0

MOVLW    D'242'

MOVWF    TMR0


GOTO     $

;*********************************************

;定时中断后开始AD转换

ADBEGIN

BTFSC    INTCON,T0IF  ;是否是定时器TMR0中断

BANKSEL  ADCON0

BSF      ADCON0,GO  ;开始转换

ADWAIT

BTFSC    ADCON0,GO

GOTO     ADWAIT        ;等待转换完成

;**********************************************

;AD转换后数据判断处理

READ

BANKSEL  ADRESH        ;自动设置存储地址bank

MOVF     ADRESH,W     ;读电压值高2位,

CLRF     STATUS

MOVWF    READH        ;读到的高2位数据放到vrevh寄存器


BANKSEL  ADRESL        ;自动设置存储地址bank

MOVF     ADRESL,w      ;读电压低8位

CLRF     STATUS

MOVWF    READL 

;*****************************************************

LOWPOWER

MOVF     SOU,W

SUBWF    READL,W

BTFSS    STATUS,C;没有借位,跳过

GOTO     JUMP1

MOVF     SOUH,W

CONTIUE1

SUBWF    READH,W

BTFSS    STATUS,C ;没有借位,跳过

GOTO     ALARM0


OVERPOWER

MOVF     RLT,W

SUBWF    READL,W

BTFSS    STATUS,C   ;没有借位,跳过

GOTO     JUMP2

MOVF     RLTH,W

CONTIUE2

SUBWF    READH,W

BTFSS    STATUS,C  ;;没有借位,跳过

GOTO     NORMAL

GOTO     ALARM1

;*****************************************

;时间到,准备选择通道和赋值 

LOOP

DECFSZ   24H,F

GOTO     SKIP

BANKSEL  ADCON0

MOVLW    B'10000001'

MOVWF    ADCON0     ;右对齐,参考电压Vdd,模拟通道0

MOVLW    D'2'

MOVWF    24H

GOON 

BCF      INTCON,T0IF;恢复定时器继续判断

BANKSEL  INTCON

BSF      INTCON,7 

BANKSEL  TMR0

MOVLW    D'242'

ADDWF    TMR0,F

GOTO     $

;***************************************************

;子程序

SKIP

BANKSEL  ADCON0

MOVLW    B'10000101'

MOVWF    ADCON0     ;右对齐,参考电压Vdd,模拟通道0

GOTO     GOON 

JUMP1 

INCFSZ   SOUH,W 

GOTO     CONTIUE1

JUMP2

INCFSZ   RLTH,W

GOTO     CONTIUE2


NORMAL

BANKSEL  GPIO

BTFSC    22H,0    ;为0跳过

GOTO     BACK

BSF      GPIO,2   ;绿灯亮

BCF      GPIO,4   ;红灯灭

BACK 

BCF      22H,0

GOTO     LOOP

ALARM0

BSF      22H,0

BANKSEL  GPIO

BCF      GPIO,2   ;绿灯灭

BSF      GPIO,4   ;红灯亮

GOTO     LOOP

ALARM1

DECFSZ   25H,F    ;为0则跳

GOTO     LOOP 

BANKSEL  GPIO

BSF      GPIO,5   ;关机

BCF      GPIO,2   ;红灯亮

BSF      GPIO,4   ;绿灯灭

GOTO     $ 


END


关键字:PIC12F675  两通道  AD转换  汇编程序 引用地址:PIC12F675两通道的AD转换的汇编程序

上一篇:PIC16F873A单片机的照度测量项目原理图与源代码
下一篇:PIC单片机16*64点阵屏proteus仿真

推荐阅读

高德联合达摩院推出推出车载AR导航;Valve新一代Steam VR头显曝光;适用于主题公园,迪士尼和环球获多项AR/VR专利……更多精彩内容,请继续关注99VR视界“今日圈内事”。高德联合达摩院推出推出车载AR导航近日,高德联合达摩院推出推出车载AR导航,事实上,该产品借助高德地图专业的交通大数据和车道级导航引擎,以及双方合作共建的图像识别AI技术能力,...
中国广州,全球增长最快的可编程逻辑公司广东高云半导体科技股份有限公司(以下简称“高云半导体”)宣布发布其最新的μSoC射频FPGA,该产品集成蓝牙5.0低功耗无线电功能,可实现FPGA在边缘计算领域的全新应用浪潮。 边缘计算对可编程设备提出了新的要求。随着产品的差异化需求日益明显,高云半导体正在其下一代FPGA中集成各种新功能,其最新器件GW1NRF-4...
11月11日晚间,兆易创新公告称,拟出资3亿元与长鑫集成、石溪集电等多名投资人签署增资协议,共同参与睿力集成增资事项,以完成《可转股债权投资协议》中约定的转股投资事项;增资完成后,公司持有睿力集成约0.85%股权。据悉,睿力集成成立于2016年,注册资金189亿元,是一家主要从事集成电路及相关产品的生产、研发、设计、销售等业务的公司。本次增资前...
故障现象不开机黑屏检测过程经检测,仪器不开机,黑屏的原因是控制板损坏。维修过程更换控制板损坏组件,工程师整机调整检测仪器。维修结果仪器正常开机,完成修复。

史海拾趣

问答坊 | AI 解惑

跪求pspice仿真软件

请那位大侠知道那里有pspice中文版下载…

查看全部问答∨

智能短信报警监测系统在奶制品(饮料)行业的成功应用

对于很多科研单位由于科研需要或产品存放需要,很多原料、半成品或成品(在此我们统称科研品),需要有特定的存放温度湿度环境,同时为保证各种设备的正常的运行,就需要保障电力供应、生活用水、污水处理等各种基本要素的正常工作,所以上述温度、 ...…

查看全部问答∨

在发个4AD的,原理图需要的请回帖我在上传

这个板子采用了STC的2052AD,可以支持8路8位分辨率的AD输入,我设计的这个用了其中4路,其他的IO口作为现实和驱动继电器用,支持1路继电器输出,4位数码管,1路报警蜂鸣器,所有单片机的引脚全部引出可以为外部扩展使用。…

查看全部问答∨

TD-SCDMA模块网速测试的疑问

    我想用中国移动的TD-SCDMA模块传输视频,开发板是ARM平台。ARM将视频采集压缩之后通过USB口传给TD模块,现在正确配置之后,能成功拨号并传输视频。     但是,目前传输效果很差,分辨率为352*288的CIF格式视频每秒只能传 ...…

查看全部问答∨

请教大虾。。。基于s3c2440的wince下的GPS接收系统

小弟目前正在做毕业设计,题目rt。 ============================================================ 目前硬件已经搭建了,rs232 gps模块+mini2440开发板,在wince 5.0下用串口调试助手和GPSViewer等软件调试过,可以收到6颗星左右,功能还行。 = ...…

查看全部问答∨

(公司项目笔记及源码) QTOpia最新版本及Linux内核的arm移植

http://item.taobao.com/auction/item_detail.jhtml?x_id=0db2&item_id=fc0e4ae6d2507c66f0782f153aa43d4e…

查看全部问答∨

evc模拟器恢复到最初的状态

不知道动了什么东东,我在模拟器的startup中加了些文件并保存了改变,然后在evc中重新编译程序,就发现再也连接不上模拟器了,不知道怎么恢复到先前的状态,重装模拟器问题依然存在,请各位英雄帮帮忙?谢谢…

查看全部问答∨

指令周期和存储周期的关系

指令周期和存储周期的关系?…

查看全部问答∨

求助:EVC的安装问题

我装的是evc4套件,顺序是:activesync--evc4--sp4--pocketpc2003.能装上,能打开编程环境和运行仿真器,可就是不能把程序下载到仿真器上运行,老是超时,提示:download failed.安装和运行时防火墙全是关闭的。总是出现这样的问题,不知道是怎么回事, ...…

查看全部问答∨

Keil uvision2调试命令(中文版)

Keil uvision2调试命令(中文版)…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved