毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

单片机智能电子温度计设计(电路图+原理图+源代码) 第6页

更新时间:2010-4-30:  来源:毕业论文
单片机智能电子温度计设计(电路图+原理图+源代码) 第6页
单片机1
/**********************************************
Project Name : 智能体温计程序_主机
Designed By  : sc.Dai
Date             : 2007.5.30
**********************************************/
#include <reg51.h>
#include <absacc.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int

uchar code dis_code[10]={0xc0,0xf9,0xa4,0xb0, // 0, 1, 2, 3
    0x99,0x92,0x82,0xf8,0x80,0x90}; // 4, 5, 6, 7, 8, 9, off
uchar data set_data[3]={0x00,0x07,0x03};       //预设37.0度
uchar data ad_data;                                        //AD转换结果
uchar data dis_buf[3]={0x00,0x00,0x00};     // 显示缓冲区
uchar data bcd_buf[3]={0x00,0x00,0x00};       //十进制BCD码转换存放区
uchar data TIMER0_NUM;
bit TIMER0_flag;
bit data set_flag=0;
sbit ALE=P2^4;
sbit OE=P2^5;
sbit START=P2^6;
sbit EOC=P2^7;
sbit P30=P3^0;
sbit select0=P3^7;
sbit select1=P3^6;
sbit select2=P3^5;

sbit K1=P2^0;
sbit K2=P2^1;
sbit K3=P2^2;
sbit K4=P2^3;
sbit bep=P3^3;
sbit SET_IND=P3^4;
sbit P17=P1^7;                                  //小数点
uint data temp;
/**********************************************/
/*函数声明
/**********************************************/
void delay1ms(uchar t);     
void adc(void);
void BCD(void);
void keyscan(void);
void send_str(void);
void beep(void);
void display(void);

/**********************************************/
/*按键蜂鸣函数
/**********************************************/
void beep2(void)
 {
  uchar data j,k;
  for(j=26;j>0;j--)
    {
   for(k=254;k>0;k--);
  bep=!bep;
  }
  bep=1;
 }
/**********************************************/
/*蜂鸣报警
/**********************************************/
void beep(void)
 {
  uchar data j,k;
  for(j=100;j>0;j--)
    {
  for(k=254;k>0;k--)
  bep=0;
 }
  bep=1;                                       //关蜂鸣器
 }
/**********************************************/
/*延时1ms函数
/**********************************************/
void delay1ms(uchar t)     
{
  uchar j,k;
  for(j=0;j<t;j++)
  for(k=0;k<120;k++);
}

/**********************************************/
/*AD转换函数
/**********************************************/
void adc(void)
{
 ALE=1;
 _nop_();
 _nop_();
 ALE=0;
www.youerw.com
 _nop_();
 while(EOC==0);                             //等待转换结束
 OE=1;
 ad_data=P0;                                   //读入转换数据
 OE=0;
}
/**********************************************/
/*十进制BCD码转换函数
/**********************************************/
void BCD(void)
{
 bcd_buf[2]=(ad_data/51);                   //十位
 temp=(ad_data%51);
 te=(temp%51);
 temp=temp*10;
 bcd_buf[0]=(temp/51);                       //小数位
 if(bcd_buf[2]>set_data[2])                 //报警值检测
   beep();
 else if(bcd_buf[2]==set_data[2])
  {
  if(bcd_buf[1]>set_data[1])
   beep();
   else if(bcd_buf[1]==set_data[1])
    {
       if(bcd_buf[0]>set_data[0])
         beep();

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

单片机智能电子温度计设计(电路图+原理图+源代码) 第6页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。