简单的义隆单片机LED闪烁C程序
fxhfxh
1726
10
朋友要求做一个由15个发光二极管并联组成的闪烁发光装置,要求价格尽量低,用3V纽扣电池供电,没有开关,只有一个按键。找来找去,目前只发现最便宜的8个脚的单片机是义隆的EM78P153B, 0.27元一片,这个价格应该是比较低的了吧。但它是OTP型的,以前没有开发过这个型号,于是在网上看了一些资料,并用C编写了一个程序,经过初步试验,能够满足要求,用CR2540供电,不间断连线开机能够闪烁近200个小时。下面贴出源程序,供有此需求的朋友参考并欢迎指正。源程序有简单的注释和需要注意的地方。开发环境为义隆的eUIDE。
//2015-6-19 按1次,15个发光二极管以120次/秒闪烁,再按1次,熄灭,再按,又闪烁。。。
#include"EM78x153xx.h"
//-----------------------------------------------------------------
#define DISI()_asm{disi} //禁止中断
#define WDTC()_asm{wdtc} //清零看门狗定时器
#define NOP()_asm{nop}
#define ENI()_asm{eni} //使能中断
#define SLEP()_asm{slep} //0-->WDT(清零看门狗),振荡器停止
//--------------------------------------------------------------
void _delay_us(unsigned char delay);
void _delay5ms();
//-------------------------------------------------------------
#define key R65 //相当于51 中的位定义
#define led R62
//-------------------------------------------------------------
unsigned char time_COUNTER;
unsigned char key_COUNTER;
bit bz_key;
//--------------------------------------------------------------
void SysInit(void)
{
<