比神乐 发表于 2023-5-15 23:30

【芯圣电子HC89S105A测评报告】+定时器·点灯

本帖最后由 芯圣电子官方QQ 于 2023-7-25 11:01 编辑

我今天收到板子,就开始从官网下载资料。
资料下了不少,谁知我看错了,把ICP看出ISP了。
胡乱捣鼓了半天,也没把灯点亮。
客服积极的帮我解答,技术人员告诉了我错误的原因。
终于可以正常下载程序了。
要把HC-LINK V4.0.14.0装在keil5目录下。
出现这个就可以下载程序了。

我找了个例子改了一下:
代码如下:
#define ALLOCATE_EXTERN
#include "HC89S105AC8.h"

unsigned int i;
/***************************************************************************************
* @实现效果      定时器4定时1ms,每进一次中断,P00翻转一次
* @操作方法   示波器接P00口,查看输出波形
***************************************************************************************/      
void main(void)
{
/****************************************系统初始化**********************************/      
      WDTCCR = 0x00;                           //关闭看门狗
                                                         //本例程为方便测试关闭看门狗,实际使用中,建议客户打开看门狗,详见WDT复位例程
      CLKCON = 0x02;                           //选择内部高频RC为系统时钟,内部高频RCFosc=32MHz
      CLKDIV = 0x02;                           //Fosc 2分频得到Fper,Fper=16MHz      
      
/**********************************IO配置初始化**************************************/
    P0M0 = P0M0 & 0xF0 | 0x08;   //P00设置为推挽输出

/**********************************T4配置初始化**************************************/
      TH4 = 0xFF;
      TL4 = 0x00;          //定时1ms   
      T4CON = 0x22; //工作方式0 16位自动重载定时器 64分频
                                       
      //定时1ms
      //定时时间= (65536 - 0xFF00) /(Fper/分频比)
    //                  = (65536 - 65280) /(16000000/64)
      //                  = 256 / (16000000 / 64)
      //                  = 1ms

      
      //反推初值= 65536 - (定时时间 / (Fper/分频比)
      //                        = 65536 - (1ms / (16000000 / 64))
      //          = 65536 - 256
      //                        = 0xFF00
      
      IE1 = 0x80;   //打开T4中断
      EA = 1;       //开总中断
      while (1);
}
/***************************************************************************************
* @说明          T4中断服务函数
*      @参数          无
* @返回值 无
* @注                  无
***************************************************************************************/
void TIMER4_Rpt(void) interrupt T4_VECTOR
{
      T4CON &= ~0x80; //清除中断标志位
      i++;
      if(i>=1000)
      {
                i=0;
                P0_0 = ~P0_0;      //P00翻转
      }
      
}效果图,不是很清晰,旁边的电源灯太亮了。
用户灯亮灭不是很明显。

gaoyang9992006 发表于 2023-5-16 17:06

我可不是技术人员,我是热心市民。

gaoyang9992006 发表于 2023-5-16 17:06

比神乐 发表于 2023-5-16 17:12

gaoyang9992006 发表于 2023-5-16 17:06
我可不是技术人员,我是热心市民。

那更得感谢了
页: [1]
查看完整版本: 【芯圣电子HC89S105A测评报告】+定时器·点灯