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

基于现场总线的温度测控系统设计 第14页

更新时间:2009-4-1:  来源:毕业论文
基于现场总线的温度测控系统设计 第14页系统程序


#include <reg52.h>
#include <intrins.h>
#include <absacc.h>
#include <stdio.h>
#include <math.h>
#define uchar unsigned char
#define uint unsigned int

sbit LCD_RS = P0^2;                            //LCD数据/指令通道选择
sbit LCD_RW = P0^1;                                //LCD读写选择信号
sbit LCD_EN = P0^0;                                //LCD势使能
sbit P0_5=P0^5;                                    //蜂鸣器引脚
sbit P0_6=P0^6;                                    //冷却电路输入端
sbit P0_7=P0^7;                                    //加热电路输入端
sbit P3_5=P3^5;                                    //传感器数据接入脚
uchar code seg7code[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,
                              0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};        //16位键码码
uchar TEMP;                // 温度值的变量;
uchar flag1;            // 结果为负和正的标志位。  
uchar k;                                //K为按键键值段码顺序
uchar M;                                //键盘扫描值
uchar E;                                //E为温度范围下限侄
uchar F;                                //F为温度范围上限值

void delay (uint count)       //延时程序
{         
 uint i; 
 while (count) 
 {
  i =200;
  while (i>0) i--;
  count--;
    }
}

Getch (  )           //键盘扫描程序
{   uchar X,Y,Z;
 P2=0xff;
 P2=0x0f;                                   //先对P2置数  行扫描
 if(P2!=0x0f)                                //判断是否有键按下
 {delay(25);                             //延时,软件去干扰 延时10MS
  if(P2!=0x0f)                               //确认按键按下X = P2;
 {
 X=P2;                               //保存行扫描时有键按下时状态
 P2=0xf0;                                    //列扫描
 Y=P2;                                //保存列扫描时有键按下时状态
  Z=X|Y;                                      //取出键值
 switch ( Z )                                   //判断键值(那一个键按下)
 {
  case 0xee: k=0; break;                       //对键值赋值
  case 0xde: k=1; break;
  case 0xbe: k=2; break;
  case 0x7e: k=3; break;
  case 0xed: k=4; break;
  case 0xdd: k=5; break;
  case 0xbd: k=6; break;
  case 0x7d: k=7; break;
  case 0xeb: k=8; break;
  case 0xdb: k=9; break;  
  case 0xbb: k=10;break;
  case 0x7b: k=11;break;
  case 0xe7: k=12;break;
  case 0xd7: k=13;break;
  case 0xb7: k=14;break;
  case 0x77: k=15;break;
 }
        M=seg7code[k];
        return(M);
 }
 }
}

void tmreset (void)    // 发送复位和初始化
{
 uint i;
 P3_5 = 0; 
 i = 103;
youerw.com 
}

bit tmpread (void)  // 读取数据的一位
{
 uint i;
 bit dat;
 P3_5 = 0; i++; 
 P3_5 = 1; i++; i++;            //延时 
 dat = P3_5; 
 i = 8; while (i>0) i--;         // 延时
 return (dat);

uchar tmpread2 (void)          //读一个字节
{
 uchar i,j,dat; 
 dat = 0; 
 for (i=1;i<=8;i++)
 {

 << 上一页  [11] [12] [13] [14] [15] [16] 下一页

基于现场总线的温度测控系统设计 第14页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

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