❶ 合泰单片机HT IDE3000打开一个工程,其中源文件、头文件、外部文件分别是什么关系
源文件也就相当于为实现你的应用而编写的源代码文件;头文件:用于定义源文件中的一些预定义或一些基础的定义,包括单片机的管脚等;外部文件:是指你需要引用的一些外部做好的功能模块文件,比如你做好的串口文件、LED显示文件等。最后工程编译后生成目标文件,可以存在OBJ文件夹中
❷ 合泰单片机汇编语言的DC什么意思
表格数据 定义 符号, 说白点就是 在单片机的ROM 里自己做一个数据表格.
一般这样 用,
org 1F00h ; 表格开始的地址
dc 00Ah
dc 00Bh
dc 00Ch
dc 00Dh
dc 00Eh
dc 00Fh
dc 01Ah
dc 01Bh
读取表格数据的汇编软件:
读取表格指针 低八位tblp 和高八位tbhp , 读取表格命令 tabrd
看看下面的读取表格的例子,就明白的了.
mov a,06h ;
mov tblp,a ; 表格指针低地址=06H
mov a,7fh ;
mov tbhp,a ; 表格指针高地址=7FH
tabrd tempreg1 ; 把表格地址 7F06H 的数字放到tempreg1
dec tblp ;
tabrd tempreg2 ; 把表格地址 7F05的数据放到tempreg2 里
表格读取结果是 tempreg1 = 01AH , tempreg2 = 0FH
❸ 合泰单片机前景怎么样
合泰单片机的老型号非常稳定,新型号有一部分性价比很高的,例如:SOP8封装的带AD芯片HT46R005才卖0.85/片。
该单片机学习套件不但可以做流水灯、按键检测(AD、IO均可)、蜂鸣器控制、继电器控制、温度检测、24C02读写、红外遥控解码、数码管显示(74HC164、1628驱动)、液晶显示(1621驱动)等实验,还可以做电水壶、消毒柜、电热水器、抽油烟机等小家电项目实验。配套ISP烧写器+FLASH芯片,无需反复拔插IC及连接线,所有实验,轻松搞定!
❹ 敬爱的合泰单片机高手!!!!!!!
1.怎样用软件设置:CMOSE输出,带或不带上拉电阻的斯密特触发输入,A/D输入????
输出就是输出,什么"CMOS输出"是Holtek官方术语,"斯密特触发输入"也是官方术语,带不带上拉电阻是在IDE掩膜选项中设置的
引脚是AD输入还是数字IO靠ADCR中的控制位来定义
2.怎样理解ADCR中的前六位设置???当设置好模义输入通道,为什么还要定义PB呢????
这是HT46R52的ADCR 参考(估计HT46R22是一样的):
0 ACS0 选择模拟输入通道
1 ACS1 选择模拟输入通道
2 ACS2 选择模拟输入通道
3 PCR0 为0 则关闭,减小功耗
4 PCR1 为0 则关闭,减小功耗
5 PCR2 为0 则关闭,减小功耗
6 EOC A/D 转换结束标志(0:A/D 转换结束)
每次bit3-5 状态的改变后都必须通过START 信号来初始化A/D 转换器,
否则EOC可能会处于不确定状态
7 START 0→1→0:开始; 0→1:A/D 转换复位并且置EOC为“1”
“当设置好模义输入通道,为什么还要定义PB呢????”
前面0-2只是个通道选择(多选1模拟开关),并不能决定PB口是模拟口还是数字IO
就像有一块内存空间,你选中了一个字节来用,但里面的内容到底什么不知道,设置一下就知道了。
3.端口问题:
1.控制寄存器:设定IO口是输入还是输出,数据寄存器(端口寄存器)读取/设置端口电平
2.设_pac=0b00000000;意思是pa口全部输出;设_pa= 0b00000000;则pa全部输出0
3.初始化端口的步骤示例:_pac=0x00; _pa=0x00;
4.其他问题:
#pragma vector isr_time @ 0x08 //中断服务程序定义
#pragma vector isr_ad @ 0x0c //中断服务程序定义
uchar sign0 @ 0x40; //在绝对地址定义变量
uchar sign1 @ 0x41; //在绝对地址定义变量
❺ 合泰编译器查找功能不好用
和泰编译器查找功能好用。
合泰的单片机网上资料并不多,可参考的源码也不多,入门着实费了很大的劲。不过,好在是国产单片机,datasheet是中文的,看起来方便不少。
合泰半导体成立于2012年,隶属台湾盛群半导体(HOLTEK SEMICONDUCTOR INC.)集团,合泰半导体总部位于中国广东东莞松山湖,负责HOLTEK产品在中国之研发、生产、销售及售后服务。
合泰的开发软件HT-IDE3000对于C语言的支持不是很友好,可能还存在不少的问题,所以建议使用汇编。当然如果跟我一样汇编学的不太好,那就只能使用C语言了,开发过程中踩了不少的坑。
❻ cubemx里有合泰单片机的芯片吗
有。cubemx里有合泰单片机的芯片,是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU。cubemx是ST针对STM32的处理器推出的一款图形化界面配置工程代码的软件。
❼ 合泰单片机内置eeprom只能读不能写,要怎么解决
我也遇到这样的问题。没人给出答案,我来说一下吧。(主要是针对V3编译C)
根据Holtek_C_Compiler_V3_FAQ(950).pdf的描述,V3不保证编译后的指令符合EEPROM写入顺序。根据BS86的数据手册,WREN 和 WR一定要符合顺序。
我编译后的指令出现的是LSET WREN以及LSET WR,这个就出问题了。芯片需要的是SET。
解决方法是根据官方FAQ的描述
"5.5 对于写 EEPROM 有限制的 MCU ( 需连续 set wren, wr, flag),如何使用
V3 写 EEPROM?"
下面是代码
//RefertoHoltek_C_Compiler_V3_FAQ(950).pdf
typedefstruct{
unsignedcharbit0:1;
unsignedcharbit1:1;
unsignedcharbit2:1;
unsignedcharbit3:1;
unsignedcharbit4:1;
unsignedcharbit5:1;
unsignedcharbit6:1;
}iar_bits;
DEFINE_SFR(iar_bits,iar1,0x02);
#defineiar1_3 iar1.bit3
#defineiar1_2 iar1.bit2
#defineiar1_1 iar1.bit1
#defineiar1_0 iar1.bit0
...
uint8_tbkup;
_eea=u8Addr;
_eed=u8NewData;
_mp1l=0x40;
bkup=_mp1h;
_mp1h=0x01;
_emi=0;
iar1_3=1;
iar1_2=1;
_emi=1;
while(iar1_2)
{
}
_iar1=0;
_mp1h=bkup;
...
官方的解决方案产生的代码跟数据手册中的一直:
;129 iar1_3=1;
0D0D 3182 set__iar1[0].3《《以前这里是LSETWREN
;130 iar1_2=1;
0D0E 3102 set__iar1[0].2《《以前这里是LSETWR
❽ 合泰单片机的中断优先级如何设置
设置中断优先级的函数,CMISIS已经写好,并嵌入到了编译器中。
1. PWM的测量放到主程序循环中去做,在中断程序中仅仅完成定时修正,把PWM设定为高优先级,这样可以提高中断的响应速度,使得程序的实时性较高;2. 串口一般是属于较慢的中断,它的响应时间只要满足能够在接收一个字节的时间内响应一次即可,因此可以设为低等级中断,并且在串口程序中不要进行数据处理,只要完成接收数据转移到接收缓存池中即可,在主程序中去完成数据的分析处理工作。
❾ 合泰单片机汇编问题
data .section 'data' ;数据段 这样的写法是比较标准的整齐的汇编写法,就是告诉你这段就是定义变量 和REGISTER 等.现在好多人定义这些都是放在INC文件里就可以的了.
code .section at 0 'code' 这个就是告诉你下面这段就是单片机的程式了.
子程式里proc 是子程式开始,endp就是子程式的结束,其实现在好多人 直接写子程式名就可以的了. 好像 sub: ret
sdz 是 register 自减1, 如果为0 就是跳过下一条指令,一般的用法是
SDZ R
JMP LOOP
$