原创 学习NEC单片机二-----定时中断

2009-8-20 16:40 3088 6 7 分类: EDA/ IP/ 设计与制造

/*use TM50 timer control LED,use Frh 8M,8000000/8192=976.5Hz,f0=240,240/976.5=0.24S,0.24*20=4.8S*/
#pragma sfr
#pragma di     /*close interrupt*/
#pragma ei     /*open  interrupt*/
#define   UINT8 unsigned char
#define   UINT16 unsigned int
#pragma interrupt INTTM50 vect_INTTM50


UINT16 counter = 0;


void init_TM50()
{
  TCE50 = 0;    /*stop timer50*/
  CRC00 = 0;
  TCL50 = 0x07;
  CR50 = 0xf0;
  TMC50 = 0x85;
  TMIF50 = 0;
  TMMK50 = 0;
}  


void restart_TM50()
{
TMIF50 =0;
TCE50 = 0;
TCE50 = 1;
}



void main()
{
 IMS = 0xc8;   /*fast RAM 1024byte,32kbROM*/  
 IXS = 0x0c;     
 OSCCTL = 0x00;
 PCC = 0x00; /*main systerm time,Fcpu=Fxp*/     
 RCM = 0x82;   /*stop lrstop,open rstop*/
 MOC = 0x80;  /* stop X1 or EXCLK*/    
 MCM = 0x05;     /*high systerm time*/
 PM6 = 0xf0;
 P6 = 0xff;
 
 DI();          /*stop INT*/
 init_TM50();
 restart_TM50();
 EI();


 while( 1 )
 {
   ;
 }
 
 }
 
__interrupt void vect_INTTM50(void)
{
 counter ++;
 
 if( counter >= 20 )
 {
    counter = 0;
    P6 = ~P6;
 }
}
 


 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户377235 2012-5-29 12:00

想问下楼主用TM50和TM00两个中断怎么嵌套使用?有样例程序吗?

相关推荐阅读
用户1482059 2009-08-20 16:58
TFT液晶学习心得--转载
最近一段时间工作上一直在使用TFT LCD,主要是3.5寸LCD,以SAMSUNG的LTV350QV及其一些台湾的兼容产品为主。工作的内容就是把这些屏在我们的产品上应用起来,经过这一段时间后,发觉对T...
用户1482059 2009-08-20 16:39
学习NEC单片机一LED灯
#pragma sfr#define   uchar unsigned char#define   uint  unsigned intvoid delaynms(uint n){ unsigned ...
用户1482059 2009-05-20 15:12
CAN/I2S/I2C/SPI/SSP总线简介
一、SPI总线说明 串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口,Motorola公司生产的绝大多数MCU(微控...
用户1482059 2009-05-17 23:57
21IC上海网友见面会
今天参加21IC网友见面会,终于见到了匠人了啊,长的有点像梁朝伟,嘿嘿,总是笑眯眯的,感觉很亲切,还有见到菁菁木华和土人无脉了,哈哈,很高兴啊,见到了行业的精英们啊,今天可高兴了,期待下次的见面会,有...
用户1482059 2008-10-12 21:25
年轻工程师是如何锻炼成“高手”的(转)
本人做过技术开发工作多年,从焊电路板的小工程师逐渐做到项目经理、研发经理,现在做到总工程师,作为工程师有亲身的感受,作为研发主管,对工程师的性格、心理和知识结构有非常深入的了解,现在把自己的一点感悟与...
我要评论
1
6
关闭 站长推荐上一条 /3 下一条