历史上的今天
返回首页

历史上的今天

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

2020年01月12日 | 基于pic单片机测温程序分享

2020-01-12 来源:elecfans

;振荡器1MHzR/C

;命令时钟250kHz

include

基于pic单片机测温程序分享
 

page1macro

bsfSTATUS,RP0;page1

endm

page0macro

bcfSTATUS,RP0;page0

endm

cbLOCk0ch

time1,temp

lo_val,hi_val,msn,lsn

digit1,digit2

count,read

ssave,wsave

flags

endc

;==================================

org00

gotoinit

org04

btfssINTCON,T0IF

gotoend_int

MOVwfwsave

swapfSTATUS,w

MOVwfssave;中断保护

decfcount,f

decfszread,f

gotoint2

calladconv;A/D

MOVlw.16;

MOVwfread

int2MOVfcount,0

btfscSTATUS,Z

bsfflags,0;eot

bcfINTCON,T0IF

end_intswapfssave,w

MOVwfSTATUS;

swapfwsave,f;

swapfwsave,w

retfie;

;==========查表===============

tableaddwfPCL;portb

retlwb’01110111’;0

retlwb’00010100’;1

retlwb’00111011’;2

retlwb’00111110’;3

retlwb’01011100’;4

retlwb’01101110’;5

retlwb’01101111’;6

retlwb’00110100’;7

retlwb’01111111’;8

retlwb’01111100’;9

retlw0

retlw0

retlw0

retlw0

retlw0

retlw0

retlw0

;*********************温度转变******************

lookupaddwfPCL

retlw.99;00

retlw.99;01

retlw.99;02

retlw.99;03

retlw.91;04

retlw.81;05

retlw.73;06

retlw.66;07

retlw.59;08

retlw.52;09

retlw.45;0A

retlw.39;0B

retlw.31;0C

retlw.23;0D

retlw.13;0E

retlw.0;0F

retlw.0;catchfor》f0h

;==========a/d转变值存到temp==========

interpMOVflsn,0;初值

swapflsn,w;swap&save

MOVwfmsn;intow

MOVlw0fh

andwflsn,f;stripoffupperrubbish

andwfmsn,f;stripoffupperrubbish

MOVfmsn,0;reload

calllookup;getvalue

MOVwflo_val;saveit

incfmsn,w;incrementpointer

calllookup;getnextvalue

subwflo_val,w;getdifference&save

MOVwfhi_val

multaddwfhi_val,f;addtocurrent

decfszlsn,f;countdownonmulTIplyloop

gotomult

swapfhi_val,w;divideby16

andlw0fh;extractuppernibble

subwflo_val,w;addlovaluetolovaluetogetresult

return

adconvbsfADCON0,GO;startconversion

MOVlw.5;waitdelay10uS

MOVwftemp

decfsztemp,f;loopforawhile

goto$-1

btfscADCON0,GO;testforendofconversion

goto$-1

retlw0

bin_bcdMOVwfdigit1;firstdigit

clrfdigit2;seconddigit

tenlopMOVlw.10

subwfdigit1,w;findouthowmany10’s

btfscSTATUS,C

incfdigit2,f

btfscSTATUS,C

MOVwfdigit1;remainder1’sleft

btfscSTATUS,C

gototenlop

return

;=======================================

initclrfPORTB

clrfPORTA

clrfADCON0

clrfflags

page1

MOVlwb’11110011’

MOVwfTRISA

MOVlwb’10000000’;

MOVwfTRISB;setupportb

MOVlwb’00000100’;/32

MOVwfOPTION_REG

MOVlwb’00000010’

MOVwfADCON1

page0

MOVlwb’00001000’;setupchangeofstateonportb

MOVwfINTCON;towakeup

sleep;shutdown

MOVlwb’11000001’;seta/dinternalrcclock

;channel0,a/drunning

MOVwfADCON0;doit

MOVlw.153;TImeoutvalue

MOVwfcount

MOVlw.16;intervalTImerreload

MOVwfread

MOVlwb’10100000’;setupchangeofstateonportb

MOVwfINTCON;towakeup

calladconv;performA/Dconversion

;==================main====================

mainbtfscflags,0;testfortimeout

gotoinit;yessoshutdown

MOVfADRES,0;loadvalue

MOVwflsn;storeforconversion

callinterp;usinginterpolationmethod

callbin_bcd;convertinto2digits

MOVfdigit1,0;loadmsb

calltable;convertinto7segmentformat

MOVwfPORTB;sendtodisplay

bsfPORTA,2;enablecharacter

btfssTMR0,6;testbit

goto$-1;loop

bcfPORTA,2

MOVfdigit2,0;loadlsb

calltable;convertinto7segmentformat

MOVwfPORTB;sendtodisplay

bsfPORTA,3;enablecharacter

btfscTMR0,6;testbit

goto$-1;loop

bcfPORTA,3

gotomain

end


推荐阅读

史海拾趣

创世(CS)公司的发展小趣事

作为一家有社会责任感的企业,创世公司始终关注环境保护和可持续发展。公司积极推广绿色生产技术和资源循环利用方案,减少生产过程中的能源消耗和废弃物排放。同时,创世公司还积极参与社会公益活动,为社会和环境贡献自己的力量。这种对社会责任的关注和担当使得创世公司在电子行业中树立了良好的形象。

High Energy Corp公司的发展小趣事

创世公司(CS)的创立源于对未来技术趋势的敏锐洞察。在5G、人工智能、物联网等行业还未广泛崛起的初期,创世公司就预见到这些技术将引领未来电子行业的发展。基于这种战略眼光,创世公司决定专注于SD NAND存储产品的研发和生产。这一决策不仅为公司的后续发展奠定了坚实的基础,也展示了创始团队对未来技术趋势的坚定信心。

Fermionics Lasertech Inc公司的发展小趣事

在电子科技日新月异的今天,Fermionics Lasertech Inc公司由一群热衷于激光技术研究的科学家和工程师创立。他们致力于开发新型激光器,以满足电子制造行业对高精度加工的需求。在经历无数次实验和失败后,他们终于研发出了具有划时代意义的超精密激光切割设备,这一技术突破为公司赢得了第一笔大额订单,也为公司的后续发展奠定了坚实的基础。

AMERICASEMI [America Semiconductor, LLC]公司的发展小趣事

AMERICASEMI公司成立于XXXX年,起初是一家专注于半导体技术研发的小型创业公司。在创立初期,公司面临着资金短缺、市场竞争激烈等诸多挑战。然而,凭借创始团队对半导体技术的深刻理解和市场需求的敏锐洞察,AMERICASEMI成功开发出一系列具有竞争力的半导体产品,并逐渐在市场中占据了一席之地。

DMEL Inc公司的发展小趣事

在市场竞争日益激烈的情况下,DMEL Inc意识到品牌建设的重要性。公司开始注重品牌形象的塑造和推广,通过广告宣传、公益活动等方式,提升品牌的知名度和美誉度。同时,DMEL Inc还加强了与消费者的沟通和互动,了解消费者的需求和反馈,不断改进产品和服务。这些努力使得DMEL Inc在消费者心中树立了良好的品牌形象。

Acutechnology公司的发展小趣事

随着国内市场的逐渐饱和,Acutechnology公司开始将目光投向国际市场。公司制定了国际化发展战略,通过在海外设立分支机构、参加国际展会等方式拓展海外业务。同时,公司还积极引进国际先进技术和管理经验,提升企业的整体竞争力。这些举措为公司的长远发展注入了新的活力。

问答坊 | AI 解惑

[转]关于ARM入门与学习方案

一 首先说说ARM的发展 可以用一片大好来形容,翻开各个公司的网站,招聘里面嵌入式占据了大半工程师职位。 广义的嵌入式无非几种:传统的什么51、AVR、PIC称做嵌入式微控制器;ARM是嵌入式微处理器;DSP;FPGA。 客观的讲,工作需求量上DSP的需求比 ...…

查看全部问答>

关于2440在norflash上跑裸机的问题

我在mdk环境下用jlink调试2440裸机程序,在SDRAM中运行顺利。现准备把程序烧写到norflash中,Scatter File如下: ;Run in Flash LR_ROM1 0x00000000         {    ; load region   ER_ROM1 0 ...…

查看全部问答>

摄像头视频采集问题(请大家关注)

关于视频采集的问题,想请大侠们指点我一下。 给我一个大概的认识。 现在是这样: 我们有一台嵌入式一体机:就是2440&WINCE5.0,带有网口,USB接口,串口(232),10.4寸触摸屏。 Q1:我想知道摄像机(比如银行,公路的那种监控摄像头)采集到 ...…

查看全部问答>

visual c

visual c++ 2005 和 visual studio 2005 有什么区别?…

查看全部问答>

S3C2440相机接口奇偶场问题

各位大侠: 现在把PAL制式的电视信号用ADV7180转换为ITU656格式的数字信号, 通过S3C2440的camera接口采集进去。 但PAL制式的信号是一帧由奇,偶两场组成。那采集的数据,S3C2440的DMA能自动的将奇,偶两场的数据整合成一帧存储起来, 还是需要 ...…

查看全部问答>

汇编串口中断出现问题

为什么我写的串口中断接受程序,烧到51里就一直执行中断服务程序,而我根本没有产生中断,然后我把串口线拔下问题还是如此,代码如下: ;单片机内存分配申明! TEMPER_L EQU         29H;用于保存读出温度的低8位 TEMPER_H E ...…

查看全部问答>

有没有ecos和redboot开发的群?

最近在研究这方面,希望能够有志同道合的可以一起讨论一下…

查看全部问答>

STM32101R8用6M的外部晶振不行啊

我的STM32101R8用6M的外部晶振后,串口输出的都是乱码,换成内部的HSI后,正常工作,问一下, 是不是STM32101R8只能用8M的晶振, 不能用6M的啊, 还是我的6M晶振有问题啊, …

查看全部问答>

STM32的SPI如何处理25位的数据?

                                 如题…

查看全部问答>

launch pad 学习心得

最近在准备参加“TI”电子设计大赛,一直在恶补有关 launch Pad  的知识。通过视频的学习和其他一些资料的学习,发现自己了解的太少了。     …

查看全部问答>