?? 6675._c
字號(hào):
/************************************************************
FileName: 6675.c
Description: 溫度函數(shù),讀取并且顯示溫度
Function List:
1. read_max6675() 讀取6675的轉(zhuǎn)換結(jié)果
2. max6675_display() 顯示6675的轉(zhuǎn)換結(jié)果
3. wendu6675() 讀取并顯示6675的轉(zhuǎn)換結(jié)果
4. Delay10ms() 延時(shí)函數(shù)
***********************************************************/
#include <iom16v.h>
#include <macros.h>
#include "6675.h"
unsigned int read_max6675(void)
{
unsigned char i;
unsigned int x=0;
clr_sck;
wait;
clr_cs6675;
wait;
set_sck;
wait;
for(i=0;i<16;i++) //讀取轉(zhuǎn)換結(jié)果的12位
{
wait;
clr_sck;
if(PINB&0x08)
x|=(1<<(15-i));
wait;
set_sck;
}
x=(x&0x7fff)>>3;
set_cs6675;
return x;
}
void max6675_display(unsigned int x)
{
unsigned int temp[5]={0,0,0,0,0};
unsigned int n=0,m=0;
m=10237.5*x/4095;
temp[0]=m/10000;
n=m-temp[0]*10000;
temp[1]=n/1000;
n=n-temp[1]*1000;
temp[2]=n/100;
n=n-temp[2]*100;
temp[3]=n/10;
n=n-temp[3]*10;
temp[4]=n/1;
Draw_NtoArab(0x02,0x10,temp[0]);
Draw_NtoArab(0x02,0x18,temp[1]);
Draw_NtoArab(0x02,0x20,temp[2]);
Draw_NtoArab(0x02,0x28,temp[3]);
Draw_NtoArab(0x02,0x38,temp[4]);
}
void wendu6675(void)
{ unsigned int t;
Delay10ms(100);
while(1)
{
t=read_max6675();
max6675_display(t);
Delay10ms(100);
}
}
void Delay10ms(unsigned char count)
{
unsigned char TimeCount;
unsigned int j;
TimeCount = count;
while(TimeCount > 0)
{
for(j=0;j<200;j++)
{;;}
TimeCount--;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -