⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ht9200拨号程序.c

📁 一个很详细的电话拨号程序
💻 C
字号:
#include <reg52.h>
#include<intrins.h>
#define uchar unsigned char  // 0~255
#define uint  unsigned int   // 0~65535

sbit HT9200_DATA = P0^4;
sbit HT9200_CLK  = P0^5;
sbit HT9200_CE = P2^5;

uchar code PhoneNum[]={1,3,5,1,0,2,4,0,9,0,7};

void delayms(uint t)
{
	uchar i;
	for(;t>0;t--)
		for(i=0;i<200;i++);
}

void Ht9200SndByte(uchar num)
{//将num的低5位发送出去,先发低,后发高
	uchar i;
	for(i=0;i<5;i++)
		{
			HT9200_CLK=1;			//下降沿发送数据
			HT9200_DATA=0x01 & num;	//取出第一位数据
			HT9200_CLK=0;			//发送数据
			num >>=1;				//右移一位
		}
	delayms(50);					//延时让DTMF发出号码
}

void Ht9200(uchar *ip)
{//ip为电话号码的首个字节,以0xff为结束标志
	uchar num
	HT9200_CE=0;
	delayms(10);									//等待9200的晶振进入正常的工作状态,
	while(*ip!=0xff)
	{
		if( *ip=='0' )
			num = 0x0a;
		else if( *ip=='*' )
			num = 0x0b;
		else if( *ip=='#' )
			num = 0x0c;
		else 
			num=*ip;
		Ht9200SndByte(num);							//发送出去
	}
	Ht9200SndByte(0xff);									//发送结束标志
	HT9200_CE=1;
}


main()
{
	delayms(5000);
	Ht9200(PhoneNum);
	while(1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -