资源简介
DSP与DS18B20的连接,并通过液晶TM12832ABC模块进行显示的系统。含整个CCS工程文件、代码注释。
代码片段和文件信息
#include “HZ_ASC.h“
#define GPIOCR *(volatile unsigned int*)0x3C
#define GPIOCR_ADDR 0x3C //控制寄存器地址
#define GPIOSR *(volatile unsigned int*)0x3D
#define GPIOSR_ADDR 0x3D//状态寄存器地址
#define __54XXREGS
#define CLKMD *(volatile unsigned int*)0x58
#define CLKMD_ADDR 0x58//时钟状态寄存器地址(clock mode register)
#define PMST *(volatile unsigned int*)0x1d
#define PMST_ADDR 0x1d//处理器状态寄存器地址
#define IMR *(volatile unsigned int*)0x00
#define IMR_ADDR 0x0 //中断屏蔽寄存器的地址
#define IFR *(volatile unsigned int*)0x01
#define IFR_ADDR 0x1 //中断标志寄存器
#define SWCR *(volatile unsigned int*)0x2B
#define SWCR_ADDR 0x2B//软件状态等待控制寄存器
#define SWWSR *(volatile unsigned int*)0x28
#define SWWSR_ADDR 0x28//软件状态等待寄存器地址
#define KEY port800C //数据端口的IO地址
typedef float f32;
typedef long s32;
typedef int s16;
typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
volatile ioport u16 port800C;
volatile ioport u16 port8030;
volatile ioport u16 port8008;
volatile ioport u16 port8021;
volatile ioport u16 port8020;
#define LCD_DAT0 port8021
#define LCD_CMD0 port8020
/*****************************************************************************/
/* 延迟子函数
*****************************************************************************/
void watchdog(void)
{
return;
}
void delay_nus(long int n)
{
long int j;
for (j=1;j<=n;j++)
{
{
watchdog();
}
}
}
void delay_ns(long int n)
{
long int j;
for (j=1;j<=n;j++)
{
{
watchdog();
}
}
}
void dly_nus(long int n)
{
int i;
long int j;
for (j=1;j<=n;j++)
{
for (i=0;i<3;i++)
{
watchdog();
}
}
}
/*****************************************************************************/
/* DS18B20温度测量子函数
*****************************************************************************/
void DS18B20_nus( long int n)
{
long int j;
for (j=1;j<=n;j++) {}
}
//写一个bit位
DS18B20_W(int val)
{
GPIOCR=GPIOCR|0x0002;//0010DIR1=1则GPIOSR为输出方向
if (val==0)
{
GPIOSR=GPIOSR&0xFFFFD;
//1101第二位为0,这个数据位应该为连接传感器位
}
if (val==1)
{
GPIOSR=GPIOSR|0x0002;//第二个数据位为1
}
}
//读取一个bit位
int DS18B20_R(void)
{
GPIOCR=GPIOCR&0xFFFD;
//DIR1=0GPIOSR为输入方向这2个寄存器配合使用
return((GPIOSR&0x0002)>>1);
//0010传感器传送一个数据位到处理器的数据位为GPIOSR的第二位,
//再后移一位后,返回值就为数据位
}
//DS18B20初始化
unsigned char DS18B20_reset(void)
{
unsigned char presence;
DS18B20_W(0);
DS18B20_nus(114);
DS18B20_W(1);
DS18B20_nus(8);
presence= DS18B20_R();
DS18B20_nus(114);
return(presence);
}
unsigned char DS18B20_read_bit(void)
{
unsigned char i;
DS18B20_W(0);
DS18B20_W(1);
watchdog();//当延时使用的
i= DS18B20_R();
DS18B20_nus(10);
return (i);
}
DS18B20_write_bit(unsigned char bitval)
{
DS18B20_W(0);
if ((bitval&0x0001)==1)
{
DS18B20_W(1);
}
else
{
DS18B20_W(0);
}
DS18B20_nus(15);
DS18B20_W(1);
DS18B20_nus(20);
}
unsigned c
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4378 2013-01-11 13:53 temperatures\5402.CMD
文件 2639 2013-01-05 20:31 temperatures\C5402vec.asm
文件 663 2013-01-11 13:53 temperatures\cc_build_Debug.log
文件 2508 2013-01-11 13:53 temperatures\Debug\C5402vec.obj
文件 8016 2013-01-11 13:53 temperatures\Debug\temperatures.map
文件 29697 2013-01-11 13:53 temperatures\Debug\temperatures.out
文件 22734 2013-01-11 13:53 temperatures\Debug\Themain.obj
文件 522 2013-01-11 13:53 temperatures\Debug.lkf
文件 11657 2013-01-05 20:31 temperatures\HZ_ASC.H
文件 3072 2013-01-11 13:53 temperatures\temperatures.CS_\FILE.CDX
文件 276 2013-01-11 13:53 temperatures\temperatures.CS_\FILE.DBF
文件 579 2013-01-11 13:53 temperatures\temperatures.CS_\FILE.FPT
文件 13824 2013-01-11 13:53 temperatures\temperatures.CS_\SYMBOL.CDX
文件 3358 2013-01-11 13:53 temperatures\temperatures.CS_\SYMBOL.DBF
文件 4855 2013-01-11 13:53 temperatures\temperatures.CS_\SYMBOL.FPT
文件 1797 2013-01-11 14:05 temperatures\temperatures.paf2
文件 815 2013-01-11 14:05 temperatures\temperatures.pjt
文件 1785 2013-01-11 14:05 temperatures\temperatures.sbl
文件 7556 2013-01-11 14:15 temperatures\Themain.c
目录 0 2013-01-11 14:05 temperatures\Debug
目录 0 2013-01-11 14:05 temperatures\temperatures.CS_
目录 0 2013-01-11 14:17 temperatures
----------- --------- ---------- ----- ----
120731 22
- 上一篇:数据结构二叉树家谱管理系统
- 下一篇:QToolButton 的扩展、多样化
相关资源
- altium designer DSP2812主控板 原理图
- CCS2.2安装说明
- STM32F4XX固件库之DSP库的说明
- 基于ARM的DS18B20程序
- dsp 28335 CAN通信 可用 已配置好
- dSPACE手册
- 基于dspmp3解码
- DS18B20测温及QT界面实现
- 1602+DS1302时钟+DS18B20
- F280049寄存器版程序
- 实现对占空比的随时可调代码
- 简单、规范的Linux下的ds18b20驱动基于
- 飞思卡尔DG128单片机ds18b20程序
- s3c2440裸机DS18B20程序
- CCS6.2版本Dsp28335工程(包含基本模块的
- IEEE754 to DSP(VC33)(64位转40位) 改进
- DSP定时器方波程序
- TMS320C54x系列DSP上FFT运算的实现
- 数字信号处理发展、应用与展望论文
- 基于DSP的恒压频比控制SVPWM方式的研究
- dsPIC对于直流无刷BLDC无传感器电机控
- DSP28335 SCI中用FIFO完成485收发通信
- DSP 2812 程序从FLASH 拷贝到RAM
- DSP hpi接口实验
- DSP28335 三相SVPWM程序
- DSP28335控制DHT11温湿度传感器
- 51单片机用温度传感器控制直流电机转
- DSP2812最小系统原理图及PCB
- 基于DSP的单相Z源逆变器的代码实现
- 基于DS18B20的多路温度监测系统设计
评论
共有 条评论