义隆单片机C语言开发入门教程
5星 · 超过95%的资源 | 下载需积分: 34 | PDF格式 | 100KB |
更新于2024-09-14
| 48 浏览量 | 举报
"该资源是针对初学者的义隆单片机EM78P153的C语言编程示例,旨在帮助理解如何在义隆单片机上使用C语言进行位定义、定时器和中断操作。"
在这个文档中,作者提供了一个简单的C语言程序,该程序展示了如何在义隆单片机EM78P153上实现RS触发器的功能,并且结合了逻辑运算来控制输出。以下是对关键知识点的详细解释:
1. **位定义**:
- 在代码中,`#define Trig_sR65` 和 `#define Trig_rR64` 分别定义了R65和R64寄存器的位,这在51系列单片机中相当于位定义,用于位操作。
2. **中断和定时器**:
- 定时器的配置是通过设置TCC(Timer Control Counter)寄存器完成的,如`TCC=6;` 将定时器的分频比设置为1:32,使得定时器周期为4ms。
- ISR(Interrupt Service Routine)被清零,`ISR=0;`,表示清除TCC中断标志位。
- IMR(Interrupt Mask Register)被设置,`IMR=0x01;` 开启定时器中断,允许中断发生。
3. **C语言编译器和开发环境**:
- 文档指出,C语言的编译器可以在义隆单片机的官方网站下载,即eUIDE,这是一款集成开发环境。
4. **初始化函数`Init()`**:
- 这个函数负责设置P6端口为输出模式,`P6CR=0x38;`,并初始化相关寄存器和变量。
5. **主函数`main()`**:
- 主函数首先禁用看门狗定时器(WDT)和使能中断,`WDTC(); DISI(); ENI();`。
- 随后,RS触发器的逻辑在`Trig_q=(!Trig_s)||(Trig_r&&Trig_q);`中实现,逻辑与运算`L1=Trig_q&&ccc;` 结果用于控制输出。
- 当`L1`的结果为1时,R61和R62输出高电平,否则输出低电平。此外,还涉及了30秒和45秒的计时标志`flag`和`flag2`,用于特定时间后改变输出状态。
这个程序实例适合初学者理解义隆单片机上的基本C语言编程和硬件交互,包括位操作、定时器中断和输出控制。通过这个示例,学习者可以逐步掌握如何在实际项目中应用这些概念。
相关推荐
295 浏览量
jmjack0032
- 粉丝: 0
- 资源: 2