freetech

HCS08系列单片机定时器比较输出的一点弯路

一个波形发生器项目中要做两路有相位差的波形,我想到了HCS08的定时器比较输出功能。于是测试之,写了如下代码:TPM2C0V=30;TPM2C0SC=0x14;//通道0中断禁止,比较输出模式,通道引脚状态取反TPM2C1V=10;TPM2MOD=40;TPM2C1SC=0x14;//通道1中断禁止,比较输出模式,通道引

9管无刷电机控制器的利与弊——三相桥的3种驱动方式

无刷电机一般由3个半桥构成,最基本的电路需要6个MOS管,也就是常说的6管控制器,为了增大功率也有采用2管并联当一个管的,于是出现了12管控制器。那么9管控制器是怎么回事呢?您可能猜到了:是半桥中和单臂用双管,另一单臂用单管。——的确如此。那么为何如此设计呢,

MOS管构成的简易双向电平转换电路

下图是USBDM电路图的一部分,我们借其分析一下电平转换过程:假设左边RST_IO是5V电平标准,右边BR1端是3.3V电平标准。我们分别对双高高低电平进行分析:1、左向右高电平转换:当RST_IO为高电平5V时,若BR1电压低于VDD_BDM(3.3V),则Q2导通使BR1达到VDD_BDM(3.3V),当BR1

HCS08单片机PWM功能非正常使用方法的研究

昨天一客户提出要让PWM周期结束前强制改变占空比,比如当20%占空比的波形进行到50%时,突然想将该引脚置高电平或低电平,并维持0占空比或满占空比。使用中发现状态不可控,达不到他想要的目的。我做实验进行了分析,请看下面代码:#include<hidef.h>/*forEnableIn

HCS08入门之&mdash;&mdash;点阵液晶12232实验

本实验用单片机的IO口控制12232点阵液晶的显示。做本实验时需将拨码开关“SW2”和“SW6”的所有位拨到“ON”位置,“SW4”的第1位(LIGHT位)拨到“ON”位置。现象是LCD12232液晶屏幕上轮流显示“飞锐泰克伴您成长010-62669831”字样和一幅图象,背光每一轮亮灭变化。程

HCS08入门之&mdash;&mdash;字符液晶1602实验

本实验用单片机的IO口控制1602字符液晶的显示。做本实验时需将拨码开关“SW2”和“SW6”的所有位拨到“ON”位置。现象是LCD1602液晶屏幕上显示“Free-Techwww.myhcs08.com”字样,如下图所示:程序代码如下:#include<hidef.h>/*forEnableInterruptsmacro*/#inclu

HCS08入门之&mdash;&mdash;行列按键与4位数码管实验

本实验采用分时扫描的方式读取按键并驱动8个发光二极管和4位数码管,共阴极接法,段驱动采用74HC245,位选驱动用NPN三极管。做本实验时需将拨码开关“SW2”、“SW7”和“SW5”的所有位拨到“ON”位置。现象是按SW11~SW26,数码管后2位显示按键编号(10进制“00”~“15

HCS08入门之&mdash;&mdash;键盘中断

本实验主要学习键盘中断用到的几个寄存器:1、PTxSC,IO口中断状态和控制寄存器。下面是以PTA口为例的寄存器描述:2、PTxPS,IO口中断引脚选择寄存器,其每一位对应IO口的每一位。为0时引脚不用于产生中断,为1时引脚用于产生中断。3、PTxES,IO口中断边沿选择寄存器,

HCS08入门之&mdash;&mdash;独立按键实验

本实验通过按动按键,驱动相应的灯进行指示。学习i/o口的输入功能。IO口做输入涉及的几个寄存器:1、PTxD,IO口数据寄存器,对应的值为0时表示IO口是低电平,为1时表示IO口是高电平。单个使用时是PTxD_PTxDn(x为A、B、C、D……,n为1、2、3……)。如本例中的“if(PTFD

HCS08入门之——LED数码管实验

本实验采用分时扫描的方式驱动8个发光二极管和4位数码管,共阴极接法,段驱动采用74HC245,位选驱动用NPN三极管。做本实验时需将拨码开关“SW2”和“SW5”的所有位拨到“ON”位置。实验现象是8个发光二极管轮流点亮,数码管显示“20

HCS08入门之&mdash;&mdash;蜂鸣器实验

该实验非常简单,就是通过IO口输出高电平使蜂鸣器发出蜂鸣声。本实验主要学习IO口的几个寄存器用法:1、IO口数据寄存器PTxD,对应的值为0时是低电平,为1时是高电平。单个使用是PTxD_PTxDn(x为A、B、C、D……,n为1、2、3……),本例中的“PTCD_PTCD2=1;”等效于“PTC

HCS08入门之&mdash;&mdash;看门狗

实验现象1打开源代码文件下的复位实验下的复位实验.mcp。2单击进入调试环境窗口。进入调试窗口后,程序停止在“EnableInterrupts;/*enableinterrupts*/”语句。该过程其实已经执行完start08.c程序。3在调试窗口中单击强制复位按钮,观测Register窗口:寄存器窗口从上面

HCS08单片机改写FLASH参数之&mdash;&mdash;下位机程序

单片机端实现动态改写FLASH参数或更新程序要具备以下2个条件:1、单片机支持在应用编程IAP。2、有一种通信接口可以传递要改写的内容。HCS08系列单片机是支持在应用编程IAP的,并且官方提供了操作代码,是汇编写的,提供了API接口的3个函数:voidFlashErase(constunsigne

HCS08单片机改写FLASH参数之&mdash;&mdash;上位机程序

HCS08单片机支持在应用编程IAP,只要有合适的办法把要改写的内容传给单片机,就可以自己写稿FLASH实现永久存储。应用编程IAP折详细内容参照“AN3942”。飞思卡尔为在线参数修改和观察变量提供了一套成熟的解决方法——Freemaster,里面有一套读写Memory和变量的协议,还

基于串口控件的VC程序不能运行的解决方法

昨天做了个VC的串口程序给客户,结果在客户那打不开。起初以为是Win7系统的问题,后来在WinXp下试也不行,我想起了程序中用到了串口控件,几年前遇到过类似现象。解决方法是:一、手动输入命令法(适合自己用):1、把“MSCOMM32.OCX”复制到“C:\windows\system32”目