导航:首页 > 操作系统 > holtek单片机教程

holtek单片机教程

发布时间:2023-09-19 15:38:45

㈠ 合泰背单片机在程序中如何实现按键,短按加一,长按快加拜教高手,谢谢先!

合泰背?没听过,不过没所谓,算法都一样,按键少的时候可以直接挂在IO口上,另一端接地,程序中检测IO状态,若有0则说明有按键按下,此时变量加1,然后进入松手检测,在其中设置时间标志,若经过几秒钟还是按下状态,则变量一直加,祝成功~~

㈡ 合泰的单片机用C语言如何把一个变量定位到指定ROM地址 比如:const unsigned char mydata @0x300;

ROM是保存指令和常量的地方,不是存变量的地方;
如果是访问flash之类的可擦写ROM可以当成是外部RAM使用,一般通过absacc.h
里的XBYTE[addr] 来定义外部地址的。

PS:如果是常量需要保存到ROM的指定地址,查看项目文件下的*.m51文件,里面有程序段及常数段的地址分配,修改code memory 下的BASE(起始地址、基地址)和LENGTH(长度、字节数)值,可以指定程序段或常量的ROM地址。

㈢ 合泰ht46f49e单片机

1、51单片机计数器的脉冲输入脚。主要的脉冲输入脚有Px,y, 也指对应T0的P3.4和对应T1的P3.5,主要用来检测片外来的脉冲。而引脚18和19则对应着晶振的输入脉冲,脉冲的频率和周期为
F = f/12 = 11.0592M/12 = 0.9216MHZ T = 1/F = 1.085us
2、定时器有两种工作模式,分别为计数模式和定时模式。对Px,y的输入脉冲进行计数为计数模式。定时模式,则是对MCU的主时钟经过12分频后计数。因为主时钟是相对稳定的,所以可以通过计数值推算出计数所经过的时间。
3、51计数器的计数值存放于特殊功能寄存器中。T0(TL0-0x8A, TH0-0x8C), T1(TL1-0x8B, TH1-0x8D)
4、TLx与THx之间的搭配关系
1)、TLx与THx之间32进制。即当TLx计到32个脉冲时,TLx归0同时THx进1。这也称为方式0。
2)、TLx与THx之间256进制。即当TLx计到256个脉冲时,TLx归0同时THx进1。这也称为方式1。在方式1时,最多计65536个脉冲产生溢出。在主频为11.0592M时,每计一个脉冲为1.085us,所以溢出一次的时间为1.085usx65536=71.1ms。
3)、THx用于存放TLx溢出后,TLx下次计数的起点。这也称为方式2。
4)、THx与TLx分别独立对自己的输入脉冲计数。这也称为方式3。
5、定时器初始化
1)、确定定时器的计数模式。
2)、确定TLx与THx之间的搭配关系。
3)、确定计数起点值。即TLx与THx的初值。

㈣ 敬爱的合泰单片机高手!!!!!!!

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; //在绝对地址定义变量

㈤ 合泰单片机内置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

㈥ 有没有大神用过合泰的单片机 HT68F002 这款想芯片啊 求个用中断的程序,自己怎么弄都不行 帮忙看一下吧

定时器中断函数里没清除标志位。增加_stm0f=0
缺少_rstc=0b01010101

㈦ 合泰单片机的中断优先级如何设置

设置中断优先级的函数,CMISIS已经写好,并嵌入到了编译器中。
1. PWM的测量放到主程序循环中去做,在中断程序中仅仅完成定时修正,把PWM设定为高优先级,这样可以提高中断的响应速度,使得程序的实时性较高;2. 串口一般是属于较慢的中断,它的响应时间只要满足能够在接收一个字节的时间内响应一次即可,因此可以设为低等级中断,并且在串口程序中不要进行数据处理,只要完成接收数据转移到接收缓存池中即可,在主程序中去完成数据的分析处理工作。

㈧ 如何用C语言改变合泰单片机自带PWM的频率,如1KHZ,2KHZ,等等频率

#include <reg52.h>

#define uint unsigned int
#define uchar unsigned char
#define ulong unsigned long

sbit Waveout1=P1^0;
sbit CF=P3^2;//调节频率
int num,a,f;
int Timer0_H,Timer0_L;

void Init()
{
num=0;
a=1000;
f=2;
Waveout1=0;
TMOD=0x02;
TH0=(uint)(256-(1000/(2*f)));
TL0=(uint)(256-(1000/(2*f)));
ET0=1;
EA=1;
TR0=1;
}

void main()
{
Init();
while(1)
{
if(CF==0)
{
f++;
TH0=(int)(256-(1000/(2*f)));
TL0=(int)(256-(1000/(2*f)));
while(CF==0);
}

if(num==a)
{
num=0;
Waveout1=~Waveout1;
}

}

}
void Timer0()interrupt 1
{
num++;
}

阅读全文

与holtek单片机教程相关的资料

热点内容
西二旗最高程序员 浏览:93
台湾写真内部加密无删减视频 浏览:826
在线照片压缩变小 浏览:646
隐藏配置文件夹 浏览:180
php分布式模块化开发 浏览:387
wula是什么app 浏览:828
豌豆荚里怎么降低安卓手机版本 浏览:371
桌面的文件夹怎样解散 浏览:796
贵州贵阳山洞服务器云空间 浏览:221
年薪48万程序员老公 浏览:917
使用预构建的python 浏览:532
加密对冲基金交易有限公司 浏览:357
烟台制冷压缩机价格 浏览:249
平板能用腾讯云服务器吗 浏览:867
有js基础学python 浏览:599
程序员可以回老家盖房子吗 浏览:555
pythonserial波特率 浏览:578
pc我的世界国际服怎么下服务器 浏览:144
udp净荷加密 浏览:928
qq哪个文件夹占的内存大 浏览:634