㈠ 合泰单片机HT IDE3000打开一个工程,其中源文件、头文件、外部文件分别是什么关系
源文件也就相当于为实现你的应用而编写的源代码文件;头文件:用于定义源文件中的一些预定义或一些基础的定义,包括单片机的管脚等;外部文件:是指你需要引用的一些外部做好的功能模块文件,比如你做好的串口文件、LED显示文件等。最后工程编译后生成目标文件,可以存在OBJ文件夹中
㈡ at89c52单片机可以通过普通IO口实现一线通信吗求通信程序!
/*合泰单片机*/
#defineDATA_pa6
unsignedcharnub[5]={0x01,0x0b,0xfe,0xcd,0xee};
unsignedcharReceive[10]={0x00};
unsignedcharReceivetime;
unsignedcharReceiveBF=0x00;
unsignedcharReceivecount=0x00;
unsignedcharReceiveC=0x00;
void__attribute((interrupt(0x10)))isr_time(void)//100us定时器中断函数
{
_ptma0f=0;
switch(ReceiveBF)
{
case0x00://引导码低
{
if(DATA)
{
if(Receivetime>85)
{
if(Receivetime<100)
{
ReceiveBF=0x01;
Receivetime=0x00;
}
else
{
ReceiveBF=0x00;
Receivetime=0x00;
}
}
else
{
ReceiveBF=0x00;
Receivetime=0x00;
}
}
else
{
Receivetime++;
}
break;
}
case0x01://引导码高
{
if(DATA)
{
Receivetime++;
}
else
{
if(Receivetime>40)
{
if(Receivetime<55)
{
ReceiveBF=0x02;
Receivetime=0x00;
Receivecount=0x00;
ReceiveC=0x00;
}
else
{
ReceiveBF=0x00;
Receivetime=0x00;
}
}
else
{
ReceiveBF=0x00;
Receivetime=0x00;
}
}
break;
}
case0x02://低电平
{
if(DATA)
{
if(Receivetime>10)//数据
{
if(Receivetime<25)
{
ReceiveBF=0x03;
Receivetime=0x00;
}
else
if(Receivetime<55)
{
ReceiveBF=0x04;
Receivetime=0x00;
}
}
}
else
{
Receivetime++;
}
break;
}
case0x03://数据码
{
if(DATA)
{
Receivetime++;
}
else
{
if(Receivetime>25)//1
{
Receive[ReceiveC]=Receive[ReceiveC]<<1;
Receive[ReceiveC]=Receive[ReceiveC]|0x01;
Receivecount++;
if(Receivecount==8)
{
Receivecount=0x00;
ReceiveC++;
}
ReceiveBF=0x02;
Receivetime=0x00;
}
else//0
{
Receive[ReceiveC]=Receive[ReceiveC]<<1;
Receive[ReceiveC]=Receive[ReceiveC]&0xfe;
Receivecount++;
if(Receivecount==8)
{
Receivecount=0x00;
ReceiveC++;
}
ReceiveBF=0x02;
Receivetime=0x00;
}
}
break;
}
case0x04://结束码
{
ReceiveBF=0x00;
Receivetime=0x00;
break;
}
}
}
voidSend()
{
volatileunsignedcharcount=0x05;
volatileunsignedchardatanub;
volatileunsignedchardatacount;
//引导码
DATA=0;
dly100us(90);
DATA=1;
dly100us(45);
//数据码
while(count)
{
datanub=nub[5-count];
datacount=0x08;
while(datacount)
{
if(datanub&0x80)
{
DATA=0;
dly100us(15);
DATA=1;
dly100us(30);
}
else
{
DATA=0;
dly100us(15);
DATA=1;
dly100us(15);
}
datanub=datanub<<1;
datacount--;
}
count--;
}
//结束码
DATA=0;
dly100us(45);
DATA=1;
dly100us(45);
DATA=0;
dly100us(45);
DATA=1;
}
㈢ 请问合泰单片机HT66F14怎么在线烧录,怎么接线有教程吗
目前合泰的IC合泰是有配套的仿真器,
㈣ 合泰单片机仿真软件(HT-IDE3000)无法识别到仿真EV
是不是联线错了 联线错误就会显示连接成功 但是不识别芯片
㈤ 合泰单片机前景怎么样
合泰单片机的老型号非常稳定,新型号有一部分性价比很高的,例如:SOP8封装的带AD芯片HT46R005才卖0.85/片。
该单片机学习套件不但可以做流水灯、按键检测(AD、IO均可)、蜂鸣器控制、继电器控制、温度检测、24C02读写、红外遥控解码、数码管显示(74HC164、1628驱动)、液晶显示(1621驱动)等实验,还可以做电水壶、消毒柜、电热水器、抽油烟机等小家电项目实验。配套ISP烧写器+FLASH芯片,无需反复拔插IC及连接线,所有实验,轻松搞定!
㈥ 有没有大神用过合泰的单片机 HT68F002 这款想芯片啊 求个用中断的程序,自己怎么弄都不行 帮忙看一下吧
定时器中断函数里没清除标志位。增加_stm0f=0
缺少_rstc=0b01010101
㈦ 紧急求助关于合泰单片机仿真
51单片机比较适合于初学者,一般有个USB转换TTL串口工具就可以 下载 编程了。 Proteus仿真软件(可以取代仿真机板) 也对51单片机进行仿真测试。 合泰单片机 需要 专用 仿真软件及仿真机板,下载代码也要专用工具。
㈧ 合泰单片机HT67F系列的使用问题
1,寄存器名与手册对不上号是很正常的,不光合泰的单片机有这种情况,其它的单片机也有这种情况,出现这种情况程序编译是通不过的。所以有时候要关心一下头文件,以头文件的器存器命名为准,或自己更改头文件。
2,关于管脚复用问题。一般情况下不对管脚进行配置默认都是普通IO,但是如果要使用管脚的其它功能,在使用前就要先对相关寄存器进行配置,比如要使用AN1就要先配置好AD转换相关的寄存器,如:ADR、ADRL、ADRH、ADCR、ACSR寄存器。
㈨ 合泰单片机的中断优先级如何设置
设置中断优先级的函数,CMISIS已经写好,并嵌入到了编译器中。
1. PWM的测量放到主程序循环中去做,在中断程序中仅仅完成定时修正,把PWM设定为高优先级,这样可以提高中断的响应速度,使得程序的实时性较高;2. 串口一般是属于较慢的中断,它的响应时间只要满足能够在接收一个字节的时间内响应一次即可,因此可以设为低等级中断,并且在串口程序中不要进行数据处理,只要完成接收数据转移到接收缓存池中即可,在主程序中去完成数据的分析处理工作。
㈩ 关于NEC 单片机程序 移植 合泰的问题 引脚定义。帮忙弄下
#define _pa0 _1a_0
#define Rx_PIN _pa0
#define Rx_IN_1 (0x01&Rx_PIN)
#define Rx_IN_0 (!(0x01&Rx_PIN))
#define _pac0 _1b_0
#define Rx_POUT _pac0
#define Rx_SET_IN Rx_POUT = 1// 1为输入 0输出
#define Rx_SET_OUT Rx_POUT= 0