⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ai.c

📁 空调控制器
💻 C
字号:
#include	<reg52.h>
#include	<ctype.h>
#include	<stdlib.h>
#include	<stdio.h>
#include	<math.h>
#include       <intrins.h>
//==========AD采样模块============//

//TLC1543 A/D用转换用
sbit CLOCK=P0^3 ;
sbit D_IN=P0^1 ;     // from cpu to 1543
sbit D_OUT=P0^2;
sbit CS_1543=P0^0 ;

//========================新版本=======================
#pragma NOAREGS
unsigned int read1543(unsigned char byte)	//从TLC1543读取采样值,形参byte是采样的通道号
{
unsigned int  data ad;
unsigned char  i;
unsigned char  al=0,ah=0;
    byte=byte<<4;
    EA=0;               // disable interrupt;
    D_IN=1;
    CLOCK=0;
    CS_1543=0;
    
    i=4;
    while(i) {
       i--;
       D_OUT=(bit)(byte&0x80);
       CLOCK=1;
       CLOCK=0;
       byte=byte<<1;
       }
    D_OUT=0;                   //  输入6个  0
    i=6;
    while(i){                 //  填充6个CLOCK
      i--  ;
      CLOCK=1;
      CLOCK=0;
      }
    CS_1543=1;
    EA=1;
     
   for(i=0;i<255;i++){
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();     
     }          
   

   EA=0;
   CS_1543=0; //等待AD转换
   i=2;
   while(i) //取D9,D8
   {
         i--;
	 CLOCK=1;
	 ah<<=1;
         if(!D_IN) ah=ah|0x1;
	 CLOCK=0;
         }
  i=8;
  while(i) //取D7--D0
  {
         i--;
	 CLOCK=1;
	 al<<=1;
         if(!D_IN) al=al|0x1;
	 CLOCK=0;
         }
    CS_1543=1;  //    减小功耗
    CLOCK=1;     //    减小功耗
    D_OUT=1;     //    减小功耗
    EA=1;
    ad=(unsigned int)ah;
    ad<<=8;
    ad|=al; //得到AD值
    return (ad);
}






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -