• 大小: 42.2 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-10-07
  • 语言: 其他
  • 标签: SCA60  程序  

资源简介

SCA60角度检测传感器模块程序
利用1602显示AD转换结果

资源截图

代码片段和文件信息

/******************************************************************** 
                                        龙戈电子 
实现功能:SCA60C最小系统版配套测试程序 
使用芯片:STC12C5A60S2 
晶振:11.0592MHZ 
波特率:9600 
编译环境:Keil 
作者:LOGO  
网站:www.auto-ctrl.com 
【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!       
*********************************************************************/ 
/******************************************************************** 
说明:1、 当传动传感器时 在1602上输出角度值
*********************************************************************/ 
/******************************************************************** 
接线说明:1、 vcc-----5V   GND------GND  V0---------P1^0
*********************************************************************/ 
#include 
#include 
#include
#include
#define uchar unsigned char
#define uint  unsigned int 

typedef unsigned char BYTE;
typedef bit BOOL;  

sfr   AUXR1     =   0xA2;
sfr   ADC_CONTR     =   0xBC;              //ADC control register
sfr   ADC_RES       =   0xBD;              //ADC high 8-bit result register
sfr   ADC_RESl  =    0xBE;
sfr   P1ASF         =   0x9D;              //P1 secondary function control register
#define   ADC_POWER     0x80               //ADC power control bit
#define   ADC_FLAG      0x10               //ADC complete flag
#define   ADC_START    0x08               //ADC start control bit
#define   ADC_SPEEDLL   0x00               //540 clocks
#define   ADC_SPEEDL    0x20               //360 clocks
#define   ADC_SPEEDH   0x40               //180 clocks
#define   ADC_SPEEDHH   0x60               //90 clocks

int ijdisplay=0t02s;
double c;
int cdisplaylow2;


sbit LCD_RS = P2^5;             
sbit LCD_RW = P2^6;
sbit LCD_EP = P2^7;
sbit warning = P3^2;
sbit beep = P3^4;
//////////////显示数组
BYTE code dis1[] = {“   WELCOME  TO   “};
BYTE code dis2[] = {“3W.auto-ctrl.COM“};
BYTE code dis3[] = {“TEST...“};
BYTE code dis5[] = {“WWW.auto-ctrl.COM“};
BYTE code Shock[] = {“ Shock “};
BYTE code Quiet[] = {“ Quiet “};
uchar   tab2[]={‘v‘‘o‘‘l‘‘t‘‘a‘‘g‘‘e‘};

void ADC();
void flash(); 
unsigned int GetADCResult(int ch);
void ADC();
void InitADC();
void delay(int ms)
{                           // 延时子程序
while(ms--)
{
  for(i = 0; i< 250; i++)
  {
   _nop_();
   _nop_();
   _nop_();
   _nop_();
  }
}
}

BOOL lcd_bz()
{                          // 测试LCD忙碌状态
BOOL result;
LCD_RS = 0;
LCD_RW = 1;
LCD_EP = 1;
_nop_();
_nop_();
_nop_();
_nop_();
result = (BOOL)(P0 & 0x80);
LCD_EP = 0;
return result; 
}

void lcd_wcmd(BYTE cmd)
{                          // 写入指令数据到LCD
while(lcd_bz());
LCD_RS = 0;
LCD_RW = 0;
LCD_EP = 0;
_nop_();
_nop_(); 
P0 = cmd;
_nop_();
_nop_();
_nop_();
_nop_();
LCD_EP = 1;
_nop_();
_nop_();
_nop_();
_nop_();
LCD_EP = 0;  
}

void lcd_pos(BYTE pos)
{                          //设定显示位置
lcd_wcmd(pos | 0x80);
}

void lcd_wdat(BYTE dat) 
{                          //写入字符

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      10243  2012-04-05 23:07  sca60c adc\shock4 adc.c

     文件        525  2012-04-05 23:08  sca60c adc\sca60c.plg

     文件         48  2012-04-05 23:08  sca60c adc\sca60c.lnp

     文件      22014  2012-04-05 23:08  sca60c adc\sca60c.M51

     文件       9572  2012-04-05 23:08  sca60c adc\sca60c.hex

    .......         0  2012-03-28 22:43  sca60c adc\sca60c_uvproj.bak

    .......     13240  2012-03-28 23:21  sca60c adc\sca60c.uvproj

     文件      19031  2012-04-05 23:08  sca60c adc\shock4 adc.LST

     文件      20662  2012-04-05 23:08  sca60c adc\shock4 adc.OBJ

     文件      19889  2012-04-05 23:08  sca60c adc\sca60c

    .......     73150  2012-04-05 23:06  sca60c adc\sca60c_uvopt.bak

    .......     73144  2012-04-05 23:08  sca60c adc\sca60c.uvopt

     目录          0  2012-03-28 22:42  sca60c adc

----------- ---------  ---------- -----  ----

               261518                    13


评论

共有 条评论