max6675读取程序max6675读取程序
#include
#include //如定义方式const prog_uchar tmpled[],读方式pgm_read_byte(tmpled+i)
#define uint unsigned int
#define uchar unsigned char
#define CS_H PORTA|=0X02 //端口PA0.1 0000 0010 #define CS_L PORTA&=0XFD // 1111 1101 #define SCK_H PORTA|=0x01 //端口PA...
max6675读取程序
#include
#include //如定义方式const prog_uchar tmpled[],读方式pgm_read_byte(tmpled+i)
#define uint unsigned int
#define uchar unsigned char
#define CS_H PORTA|=0X02 //端口PA0.1 0000 0010 #define CS_L PORTA&=0XFD // 1111 1101 #define SCK_H PORTA|=0x01 //端口PA0.0 0000 0001 #define SCK_L PORTA&=0XFE // 1111 1110
const prog_uchar
table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}
;//共阴数码管段值 0-9
uchar show_data[] = {0,0,0,0,0,0,0,0};
////////////////////////////////////////延时函数
////////////////////////////////////////////
void delay(unsigned int ms)//(1)=100us {
unsigned int i,j;
for(i=0;i>=3;
else
dat_6675=4095; //开路了则赋最大值
delay(1); //必要的延时O
return dat_6675;
}
//////////////////////////////////将滤波后取得的数据分四位存储于显示数组中show_data[]///////////////////////
void ZhuanHuan(void)
{
uint tempB =0,tempA = 0;
tempA = Read_6675();
tempB = tempA;
tempA >>= 2; //整数部分。屏蔽掉低两位就是整数部分。
tempB = (tempB&3)*25;// //屏蔽掉高12位,剩余低四位。
show_data[0] = tempA/1000;
show_data[1] = (tempA%1000)/100;
show_data[2] = (tempA%100)/10;
show_data[3] = tempA%10;
show_data[4] = tempB/10;
show_data[5] = tempB%10; }
//////////////////////////////////////////////主函数//////////////////////////////////////////////////////////
int main ()
{
DDRC = 0XFF; //LED显示初始化
PORTC = 0;
DDRB |= 0X07;
PORTB = 0;
DDRA |= 0X03; //0000 0011 max6675端口初始化
DDRA &= 0XFB; //1111 1011
uint i;
while(1)
{
ZhuanHuan();
for(i=0;i<300;i++) //等待温度AD的转换时间是17-22MS
{
show_led();
}
}
}
本文档为【max6675读取程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。