• 大小: 45KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签: STM8  003  DS18B20  

资源简介

通过STM8S003最小系统板,读取DS18B20温度传感器的值。

资源截图

代码片段和文件信息

#include “delay.h“
////////////////////////////////////////////////////////////////////////////////
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//ALIENTEK
//使用汇编代码进行精确延时处理
//包括delay_usdelay_ms
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//修改日期:2013/6/25
//版本:V1.0
//版权所有,盗版必究。
//Copyright(C) 广州市星翼电子科技有限公司 2009-2019
//All rights reserved
//******************************************************************************
//V1.0 20130625
//支持不同时钟频率
//提供delay_usdelay_ms两个延时函数.
////////////////////////////////////////////////////////////////////////////////


volatile u8 fac_us=0; //us延时倍乘数

//延时函数初始化
//为确保准确度请保证时钟频率最好为4的倍数最低8Mhz
//clk:时钟频率(24/16/12/8等)
void delay_init(u8 clk)
{
if(clk>16)fac_us=(16-4)/4;//24Mhz时stm8大概19个周期为1us
else if(clk>4)fac_us=(clk-4)/4;
else fac_us=1;
}
//延时nus
//延时时间=(fac_us*4+4)*nus*(T)
//其中T为CPU运行频率(Mhz)的倒数单位为us.
//准确度:
//92%  @24Mhz
//98%  @16Mhz
//98%  @12Mhz
//86%  @8Mhz
void delay_us(u16 nus)
{
// STVD 编译环境下汇编代码
#asm
PUSH A            //1T压栈
DELAY_XUS:
LD A_fac_us        //1Tfac_us加载到累加器A
DELAY_US_1:
NOP              //1Tnop延时
DEC A             //1TA--
JRNE DELAY_US_1    //不等于0则跳转(2T)到DELAY_US_1继续执行若等于0则不跳转(1T).
NOP               //1Tnop延时
DECW X            //1Tx--
JRNE DELAY_XUS      //不等于0则跳转(2T)到DELAY_XUS继续执行若等于0则不跳转(1T).
POP A             //1T出栈
#endasm
//Keil 开发环境下汇编代码
/*
__asm(
“PUSH A          \n“  //1T压栈
“DELAY_XUS:      \n“
“LD Afac_us     \n“   //1Tfac_us加载到累加器A
“DELAY_US_1:     \n“
“NOP             \n“  //1Tnop延时
“DEC A           \n“  //1TA--
“JRNE DELAY_US_1 \n“   //不等于0则跳转(2T)到DELAY_US_1继续执行若等于0则不跳转(1T).
“NOP             \n“  //1Tnop延时
“DECW X          \n“  //1Tx--
“JRNE DELAY_XUS  \n“    //不等于0则跳转(2T)到DELAY_XUS继续执行若等于0则不跳转(1T).
“POP A           \n“  //1T出栈
);
*/
}
//延时nms
//为保证准确度nms不要大于16640.
void delay_ms(u32 nms)
{
u8 t;
if(nms>65)
{
t=nms/65;
while(t--)delay_us(65000);
nms=nms%65;
}
delay_us(nms*1000);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6013  2017-09-06 11:00  DS18B20\Debug\delay.ls

     文件       2472  2017-09-06 11:00  DS18B20\Debug\delay.o

     文件      16605  2017-09-06 11:00  DS18B20\Debug\ds18b20.elf

     文件       2320  2017-09-06 10:51  DS18B20\Debug\ds18b20.lkf

     文件       9327  2017-09-06 11:00  DS18B20\Debug\ds18b20.ls

     文件      28821  2017-09-06 11:00  DS18B20\Debug\ds18b20.map

     文件      16268  2017-09-06 11:00  DS18B20\Debug\ds18b20.o

     文件       4280  2017-09-06 11:00  DS18B20\Debug\ds18b20.s19

     文件      27616  2017-09-06 11:00  DS18B20\Debug\ds18b20.sm8

     文件       1964  2017-09-06 11:00  DS18B20\Debug\main.ls

     文件      12673  2017-09-06 11:00  DS18B20\Debug\main.o

     文件       5420  2017-09-06 11:00  DS18B20\Debug\stm8_interrupt_vector.ls

     文件       2619  2017-09-06 11:00  DS18B20\Debug\stm8_interrupt_vector.o

     文件       2307  2017-09-05 09:15  DS18B20\delay.c

     文件       1012  2017-09-06 10:53  DS18B20\delay.h

     文件       2570  2017-09-06 11:00  DS18B20\ds18b20.c

     文件        732  2017-09-06 11:24  DS18B20\ds18b20.dep

     文件        233  2017-09-06 10:47  DS18B20\ds18b20.h

     文件        897  2017-09-06 11:24  DS18B20\ds18b20.pdb

     文件      12620  2017-09-06 11:03  DS18B20\ds18b20.stp

     文件        203  2017-09-06 11:24  DS18B20\ds18b20.stw

     文件      29720  2017-09-06 11:24  DS18B20\ds18b20.wdb

     文件      31153  2017-09-06 11:24  DS18B20\ds18b20.wed

     文件        525  2017-09-06 10:51  DS18B20\main.c

     文件       2328  2017-09-06 10:51  DS18B20\Release\ds18b20.lkf

     文件       1954  2007-11-13 16:37  DS18B20\stm8_interrupt_vector.c

     目录          0  2017-10-14 11:37  DS18B20\Debug

     目录          0  2017-10-14 11:37  DS18B20\Release

     目录          0  2017-10-14 11:37  DS18B20

----------- ---------  ---------- -----  ----

............此处省略2个文件信息

评论

共有 条评论