完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
经常听老工程师说:“点亮一个LED灯,你就学会了单片机。” 虽然这种说法有开玩笑的成分在里面,但也不是没有道理。因为点亮第一个LED灯,就意味着你学会了基本的IDE操作、芯片底层驱动的操作。这就跟写程序的第一句话“Hello world!”是一样的。 一、新建工程
1.启动HT-IDE3000 当电脑没有连接e-link时,打开HT-IDE3000就会弹出如下窗口: 当电脑连接了e-link,但使用的芯片不是仿真版本时,打开HT-IDE3000就会弹出如下窗口: 当电脑连接了e-link,同时使用的芯片为仿真版本时,打开HT-IDE3000就会弹出如下窗口: 以上几种情况点击确定或取消 (ps:弹出这个窗口并不影响编程) 2.建立工程 1.点击最上方菜单栏中的 “工程->新建” 2.弹出如下窗口。1:填写工程名;2:设置工程路径;3:选择MCU型号;4、选择编译器(ps:选择默认既可);5:确定选中MCU相关信息。点击Next进入下一步。 3.HT-IDE3000会默认创建一个新文件添加到工程中,下方为该文件的类型。若不需要创建新文件,取消勾选既可。点击Next进入下一步。 4.若在上一步中勾选了创建新文件,这一步就是填写该文件的名称。1:填写创建文件的名称;2:勾选可以添加外部文件。(ps:根据个人喜好填写名称和添加文件,我这里没有添加外部文件)点击Next进入下一步。 5.这里简单介绍一下左边框选的五个配置。1:工作电压(ps:用户填写);2:RC校准电压(ps:可以自动选择,也可以手动选择。)3:高速时钟选择(ps:选择HIRC或者外部XTAL);4:系统时钟选择(ps:8MHz、12MHz、16MHz);5:低速时钟选择(ps:选择外部RTC(一般为32.768kHz)或者内部LIRC(32kHz))。不同型号的MCU可能不同,但都是大同小异。点击OK进入下一步。 6.这里需要注意的地方是需要打开“未指定初值的全局变量/静态变量其默认为0”,其目的是防止程序出现内存泄露等。操作如下:点击编译选项->连接选项 在连接选项中勾选“未指定初值的全局变量/静态变量其默认为 0”。其他可以保持默认配置。点击确定保存配置。 7.到此新工程已经建立完成。关于HT-IDE3000的更多细节操作和说明,这里我就不做详细介绍了,因为这已经够用了。当然感兴趣或想更加深入了解的朋友,请戳这里,下载HT-IDE3000使用手册。----》HT-IDE3000使用手册 二、点亮LED灯 1.了解I/O 1.我这里选择的是一款MUC为HT66F0185的开发板。在进行I/O操作之前,需要简单的了解一下合泰输入/输出引脚结构。以下是HT66F1085数据手册的截图。用户可以通过程序控制I/0的输入或者输出状态。所有I/O口都带有上拉电阻(ps:Type 30K@5V 60K@3V),并且PA口带有下降沿唤醒功能。 2.下图为HT66F1085的I/O相关寄存器。 “—”:未定义,读为“0” PAWUn:PA 口引脚唤醒功能控制 0:除能 1:使能 PAPUn/PBPUn/PCPUn/PDPUn:输入 / 输出引脚上拉功能控制 0:除能 1:使能 PAn/PBn/PCn/PDn:输入 / 输出口数据位 0:数据 0 1:数据 1 PACn/PBCn/PCCn/PDCn:输入 / 输出引脚类型选择 0:输出 1:输入 3.关于I/O的介绍还有很多,我这里不做过多的解释。想要深入了解的朋友可以去官网下载该数据手册看看。——》HT66F0185数据手册下载 2.LED代码 我这里的开发板是PA3连接LED灯(ps:开发板连接的引脚和比较器输出公用,需要关闭比较器功能),所以控制的是PA3口。LED以500ms为间隔闪烁。 代码如下: #include "HT66F0185.h" /******************************************************************************* * @fn delayMs * @brief 延时函数 * @param 延时时间 单位为ms * @return 无 *******************************************************************************/ void delayMs(unsigned long int ms){ while(ms--) GCC_DELAY(2000);//主频8Mhz,执行一条指令为0.5us。一条指令周期等于四条机器周期——》 1/8Mhz * 4 = 0.5us } /******************************************************************************* * @fn main * @brief 主函数 * @param 无 * @return 无 *******************************************************************************/ void main(void) { _wdtc = 0b10101000;//关闭看门狗。直接配置看门狗寄存器,0b代表二进制。 _pac3 = 0;//设置PA3口为输出 _cos=1;//设置pa3管脚为IO,而不是比较器输出 while(1){ _pa3 = 1;//设置PA3输出高电平 高电平为VDD delayMs(500);//延时500ms _pa3 = 0;//设置PA3输出低电平 delayMs(500);//延时500ms } } 总结 假如你已经完成了以上步骤,成功点亮了LED灯。那么恭喜你,已经入门了!!!我们下一章见!!!! |
|
|
|
只有小组成员才能发言,加入小组>>
2513 浏览 0 评论
1083浏览 2评论
700浏览 1评论
452浏览 0评论
193浏览 0评论
329浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 07:27 , Processed in 1.213189 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号