打印
[通用8051核FLASH系列]

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

[复制链接]
804|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 芯圣电子官方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为系统时钟,内部高频RC  Fosc=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
我可不是技术人员,我是热心市民。

那更得感谢了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

467

主题

3517

帖子

7

粉丝