搜索
bottom↓
回复: 1

菜鸟第五贴 TMH1 方波输出 动态改变周期

[复制链接]

出0入0汤圆

发表于 2008-8-29 13:00:04 | 显示全部楼层 |阅读模式
/*
*******************************************************************************
**  Daxinganling@hotmail.com
**  Filename :        main.c
**  Abstract :        TMH1 square wave OUT.
**  APIlib :        NEC78K0SKX1+.lib V1.70 [7 Dec. 2006]
**
**  Device :        uPD78F9234
**
**  Compiler :        NEC/CC78K0
**
*******************************************************************************
*/
/*
*******************************************************************************
**  Include files
*******************************************************************************
*/
#include "macrodriver.h"
#include "system.h"
#include "port.h"

extern void hdwinit(void);

#define TM_TMH1_SQUAREWIDTH 0xc7

int time_init= TM_TMH1_SQUAREWIDTH;

void TMH1_Init()
{
        ClrIORBit(TMHMD1, 0x80);                /*STOP COUNTER OPERATION*/
       
        SetIORBit(MK0, 0x10);                        /* INTTMH1 disable */
        ClrIORBit(IF0, 0x10);
       
        TMHMD1 |= ( 1 << 4 );          /* Internal countclock 2M*/       
       
        SetIORBit(TMHMD1, 0x1);                   /* enable output */
        ClrIORBit(P4, 0x04);
        ClrIORBit(PM4, 0x04);                        /* P42/TOH1 */
        ClrIORBit(TMHMD1, 0x2);        /*SET square MODE*/
       
        CMP01 = TM_TMH1_SQUAREWIDTH;   /*0xc7 set squarewidth*/
}

void TMH1_Start( )
{
        SetIORBit(TMHMD1, 0x80);
}

void TMH1_Stop( )
{
        ClrIORBit(TMHMD1, 0x80);
}

void delay(int ms)
{
        while(--ms);
}

void main( void )
{
        /* TODO. add user code */
       
        hdwinit();
       
        TMH1_Stop();
        TMH1_Init();
        TMH1_Start();
       
        while(1)
        {
                CMP01 = time_init-15;   /*change the squarewidth dynamic*/
                delay(100);
                time_init = CMP01;
                if(time_init < TM_TMH1_SQUAREWIDTH-150 )
                time_init =  TM_TMH1_SQUAREWIDTH;
        }
}

方波输出 动态改变周期ourdev_394213.rar(文件大小:32K) (原文件名:PWM.rar)

出0入0汤圆

发表于 2008-11-5 13:44:50 | 显示全部楼层
你好,请问你能写出用NEC单片机驱动直流无刷电机转动的程序吗?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是不是先读取HALL位置的信号,然后采集,通过A/D转换成数字信号,然后接着该怎么做呢.



还有就是如何用PWM控制电机桥臂的开关.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-3 10:04

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表