led点阵书写屏程序(6)
发布时间:2021-06-07
发布时间:2021-06-07
c_result>0X4C)key=4; //>1.5V
else if(adc_result>0X33)key=3; //>1V
else if(adc_result>0X19)key=2; //>0.5V
else key=1;
}else{
//*********************
//ADC_POWER_ON
ADC_CONTER|=0X80;
delay_us(1000); //1ms左右的延时
//*********************
//*********************
//选择模拟口(P1.0、P1.1),即断开上拉电阻形成开漏输出
P1ASF=0x03;
//*********************
//*********************
//选择P1.0作为ADC转换通道
ADC_CONTER&=0XF8; //低三位清零
_nop_();_nop_();_nop_();_nop_();//让ADC_CONTER的数据稳定
ADC_CONTER|=0X01;
delay_us(20); //切换通道,延时20us使电压稳定
//*********************
//*********************
//取AD转换结果,ADRJ上电复位默认为0,即取高8位数据
ADC_RES=0XFF; //初始化为0XFF;
ADC_CONTER|=0X08; //ADC_START
_nop_();_nop_();_nop_();_nop_();
do{
finish=0X10; //0001 0000(b)
finish|=ADC_CONTER;
}while(finish); //等待AD转换完成
ADC_CONTER&=0XE7; //11100111,请AD转换完成标志位,停止AD转换
adc_result=ADC_RES;
//*********************
if (adc_result<0xB3)//0xb3即3.5V,0XB3/0XFF*5=3.5
{
if(adc_result>0x99)key=14; //>3v
else if(adc_result>0X80)key=13; //>2.5v
else if(adc_result>0X66)key=12; //>2V
else if(adc_result>0X4C)key=11; //>1.5V
else if(adc_result>0X33)key=10; //>1V
else if(adc_result>0X19)key=9; //>0.5V
else key=8;
}
}
return key;
}
////////////////////////////////////END///////////////////////////////////////////////////////////////////////////
///////////////////////////////////文件超时待机.c//////////////////////////////////////////////////////////
#include"myself.h"
#include<reg52.h>
#include<intrins.h>
void sleeptim(size showing)
{
uchar key;
uchar save_row=LED_ROW,save_line=LED_LINE; //用来保存数码管数据
while(1)
{
key=getkey();
switch(key)
{
case key_esc : return;break; //退出
case key_crease : if(sleepmin<20)sleepmin++;break; //”数据+1“
case key_decrease : if(sleepmin>1)sleepmin--;break; //”数据-1“最小值为1
default : break; //没按键匹配的,直接退出。虽然在这里不发生,但安全起见加上去
}
LED_ROW=0x00;LED_LINE=sleepmin;
shu_ma_g();
dis_play(showing);
LED_ROW=save_row;LED_LINE=save_line;
}
}
////////////////////////////////////END///////////////////////////////////////////////////////////////////////////
////////////////////////////////////文件 数码管显示.c////////////////////////////////////////////////////////
//////////
#include "myself.h"
#include <intrins.h>
#include <reg52.h>
sbit RCLK_595=P2^5;
sbit SRCLK_595=P2^6;
上一篇:国外著名商业街区案例简介
下一篇:香港旅游指南