HT_C合泰单片机C语言
HT_C合泰单片机C语言
第三章 用C语言编程.......................... 39
开始一个C 程序.............................39
定义中断入口向量............................40
在 C源程序文件中宣告中断服务子程序的名称和地址......40
在 C源程序文件中定义 ISR.....................40
限制..................................40
在程序存储器中定义表格与标号....................41
在数据存储器内定义变量........................42
指定变量地址............................42
在多个数据存储器区块访问变量...................42
在程序存储器区块 0中指定变量(提高性能) ............43
指针范围................................44
访问 LCD数据存储空间.......................45
单片机特殊功能寄存器..........................42
访问特殊功能寄存器........................42
访问输入输出端口..........................47
内置函数..................................48
类似汇编语句的内置函数.......................48
移位函数................................49
高低位交换函数............................49
延迟周期函数............................50
编程提示..................................50
定义变量为无符号数据类型.....................50
将变量定义在数据存储区块 0....................51
定义位变量..............................52
分配地址给指针............................52
使用更有效的方法获得模数.....................53
常量变换 / 强制转换.........................54
串行端口传输范例............................56
初始程序................................56
调节传输时序............................57
波特率匹配调节............................58
框架程序范例................................59
数据类型..................................60
数据类型................................60
第三章 用 C 语言编程
此章节包括以下部分:
? 开始一个C 程序
? 定义中断服务入口向量(ISR)
? 在程序存储器中定义表格与标号
? 在数据存储器内定义变量
? 单片机特殊功能寄存器
? 内置功能
? 编程小窍门
? 串口通信例程
? 程序主要架构
? 数据类型
HT-MCU集成开发环境 IDE3000。
中断向量
MCU复位后程序从ROM的0地址开始执行。这里有一条跳转指令,使程序跳转到主程序 main。
从0地址开始有若干特殊地址,都是中断发生时程序自动跳转到的地址,这些地方也放置跳转指令引导MCU进入相应的中断响应函数中。
定义中断入口向量
当项目中要使用单片机中断以及相关的中断服务程序(ISR), 那么在编写相关的C 程序中要注意适当的使用以及限制。
没有必要保存系统寄存器, Holtek的 C编译器会自动地将使用到的系统寄存器进行保存。
声明ISR函数:
#pragma vector IsrRoutineName @ address
其中
pragma 和 vector是关键字。
IsrRoutineName是中断服务子程序的名字。
Address是中断服务子程序在程序存储器中的入口地址。
地址 0 是为函数 main 保留的不能使用。
限制
使用C 语言