[通用8051核FLASH系列] 【芯圣电子HC89S105A测评报告】+定时器·点灯

[复制链接]
1253|3
 楼主| 比神乐 发表于 2023-5-15 23:30 | 显示全部楼层 |阅读模式
本帖最后由 芯圣电子官方QQ 于 2023-7-25 11:01 编辑

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

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

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

  28.         
  29.         //反推初值  = 65536 - (定时时间 / (Fper/分频比)
  30.         //                        = 65536 - (1ms / (16000000 / 64))
  31.         //          = 65536 - 256
  32.         //                        = 0xFF00
  33.         
  34.         IE1 = 0x80;   //打开T4中断
  35.         EA = 1;       //开总中断
  36.         while (1);
  37. }
  38. /***************************************************************************************
  39.   * @说明          T4中断服务函数
  40.   *        @参数          无
  41.   * @返回值 无
  42.   * @注                  无
  43. ***************************************************************************************/
  44. void TIMER4_Rpt(void) interrupt T4_VECTOR
  45. {
  46.         T4CON &= ~0x80; //清除中断标志位
  47.         i++;
  48.         if(i>=1000)
  49.         {
  50.                 i=0;
  51.                 P0_0 = ~P0_0;        //P00翻转
  52.         }
  53.         
  54. }
效果图,不是很清晰,旁边的电源灯太亮了。
用户灯亮灭不是很明显。
1.jpg 0.jpg
gaoyang9992006 发表于 2023-5-16 17:06 | 显示全部楼层
我可不是技术人员,我是热心市民。
gaoyang9992006 发表于 2023-5-16 17:06 | 显示全部楼层
 楼主| 比神乐 发表于 2023-5-16 17:12 | 显示全部楼层
gaoyang9992006 发表于 2023-5-16 17:06
我可不是技术人员,我是热心市民。

那更得感谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

470

主题

3537

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部