資源簡(jiǎn)介
DSP與DS18B20的連接,并通過液晶TM12832ABC模塊進(jìn)行顯示的系統(tǒng)。含整個(gè)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//狀態(tài)寄存器地址
#define?__54XXREGS
#define?CLKMD? *(volatile?unsigned?int*)0x58
#define?CLKMD_ADDR 0x58//時(shí)鐘狀態(tài)寄存器地址(clock?mode?register)
#define?PMST *(volatile?unsigned?int*)0x1d
#define?PMST_ADDR 0x1d//處理器狀態(tài)寄存器地址
#define?IMR *(volatile?unsigned?int*)0x00
#define?IMR_ADDR 0x0?//中斷屏蔽寄存器的地址
#define?IFR *(volatile?unsigned?int*)0x01
#define?IFR_ADDR 0x1?//中斷標(biāo)志寄存器
#define?SWCR *(volatile?unsigned?int*)0x2B
#define?SWCR_ADDR 0x2B//軟件狀態(tài)等待控制寄存器
#define?SWWSR *(volatile?unsigned?int*)0x28
#define?SWWSR_ADDR 0x28//軟件狀態(tài)等待寄存器地址
#define?KEY??port800C?//數(shù)據(jù)端口的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?
/*****************************************************************************/
/*?延遲子函數(shù)
*****************************************************************************/
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溫度測(cè)量子函數(shù)
*****************************************************************************/
void?DS18B20_nus(?long?int?n)
{
long?int?j;
for?(j=1;j<=n;j++) {}
}?
//寫一個(gè)bit位
DS18B20_W(int?val)
{
????GPIOCR=GPIOCR|0x0002;//0010DIR1=1則GPIOSR為輸出方向
if?(val==0)?
{
????GPIOSR=GPIOSR&0xFFFFD;
//1101第二位為0,這個(gè)數(shù)據(jù)位應(yīng)該為連接傳感器位
}
if?(val==1)
{
????GPIOSR=GPIOSR|0x0002;//第二個(gè)數(shù)據(jù)位為1
}
}
//讀取一個(gè)bit位
int?DS18B20_R(void)
{????
????
????GPIOCR=GPIOCR&0xFFFD;
//DIR1=0GPIOSR為輸入方向這2個(gè)寄存器配合使用
return((GPIOSR&0x0002)>>1);
//0010傳感器傳送一個(gè)數(shù)據(jù)位到處理器的數(shù)據(jù)位為GPIOSR的第二位,
//再后移一位后,返回值就為數(shù)據(jù)位
}
//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();//當(dāng)延時(shí)使用的
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
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????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
評(píng)論
共有 條評(píng)論