资源简介
基于STC12C5608AD单片机和AD590温度传感器设计的温度检测系统。
代码片段和文件信息
#include
sbit ch451_dclk=P3^4; //串行数据时钟上升延激活
sbit ch451_din=P3^3; // 串行数据输出,接CH451的数据输人
sbit ch451_load=P2^3; //串行命令加载,上升延激活
sbit ch451_dout=P2^2; //键值数据输入,接ch451数据输出
#define uchar unsigned char
#define uint unsigned int
uint display[8]={0x0a000x09000x0b000x0800
0x0c000x0d000x0e000x0f00};
uchar BCD[10]={0xbe0x240xea0xe6 //0123
0x740xd60xde0xa4 //4567
0xfe0xf6 //89
};
unsigned int v=0;
/***********************CH451宏定义************************/
#define CH451_RESET 0x0201 //复位
#define CH451_LEFTMOV 0x0300 //设置移动方式-作移
#define CH451_LEFTCYC 0x0301 //设置移动方式-左循
#define CH451_RIGHTMOV 0x0302 //设置移动方式-右移
#define CH451_RIGHTCYC 0x0303 //设置移动方式-右循
#define CH451_SYSOFF 0x0400 //关显示、键盘、看门狗
#define CH451_SYSON1 0x0401 //开显示
#define CH451_SYSON2 0x0403 //开显示、键盘
#define CH451_SYSON3 0x0407 //开显示、键盘、看门狗功能
#define CH451_DSP 0x0500 //设置默认显示方式
#define CH451_BCD 0x0580 //设置BCD译码方式
#define CH451_TWINKLE 0x0600 //设置闪烁控制——正常显示
#define CH451_DIG0 0x0800 //数码管位0显示
#define CH451_DIG1 0x0900 //数码管位1显示
#define CH451_DIG2 0x0a00 //数码管位2显示
#define CH451_DIG3 0x0b00 //数码管位3显示
#define CH451_DIG4 0x0c00 //数码管位4显示
#define CH451_DIG5 0x0d00 //数码管位5显示
#define CH451_DIG6 0x0e00 //数码管位6显示
#define CH451_DIG7 0x0f00 //数码管位7显示
/*************************************************************/
void delay_ms(unsigned int x) //延时1ms
{
unsigned int ij;
for(i=x;i>0;i--)
for(j=270;j>0;j--);
}
void ad_init() //AD外设初始化
{
// P1M0|=0x04; //设置P1.2漏极开路
// P1M1|=0x04;
// ADC_CONTR|=0x02; //选择P1.2作输入
P1M0|=0x01; //设置P1.0(漏极开路)
P1M1|=0x00;
ADC_CONTR|=0x00; //选择P1.0作输入
delay_ms(1);
}
void timer_init() //定时器初始化
{
TMOD=0x01; //定时器0 16位
TH0=(65536-18518)/256; //10ms
TL0=(65535-18518)%256;
EA=1;
ET0=1;
}
unsigned int ad_result() //读AD结果的函数
{
unsigned int a=0;
unsigned char d;
ADC_CONTR|=0x80; //AD电源打开
ADC_CONTR|=0x60;
delay_ms(1); //延时1ms
ADC_DATA=0; //结果寄存器清零
ADC_LOW2=0;
ADC_CONTR|=0x08; //开始转换
while((d=ADC_CONTR&0x10)==0);
ADC_CONTR&=0xef; //标志位清零
a=ADC_DATA;
a<<=2;
a|=ADC_LOW2;
ADC_CONTR&=0x7f; //AD电源关闭
return a;
}
/*********************************CH451**********************/
//********************************************
//设置定时器中断__定时扫描键盘
void ch451_init()
{
ch451_din=0; //先低后高,选择4线输入
ch451_din=1;
// TMOD=0x10; //设置定时器T1工作在16位计时状态
// EA=1; //开中断总开关
// ET1=1; //允许中断
// TR1=1;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-06-03 13:48 基于AD590的温度检测系统\
文件 1074547 2012-03-27 21:59 基于AD590的温度检测系统\2012-01-09 21.15.35.jpg
目录 0 2013-06-03 13:48 基于AD590的温度检测系统\ad测试\
文件 95227 2012-06-15 06:40 基于AD590的温度检测系统\ad测试\ad测试.uvgui.Administrator
文件 5625 2012-06-03 15:04 基于AD590的温度检测系统\ad测试\ad测试.uvopt
文件 13430 2012-05-28 19:04 基于AD590的温度检测系统\ad测试\ad测试.uvproj
文件 5112 2012-05-31 22:02 基于AD590的温度检测系统\ad测试\main.c
文件 6376 2009-05-07 14:37 基于AD590的温度检测系统\ad测试\STARTUP.A51
文件 17151 2011-04-24 19:13 基于AD590的温度检测系统\ad测试\stc12c.h
文件 399 2011-04-23 10:24 基于AD590的温度检测系统\keilkilll.bat
目录 0 2013-06-03 13:48 基于AD590的温度检测系统\两路显示\
文件 1304 2012-01-08 11:47 基于AD590的温度检测系统\两路显示\ad.c
文件 167 2012-01-08 11:48 基于AD590的温度检测系统\两路显示\ad.h
文件 840 2012-01-08 11:47 基于AD590的温度检测系统\两路显示\ad_def.h
文件 3635 2012-01-08 12:17 基于AD590的温度检测系统\两路显示\ch451.c
文件 209 2012-01-08 12:20 基于AD590的温度检测系统\两路显示\ch451.h
文件 5744 2012-01-08 18:19 基于AD590的温度检测系统\两路显示\main.c
文件 6376 2009-05-07 14:37 基于AD590的温度检测系统\两路显示\STARTUP.A51
文件 17151 2011-04-24 19:13 基于AD590的温度检测系统\两路显示\stc12c.h
文件 21924 2012-01-08 18:19 基于AD590的温度检测系统\两路显示\两路显示
文件 7483 2012-01-08 18:19 基于AD590的温度检测系统\两路显示\两路显示.hex
文件 21642 2012-01-08 18:19 基于AD590的温度检测系统\两路显示\两路显示.M51
文件 58603 2012-01-08 11:54 基于AD590的温度检测系统\两路显示\两路显示.uvopt
文件 13722 2012-01-07 21:06 基于AD590的温度检测系统\两路显示\两路显示.uvproj
目录 0 2013-06-03 13:48 基于AD590的温度检测系统\实验版测试\
文件 16839 2012-01-07 19:31 基于AD590的温度检测系统\实验版测试\main.c
文件 6376 2009-05-07 14:37 基于AD590的温度检测系统\实验版测试\STARTUP.A51
文件 22205 2012-01-08 16:52 基于AD590的温度检测系统\实验版测试\整版测试
文件 7461 2012-01-08 16:52 基于AD590的温度检测系统\实验版测试\整版测试.hex
文件 23129 2012-01-08 16:52 基于AD590的温度检测系统\实验版测试\整版测试.M51
文件 70820 2012-04-14 14:37 基于AD590的温度检测系统\实验版测试\整版测试.uvgui.litong
............此处省略2个文件信息
相关资源
- 51单片机 电子秤原理图
- 51单片机与SJA1000连接电路图,驱动编
- 基于AT89C51单片机的智能饮水机控制系
- 51单片机贪食蛇程序+电路+数据手册
- 基于51单片机的波形发生器带仿真
- 自己动手制作51单片机+CPLD实验板包含
- AT89S51单片机试验及实践教程(含有大
- 基于单片机温度控制系统的设计附原
- 51单片机万年历设计全套资料pcb 程序
- 51单片机程序大全
- 基于51的烟雾传感器测定
- 基于51单片机的广州塔
- 基于at89c51单片机的门禁系统
- 《手把手教你学51单片机》教材pdf
- LCD1602硬件结构及程序设计
- 经典51单片机开发板Protel99se文件含原
- STC8A加强版开发板配套程序
- 基于AT89C51单片机的水塔智能水位控制
- 基于51单片机的全自动洗衣机控制器的
- \\51单片机35个
- 单片机音乐彩灯
- 基于51单片机的简易交通灯设计
- 单片机课程设计:数字电压表8路通道
- 项目二-51单片机-倒车雷达控制系统设
- 简易电子琴设计
- 基于51单片机ACS712数字电流表,c、仿
- 51单片机涉及到的各种芯片手册
- 汇编51单片机密码锁含论文、程序、
- 51单片机超声波测距模块全套程序
- 51单片机便携式输液点滴控制报警器
评论
共有 条评论