5113|6

422

帖子

4

TA的资源

纯净的硅(初级)

楼主
 

【新版CH554评测DIY】音频校音器之5 [复制链接]

音频校音器之5——程序编译和测试
1、根据范例程序可以逐个如上述方式创建工程,编译并测试运行。
2、首先是ADC
在CH554中,共有4个ADC通道,是AIN0-3,对应着引脚1,2,3,11。在开发板上是P10,P11,P12。
然后创建工程,编译程序,下载生成hex文件,

然后启动串口调试器,显示对各个通道轮询的结果,

参考代码
  1. #include "..\Public\CH554.H"                                                  
  2. #include "..\Public\Debug.H"
  3. #include "ADC.H"
  4. #include "stdio.h"
  5. #include <string.h>

  6. #pragma  NOAREGS

  7. void main( )
  8. {
  9.     UINT16 i;
  10.     UINT16 j = 0;
  11.     CfgFsys( );                                                                //CH554时钟选择配置   
  12.     mDelaymS(20);
  13.     mInitSTDIO( );                                                             //串口0初始化
  14.     printf("start ...\n");

  15.     ADCInit( 0 );                                                              //ADC时钟配置,0(96clk) 1(384clk),ADC模块开启       

  16. #if ADC_INTERRUPT                                                              //ADC中断方式
  17.     EA = 1;
  18.     while(1)                                                                  
  19.     {
  20.       for(i=0;i<4;i++){       
  21.         printf("AIN%02x ",(UINT16)i);                                                             //ADC采样通道打印显示,调试用       
  22.         ADC_ChannelSelect( i );                                                //ADC采样电源开启和通道设置,i(0-3)表示采样通道
  23.         ADC_START = 1;                                                         //开始采样,采样完成进入中断
  24.         mDelayuS(30);                                                          //等待采集完成才能切换至下一通道
  25.       }
  26.     }
  27. #else       
  28.     while(1)                                                                   //ADC 查询方式                                                                  
  29.     {
  30.       for(i=0;i<4;i++){                               
  31.         printf("AIN%02x ",(UINT16)i);               
  32.         ADC_ChannelSelect( i );                                                //ADC采样初始化
  33.         ADC_START = 1;                                                         //开始采样,采样完成进入中断
  34.         while(ADC_START);                                                      //ADC_START变为0时,表示采样完成
  35.         printf("DATA: %02x\n",(UINT16)ADC_DATA);
  36.         mDelaymS(100);                                                         //模拟单片机干其他事
  37.       }       
  38.     }               
  39. #endif               
  40. }
复制代码



3、然后测试GPIO程序,
在串口调试器显示,每个循环一个‘.’

开发板的LED0和LED1闪烁,

参考代码,
  1. #include "..\Public\CH554.H"                                                   
  2. #include "..\Public\Debug.H"
  3. #include "GPIO.H"
  4. #include "stdio.h"
  5. #include <string.h>

  6. #pragma  NOAREGS

  7. sbit LED0 = P1^6;
  8. sbit LED1 = P1^7;

  9. void main( )
  10. {
  11.     UINT16 j = 0;
  12.     CfgFsys( );                                                                //CH554时钟选择配置   
  13.     mDelaymS(20);
  14.     mInitSTDIO( );                                                             //串口0初始化
  15.     printf("start ...\n");
  16.     Port1Cfg(1,6);                                                             //P16设置推挽模式
  17.     Port1Cfg(1,7);                                                             //P17设置推挽模式
  18.     LED0 = 0;
  19.     LED1 = 0;       

  20.     GPIOInterruptCfg();                                                        //GPIO中断配置函数       
  21.     EA = 1;
  22.     printf("Run");
  23.     while(1){
  24.       printf("*");
  25.       LED0 = ~LED0;
  26.       LED1 = ~LED1;                       
  27.       mDelaymS(100);                       
  28.     }
  29. }
复制代码



4.这样开发环境测试通过。

此帖出自单片机论坛

最新回复

  详情 回复 发表于 2018-4-14 17:32
点赞 关注
 

回复
举报

655

帖子

1

TA的资源

纯净的硅(中级)

沙发
 
提醒一下,这个芯片的内部的ROM Flash只能擦写200次左右,这种例程玩多了之后可能无法下载了。
此帖出自单片机论坛

点评

感觉这点比较坑  详情 回复 发表于 2018-4-4 15:30
 
 

回复

131

帖子

2

TA的资源

一粒金砂(中级)

板凳
 
mars4zhu 发表于 2018-4-4 15:11
提醒一下,这个芯片的内部的ROM Flash只能擦写200次左右,这种例程玩多了之后可能无法下载了。

感觉这点比较坑
此帖出自单片机论坛
 
个人签名每个人心中都一片待开发的天空!
 
 

回复

18

帖子

0

TA的资源

一粒金砂(中级)

4
 
哈哈,我也刚想提醒楼主 只能烧写200次左右。估计楼主用掉20次了吧?

我的板子刚到,还是先看资料再开始动手。
此帖出自单片机论坛

点评

谢谢。这还没开始DIY呢。要是参数没错,我应该会刷爆几个。 不过,通常这个是一个保证参数。200以内没问题,刷400个大多数也不会出问题,所以,放心去用吧。  详情 回复 发表于 2018-4-4 15:51
 
 
 

回复

422

帖子

4

TA的资源

纯净的硅(初级)

5
 
mig29ee 发表于 2018-4-4 15:35
哈哈,我也刚想提醒楼主 只能烧写200次左右。估计楼主用掉20次了吧?

我的板子刚到,还是先看资料再开始 ...


谢谢。这还没开始DIY呢。要是参数没错,我应该会刷爆几个。
不过,通常这个是一个保证参数。200以内没问题,刷400个大多数也不会出问题,所以,放心去用吧。
此帖出自单片机论坛
 
 
 

回复

4005

帖子

0

TA的资源

版主

6
 
太离谱了
此帖出自单片机论坛
 
 
 

回复

305

帖子

0

TA的资源

一粒金砂(高级)

7
 
此帖出自单片机论坛
 
个人签名单价1元含税的USB和Touchkey单片机CH551G已大批量出货,试样QQ:1258305301
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表