/*********************************************************************** ** 函数名称: main() ** 功 能: 程序入口 ** 入口参数: 无 ** 出口参数: 无
***********************************************************************/ void main(void) { P1=0xcf; // 初始化 IT1=1;//脉冲触发方式 EX1=1; TimeT1(); EA = 1; // 开中断 delay(500); while( 1 ) // 主循环 {
if(bAD_Val<=51) { P1_0=0; } if(bAD_Val>=204) { P1_1=0; } if(bAD_Val>51&&bAD_Val<204) { P1_0=1; P1_1=1; } } }
/*********************************************************************** ** 函数名称: INT_INT1()
** 功 能: INT1中断服务程序,使用工作寄存器组1 ** 入口参数: 无 ** 出口参数: 无
***********************************************************************/ void INT_INT1(void) interrupt 2 using 1 {
bAD_Val=AD_Read(6); // 此处添加读和保存AD转换结果的语句(结果保存到bAD_Val) }
/*********************************************************************** ** 函数名称: INT_T1()
** 功 能: T1中断服务程序,使用工作寄存器组1 ** 入口参数: 无 ** 出口参数: 无
***********************************************************************/ void INT_T1() interrupt 3 using 1 { static int bCount = 2; // 秒计数 TH1=TIMER1DEF/256; // 重置定时常数的语句
TL1=TIMER1DEF%6; if( --bCount == 0) // 判断100毫秒时间到 { bCount=2; //重置秒计数的语句 AD_Convert(6); //启动AD转换的语句 } }
/****************************************************************************************
* @file 汉字显示
* @author 秘密作战实验室(FREE) * @version v1.0
* @date 2015-06-26
* 功 能: 在8X8的LED点阵显示器上显示汉字“大”(硬件电路参见Displayer_dot.DSN)。
***************************************************************************************/
#include\
unsigned char Line[]={0x10,0x10,0xff,0x10,0x28,0x24,0x42,0x81}; unsigned char Row[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; void delay(unsigned int time) {
unsigned int i,j; for(i=0;i