本教材为重庆大学微电子与通信工程学院S12X单片机课程设计,涵盖实验内容及操作指南,旨在提升学生的实践能力和技术水平。
### 重庆大学微电子与通信工程学院单片机(S12X)课程实验内容与指导
#### 实验概述
本实验旨在通过一系列实践操作帮助学生深入理解并掌握恩智浦(NXP)MCU的开发和应用,特别是针对S12X系列单片机的操作。实验分为两部分:第一部分主要关注于单片机的基本编程与调试,尤其是使用汇编语言来实现;第二部分则进一步探索单片机的高级特性,包括并行IO接口和中断处理。
#### 实验一:仿真调试、汇编编程
##### 目的
- **熟悉恩智浦MCU的IDE环境**:通过实践操作了解CodeWarrior IDE的基本使用方法。
- **汇编语言基础**:学会编写汇编语言程序,理解其规范。
- **程序调试**:掌握如何使用调试工具进行单步执行、设置断点等操作以验证程序逻辑。
##### 实验环境
- **开发工具**:CodeWarrior IDE
- **编程语言**:汇编语言 (Relocatable Assembly)
- **调试方式**:全软件仿真
##### 实验内容
1. **简单算术运算**: 通过实现两个4字节无符号数的相加操作,熟悉IDE环境及其基本操作。
2. **BCD码加法验证**: 参照示例程序验证BCD码加法的正确性。
3. **BCD码到ASCII码转换**:使用查表方法将累加器A中的两位BCD码转换为ASCII码,并通过调试工具观察寄存器变化情况,以确认结果准确性。
4. **数据搬运**: 将ROM中定义的数据搬移到RAM特定区域并验证正确性。
5. **数据统计**: 统计一组无符号数中0的数量并将结果存储在指定的RAM地址。
#### 实验二:并行IO接口、IRQ中断
##### 目的
- **并行IO接口操作**:学习如何控制LED灯和检测按键状态。
- **中断处理**:掌握外部中断触发机制,实现灵活的程序响应。
##### 实验环境
- **开发工具**: CodeWarrior IDE
- **编程语言**: C语言
- **调试方式**: 硬件连接调试
##### 实验内容
1. **LED闪灯**: 使一个LED闪烁,并控制其亮灭时间和周期。
2. **LED跑马灯**:按顺序点亮开发板上的8个LED,每个亮出时间为100ms。
3. **按键控制LED**:根据4个按键的状态来切换对应的LED状态。
4. **外部中断触发的LED跑马灯**: 通过外部中断机制实现依次点亮B口连接的8个LED。
这些实验将使学生从理论到实践全面理解单片机的工作原理和技术应用,为后续更复杂的工程项目奠定坚实基础。