亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 8880._c

?? 使用8880實現DTMF通信及撥號的程序.
?? _C
字號:
#include <iom8v.h>
#include <macros.h>
#include "8880.h"
#include "serial.h"
#include "main.h"
#include "timer.h"
char sendbuf[M8880_SEND_BUFSIZE];
char recvbuf[M8880_RECV_BUFSIZE];
M8880_STATE M8880_State;
char *noresponse="noresponse\n";
char *handdown="handdown\n";
char *c_ok="ok\n";
char *c_error="error\n";
char *c_busying="busying\n";
char *calling="calling\n";
char *answering="answering\n";
void M8880_WriteChar(char c)
{
 	 M8880_DataPort&=0xf0; 								//CLR low 4bit
 	 M8880_CtrlPort&=~(M8880_CS|M8880_RW|M8880_RS); 	//CLR CS  RW  RS hold CLK
	 M8880_DataPort|=(c&0xf);		   					//Write Data
	 M8880_CtrlPort&=~M8880_CLK;			   			//CLR CLK
	 NOP();												//wait a few time
	 NOP();
	 M8880_CtrlPort|=M8880_CS|M8880_RW|M8880_CLK|M8880_RS;  //set CS RW CLK RS 
}
char M8880_ReadChar()
{
 	 char c;
	 M8880_DataDDR&=0xf0;								//set direction to input
	 M8880_CtrlPort&=~(M8880_CS|M8880_RS);				//CLR CS RS hold RW CLK
	 M8880_CtrlPort&=~M8880_CLK;						//CLR CLK
	 NOP();												//waite a few time
	 NOP();
	 c=M8880_DataPIN&0xf;								//ReadData
	 M8880_CtrlPort|=M8880_CS|M8880_RW|M8880_CLK|M8880_RS;  //set CS RW CLK RS
	 M8880_DataDDR|=0X0F;								//restore direction
	 return c;
}
void M8880_WriteCtrl(char c,char flag)
{
 	 M8880_DataPort&=0xf0; 		 						//clear low 4bit
 	 M8880_CtrlPort&=~(M8880_CS|M8880_RW);  			//CLR CS  RW  HOLD RS CLK
	 if (flag)											//if we need to write CRB
	 	 M8880_DataPort|=((c&0xf)|M8880_BIT3);		   	//so we need to set bit3
	 else												//else
	 	 M8880_DataPort|=(c&(0xf&(~M8880_BIT3)));		//we need to clear bit3
	 M8880_CtrlPort&=~M8880_CLK;			   			//CLR CLK
	 NOP();												//wait a few time
	 NOP();
	 M8880_CtrlPort|=M8880_CS|M8880_RW|M8880_CLK|M8880_RS;		//set CS RW CLK RS
	 if (flag){ 										//if we need to write CRB ...
	 	M8880_DataPort&=0xf0;
	 	M8880_CtrlPort&=~(M8880_CS|M8880_RW);
	 	M8880_DataPort|=(c>>4);
	 	M8880_CtrlPort&=~M8880_CLK;
	 	NOP();
	 	NOP();
	 	M8880_CtrlPort|=M8880_CS|M8880_RW|M8880_CLK|M8880_RS;  //set CS RW CLK
	 }
}
char M8880_ReadState(void)
{
  	 char c;
	 M8880_DataDDR&=0xf0;
	 M8880_CtrlPort&=~(M8880_CS);
	 M8880_CtrlPort&=~M8880_CLK;
	 NOP();
	 NOP();
	 c=M8880_DataPIN&0xf;
	 M8880_CtrlPort|=M8880_CS|M8880_RW|M8880_CLK|M8880_RS;  //set CS RW CLK
	 M8880_DataDDR|=0X0F;
	 return c;	 
}
void M8880_Init(void)
{
	 M8880_State.SendCount=0;
	 M8880_State.CurSend=sendbuf;
	 M8880_State.Sending=0;
	 M8880_State.RecvIntCount=0;
	 M8880_State.RecvStartPtr=recvbuf;
	 M8880_State.RecvEndPtr=recvbuf;
	 M8880_State.CurRecv=recvbuf;
 	 M8880_DataDDR|=0xf;
	 M8880_DataPort&=~0xf;
	 M8880_CtrlPort|=M8880_CS|M8880_RW|M8880_CLK|M8880_RS;
	 M8880_CtrlDDR|=M8880_CS|M8880_RW|M8880_CLK|M8880_RS;
	 M8880_ReadState();
	 M8880_WriteCtrl(0x00,0);
	 M8880_WriteCtrl(0x00,0);
	 M8880_WriteCtrl((M8880_BIT0|M8880_BIT2),-1);
	 M8880_ReadState();
#if M8880_INT==1
	 PORTD|=0x8;
	 DDRD&=~0x8;
	 MCUCR&=~((1<<ISC11)|(1<<ISC10));
	 MCUCR|=(1<<ISC11);
	 GICR|=(1<<INT1);
	 GIFR|=(1<<INT1);
#else
	 PORTD|=0x4;
	 DDRD&=~0x4;
	 MCUCR&=~((1<<ISC01)|(1<<ISC00));
	 MCUCR|=(1<<ISC01);
	 GICR|=(1<<INT0);
	 GIFR|=(1<<INT0);
#endif 
}
char *dec="01234567890*#abcd";
#pragma interrupt_handler int0_isr:iv_INT0
void int0_isr(void)
{
  char c;
  c=M8880_ReadState();
  if (c&M8880_BIT1){
   	 M8880_State.SendCount--;
     if (M8880_State.SendCount>0){
		 M8880_State.CurSend++;
	 	 M8880_WriteChar(*M8880_State.CurSend);
	 }else{
	 	M8880_State.CurSend=sendbuf;
		M8880_State.Sending=0;
	 }
  }
  if ((c&M8880_BIT2)&&((c&M8880_BIT3)==0)){
  	 if (M8880_State.RecvIntCount>0){
	 	 M8880_State.RecvIntCount--;
	   	 *M8880_State.CurRecv++=dec[M8880_ReadChar()];
		 if (M8880_State.CurRecv==recvbuf+M8880_RECV_BUFSIZE)
		 	M8880_State.CurRecv=recvbuf;
		 if (M8880_State.RecvIntCount==0)
		    M8880_State.RecvEndPtr=M8880_State.CurRecv;
	 }
  }
}
void M8880_Send(char *x,char count)
{
 	char *c;
	if (count==0) return;
	while(M8880_State.Sending);
	M8880_State.SendCount=count;
	M8880_State.Sending=-1;
	c=sendbuf;
 	for (;count>0;count--){
		*c++=*x++;
	}
	M8880_WriteChar(*M8880_State.CurSend);
}
char number[]={10,1,2,3,4,5,6,7,8,9};
void M8880_Dial(char *x)
{
 	char *c;
	if (*x==0) return;
	while(M8880_State.Sending);
	M8880_State.SendCount=0;
	M8880_State.Sending=-1;
	c=sendbuf;
 	while(*x){
		*c++=number[(*x++)-'0'];
		M8880_State.SendCount++;
	}
	M8880_WriteChar(*M8880_State.CurSend);
}
void M8880_Recv(char* buf,char count)
{
 	if (count==0) return;
	M8880_State.RecvIntCount=count;
	while(M8880_State.RecvStartPtr==M8880_State.RecvEndPtr);
	while(M8880_State.RecvStartPtr!=M8880_State.RecvEndPtr){
	 	*buf++=*M8880_State.RecvStartPtr++;
		if (M8880_State.RecvStartPtr==recvbuf+M8880_RECV_BUFSIZE)
		   M8880_State.RecvStartPtr=recvbuf;
	}
	 *buf=0;
}
void M8880_CPDial(char *buf)
{
	 int x;
#if M8880_INT==1
	 GICR&=~(1<<INT1);
#else
	 GICR&=~(1<<INT0);
#endif
 	 M8880_WriteCtrl(M8880_BIT0|M8880_BIT1|M8880_BIT2|M8880_BIT3,-1);
	 while(*buf!=0){
	  char c;
	  c=*buf++;
	  c-=('0');
	  M8880_WriteChar(number[c]);
	  while(((x=M8880_ReadState())&M8880_BIT0)==0x0);
	 };
	 M8880_WriteCtrl(M8880_BIT0|M8880_BIT2,-1);
	 M8880_ReadState();
#if M8880_INT==1
	 GIFR|=(1<<INT1);
	 GICR|=(1<<INT1);
#else
	 GIFR|=(1<<INT0);
	 GICR|=(1<<INT0);
#endif
}
#pragma interrupt_handler int1_isr:iv_INT1
void int1_isr(void)
{
 	 if ((sysoption.calling==0) && sysoption.autoanswer){
	 	M8880_Handup;
		sysoption.calling=2;
		serial_send(answering);
		MCUCR|=0xc;
		TCCR1B=0x05;
	 }
	 if (sysoption.calling==3){
		M8880_Handdown;
	 	sysoption.calling=0;
	 	MCUCR&=~0xc;
		MCUCR|=0x8;
		serial_send(handdown);
	 }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美第一区第二区| 欧美在线播放高清精品| 亚洲mv大片欧洲mv大片精品| 中文字幕成人网| 久久精品网站免费观看| 26uuu亚洲| 久久精品免视看| 久久久电影一区二区三区| 国产亚洲短视频| 国产精品卡一卡二| 亚洲黄色小视频| 午夜精品一区在线观看| 天天综合色天天| 久久草av在线| 国产精品一区三区| av色综合久久天堂av综合| 一本久久综合亚洲鲁鲁五月天| 91尤物视频在线观看| 91日韩一区二区三区| 欧美三级电影网| 日韩一二三区不卡| 久久久久88色偷偷免费| 中文字幕av一区二区三区高| 洋洋成人永久网站入口| 天堂蜜桃91精品| 国产精品综合网| 色婷婷国产精品| 91精品国产品国语在线不卡| 国产偷国产偷亚洲高清人白洁| 国产精品美女视频| 亚洲成人精品在线观看| 国产精品一区二区你懂的| 99re6这里只有精品视频在线观看| 在线精品观看国产| 久久色中文字幕| 一区二区三区成人| 经典三级在线一区| 色综合久久久久网| 26uuu国产在线精品一区二区| 国产精品乱人伦| 免费欧美日韩国产三级电影| 国产xxx精品视频大全| 色香色香欲天天天影视综合网| 91麻豆精品91久久久久久清纯| 久久免费视频一区| 亚洲高清免费在线| 99综合影院在线| 精品国产一区a| 亚洲自拍偷拍av| 成人av手机在线观看| 日韩一区二区三区观看| 亚洲午夜精品网| 99久久精品免费看| 国产日韩精品一区二区浪潮av| 天堂午夜影视日韩欧美一区二区| 处破女av一区二区| 精品日韩在线一区| 午夜精品视频在线观看| 99久久夜色精品国产网站| 久久久久国产一区二区三区四区| 五月婷婷综合网| 欧美亚洲另类激情小说| 国产精品久久久爽爽爽麻豆色哟哟| 免费日韩伦理电影| 欧美一区二区三区在线观看视频| 亚洲欧洲综合另类| 成人av片在线观看| 中文av一区二区| 国产传媒久久文化传媒| 久久人人爽人人爽| 久久不见久久见免费视频1| 日韩一二在线观看| 毛片av一区二区三区| 欧美放荡的少妇| 日产欧产美韩系列久久99| 精品视频一区 二区 三区| 一二三四社区欧美黄| 91精品福利视频| 一区二区激情小说| 在线欧美小视频| 一区二区三区欧美亚洲| 欧美日韩在线播放三区四区| 一区二区三区中文字幕| 欧美三区在线观看| 日本不卡一二三区黄网| 日韩一区二区三区电影| 精品一区二区三区香蕉蜜桃| 欧美大片顶级少妇| 国产剧情一区二区三区| 欧美国产亚洲另类动漫| 92国产精品观看| 一区二区三区视频在线看| 欧美日韩精品免费| 久久se精品一区精品二区| 国产女同互慰高潮91漫画| 成人高清免费观看| 亚洲主播在线播放| 欧美大白屁股肥臀xxxxxx| 国产精品一区二区视频| 亚洲精品老司机| 欧美日韩国产123区| 狠狠色综合日日| 自拍偷拍国产精品| 91精品国产入口| 成人精品在线视频观看| 一区二区三区欧美视频| 日韩精品中文字幕在线不卡尤物| 国产.精品.日韩.另类.中文.在线.播放 | 中文字幕欧美日韩一区| 在线免费精品视频| 奇米影视一区二区三区小说| 亚洲国产精品精华液ab| 欧美日韩黄色影视| 国产成人av影院| 午夜精品一区在线观看| 中文字幕乱码日本亚洲一区二区 | 亚洲欧洲性图库| 6080亚洲精品一区二区| 不卡的av中国片| 日韩高清在线观看| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲精品乱码久久久久久黑人 | 亚洲一区二区三区小说| 久久蜜桃av一区二区天堂 | 国产 日韩 欧美大片| 日韩av高清在线观看| 中文字幕一区二区三区四区不卡 | 在线视频欧美精品| 大桥未久av一区二区三区中文| 亚洲mv在线观看| 亚洲精品美腿丝袜| 亚洲欧洲性图库| 国产午夜亚洲精品不卡| 日韩女优制服丝袜电影| 欧美视频精品在线| 在线国产电影不卡| 91在线观看一区二区| 成人精品视频一区二区三区尤物| 国产综合色产在线精品| 免费黄网站欧美| 日韩精品一二三| 丝袜美腿亚洲色图| 亚洲精品伦理在线| 亚洲综合小说图片| 亚洲午夜在线电影| 一个色妞综合视频在线观看| 中文字幕在线不卡一区二区三区 | 亚洲人一二三区| 国产精品视频一二| 国产欧美精品一区aⅴ影院 | 91精品视频网| 91精品国产综合久久精品性色| 91一区在线观看| 91丝袜美腿高跟国产极品老师| 国产成人av自拍| 不卡av在线免费观看| jlzzjlzz亚洲女人18| 成人av在线影院| 99re66热这里只有精品3直播| 99视频精品免费视频| 99国产精品视频免费观看| 99riav久久精品riav| 91免费看片在线观看| 在线视频你懂得一区| 91精品黄色片免费大全| 日韩免费观看高清完整版在线观看| 日韩免费性生活视频播放| 欧美精品一区男女天堂| 欧美韩日一区二区三区四区| 一区在线中文字幕| 亚洲国产一区二区a毛片| 日本不卡不码高清免费观看| 国产伦精品一区二区三区视频青涩 | 国产成人一区在线| 99精品在线观看视频| 欧美喷潮久久久xxxxx| 日韩欧美一区二区三区在线| 久久综合九色综合97婷婷女人| 欧美国产日韩在线观看| 亚洲一区二区三区爽爽爽爽爽| 日日夜夜精品视频天天综合网| 激情偷乱视频一区二区三区| 成人精品视频.| 欧美精品免费视频| 国产亚洲一区二区三区| 亚洲欧美日韩国产成人精品影院 | 国产精品18久久久久久久网站| 国产成人aaaa| 欧美日韩国产在线播放网站| 精品区一区二区| 亚洲三级理论片| 蜜桃久久久久久久| aaa欧美色吧激情视频| 日韩欧美成人一区| 一区二区三区免费观看| 久久av老司机精品网站导航| 色哟哟国产精品| 国产日产精品一区| 午夜精品福利在线| 色综合久久久网|