合泰杯 | 合泰单片机入门 编程详解(二)

一、说在前面:

前面我们讲解了合泰单片机 HT66F23x0 的开发环境,也举例了 LED 流水灯的是工程编写。那么今天我们就来说说,如何亲自根据芯片手册清晰的编写第一个程序呢。如果你是第一次接触合泰的单片机,你也许会感觉很差异,同为 8 bit 的单片机为什么编程不一样的。这对于学过了解 51 的新手初始 HT66F23x0 还是有点反应不过来,至少一开始我是这样的。好的,我们进入今天的重点。

2、开发环境:

1、HT-IDE3000 (编辑器)

2、HOPE3000 For e-Link (烧录器)

如果你还没有安装以上2个工具可以点击连接查看 合泰杯 | 合泰单片机入门 环境搭建安装(一),这里就不再复述。

3、流水灯编程实验 

为了更直观的对比51 编程,直接贴图一步步的分析。

对比51的编程,我们发现,工程文件多了 【 启动代码 、头文件、外部文件 】

步骤分析:

1、创建完整的工程后,我们可以看到工程名,以及你使用的单片机型号。工程名称一般都要大写,并且命名清楚,英文的可读性要强。

2、源文件里面包含的是,主函数的 ( .C ) 文件,我们编写的代码都放这边,和 51 里的 main 主函数一样。

3、启动代码,这个文件是汇编写的,启动代码是非常关键的,所有的CPU都有启动代码。同样的 51 单片机也有,这里完成了最基本的初始化功能,尤其是中断向量表,程序员每一个中断函数的名字都要与启动代码中的向量表对应,否则中断是无法进入的。

4、头文件就是存放 ( .H ) 文件的,外部文件就是存放你在外部文件夹编写的代码导入到工程时显示的文件。

现在我们就是进入编程的区域。里面的代码定义和我们接触51的代码定义有些不同,头文件的引用这是每个工程里面都必须有点的。其中  < >  和  "  " 的区别就是前者是优先在库里面寻找头文件,后者是优先在你的工程文件夹里面寻找头文件。

5、_pg (_pa pb _pc _pd _pe_pf _ph)是指合泰单片机的 gpio 引脚定义,类似51的 P0,P1,P2, P3 gpio引脚一样,

注意:合泰单片机都是以 ( _ xxxx )开始命名 

6、_pxgc 表示的是 gpio 口的输入 / 输出模式,使能 0 为输出模式,使能 1 为输入模式。

具体配置如下:

6.1、输入 / 输出端口控制寄存器
每一个输入 / 输出口都具有各自的控制寄存器,用来控制输入 / 输出状态。从而每个 I/O 引脚都可以通过软件控制,动态的设置为 CMOS 输出或输入。所有的I/O 端口的引脚都各自对应于 I/O 端口控制的某一位。若 I/O 引脚要实现输入功能,则对应的控制寄存器的位需要设置为“1”。这时程序指令可以直接读取输入脚的逻辑状态。若控制寄存器相应的位被设定为“0”,则此引脚被设置为CMOS 输出。当引脚设置为输出状态时,程序指令读取的是输出端口寄存器的内容。注意,如果对输出口做读取动作时,程序读取到的是内部输出数据锁存器中的状态,而不是输出引脚上实际的逻辑状态。

注意,如果对输出口做读取动作时,程序读取到的是内部输出数据锁存器中的状态,而不是输出引脚上实际的逻辑状态。

6.2、上拉电阻

许多产品应用在端口处于输入状态时需要外加一个上拉电阻来实现上拉的功能。为了免去外部上拉电阻,当引脚规划为输入时,可由内部连接到一个上拉电阻。这些上拉电阻可通过相关上拉控制寄存器来设置,它用一个 PMOS 晶体管来实现上拉电阻功能。应注意只有在引脚共用功能用脚配置为输入或 NMOS输出时,可通过相关上拉控制寄存器控制上拉电阻,否则,上拉电阻无法被使能。

6.3、PA 口唤醒
当使用“HALT”指令迫使单片机进入休眠或空闲模式,单片机的系统时钟将会停止以降低功耗,此功能对于电池及低功耗应用很重要。唤醒单片机有很多种方法,其中之一就是使 PA 口的其中一个引脚从高电平转为低电平。这个功能特别适合于通过外部开关来唤醒的应用。 PA 口的每个引脚可以通过设置 PAWU寄存器来单独选择是否具有唤醒功能。应注意只有在引脚共用功能选择为通用输入 / 输出口且单片机进入暂停模式时,此功能可由唤醒控制寄存器控制。


6.4、输入 / 输出端口电源控制
此系列单片机为 PE3~PE0 输入 / 输出端口提供了不同的端口电源选择。通过设定 PMPS 寄存器中的 PMPS1~PMPS0 位段可确定端口电源是来自电源引脚 VDD或是 VDDIO 引脚。若来自 VDDIO 引脚则该引脚功能必须通过相应的引脚共用功能选择位预先设定。必须注意的是若 VDDIO 引脚被选作端口电源引脚,则该引脚上的输入电源电压应等于或小于单片机供电电压。

以上这几点是摘要芯片手册的 I/O 引脚的配置,具体配置还需具体分析。具体的详细内可以参考帮助手册,资料我已上传到个人博客首页 。

 

7、_wdtc = 0b10101111 配置看门,具体的配置如下:

以上就是编程合泰单片机的第一个流水灯程序步骤,其实单片机的功能都是大同小异的,当我们拥有了 51 的基础后,我们在拿到一款新的单片机,首先要找的就是官网里的芯片开发手册,你遇见的问题官网都可以解决。好了理解完基本的编程后,我们接下来就是学习不同的单片机外设开发。

=======================(更新中····)=====================

注:一个热爱开源技术,记录分享51单片机,STM32,C语言,数据结构和算法,嵌入式Linux技术的公众号,学习的道路是宽广的,人海之中若有缘相见,那就关注一波吧,让我们一起共同成长,记录生活记录你!

 

 

  • 18
    点赞
  • 142
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值