单片机原理与接口技术实验教程

合集下载

单片机原理与应用实验教案

单片机原理与应用实验教案

《单片机原理及应用》实验教学大纲课程编号:B04611016课程类别:专业课实验学时:16学时学分:2.5适用专业:计算机科学与技术一、实验教学目的和任务本课程是计算机及应用专业一门重要的专业课。

其教学内容直接面向生产。

同时,微机向小型化、超小型化方面发展愈来愈迅猛。

单片机应用已渗透社会各个领域,特别在通信技术中的应用,大大提高了通信技术水平。

学生应具备这方面的知识与技能,为今后参加工作,打下坚实的基础。

二、实验教学基本要求本课程是一门很注重实践的课程。

以研究MCS-51系列单片机入手,掌握其硬件结构、指令系统和程序设计,以及常用接口技术和典型应用实例。

三、实验教学内容实验项目一:清零程序1、实验目的及要求要求学生掌握软件的结构和键盘的调试。

2、实验内容及学时分配(2学时)(1)了解MCS-51软件的构造(2)掌握清零程序的输入方法(3)了解起始伪指令的输入方法实验项目二:拼字和拆字程序1、实验目的及要求要求学生掌握存储器分配和汇编语言的简单应用。

2、实验内容及学时分配(2学时)(1)进一步掌握MCS-51软件的基本使用方法(2)掌握指令的寻址方式(3)掌握数据传送指令和地址内容的分配实验项目三:数据区传送子程序1、实验目的及要求要求学生掌握RAM数据存储器实际操作。

2、实验内容及学时分配(2学时)(1)掌握MCS-51逻辑运算指令和位操作指令(2)进一步掌握数据传送子程序的简单方法(3)掌握查表程序的编写实验项目四:数据排序实验1、实验目的及要求要求学生掌握汇编语言的应用和实际操作。

2、实验内容及学时分配(2学时)(1)掌握MCS51逻辑运算指令和位操作指令(2)进一步掌握简单顺序程序的编写和调试方法(3)掌握查表程序的编写实验项目五:查找相同个数1、实验目的及要求熟悉汇编语言程序,使用环移指令和加1指令。

2、实验内容及学时分配(2学时)(1)掌握赋值指令(2)掌握带进位的环移指令和加1程序的编写实验项目六:双字节无符号数的乘法实验1、实验目的及要求要求学生掌握MCS-51汇编语言设计和调试方法。

单片机(汇编语言)秒表课程设计设计

单片机(汇编语言)秒表课程设计设计

题目名称:秒表电路设计姓名:班级:学号:指导教师:日期:2016年7月13日《单片机原理及接口技术课程设计》教学大纲课程代码:课程名称:单片机原理及接口技术课程设计周数: 2 学分:1.0学分一、课程设计的性质、任务与目的单片机原理及接口技术课程设计是在学生学习完理论课和实验课的基础上开设的,通过完成一个涉及MCS-51或其他系列单片机多种资源应用并具有综合功能的设计与编程应用,使学生能够将课堂上学到的理论知识与实际应用结合起来,同时在软件编程、仿真调试及相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的设计开发工作打下一定的基础。

本课程设计的主要目的如下:1、增进对单片机的感性认识,加深对单片机理论知识的理解,掌握单片机内部功能模块(如定时/计数器、中断、片内外存贮器、I/O口、串行口等)的应用;2、掌握单片机应用系统的软硬件设计过程及实现方法,为以后设计和实现单片机应用系统打下良好基础;3、提高综合应用所学理论知识独立分析和解决实际问题的能力。

二、本课程设计的基本理论本课程设计的基本理论是单片机原理及接口技术的基本理论,主要包括单片机的硬件结构原理、指令系统、汇编语言、中断系统、定时/计数器、串行接口、I/O接口等。

在学习掌握单片机原理及接口技术课程的前提下,利用实验室提供的单片机实验条件或基于仿真软件,采用汇编语言或C51编程,设计实现一个具体的单片机应用系统项目,熟悉单片机系统设计开发的完整过程。

三、课程设计的方式与基本要求课程设计的方式:每个班级学生按2~3人分为一组,以组为单位进行课程设计(也可一人独立进行),课程设计的题目从教师给定的题目中选取,也可以是指导教师审核通过的学生自选题目。

基本要求:每组选定题目后,按题目要求,首先进行方案论证,通过查阅资料、集体讨论,确定设计方案;然后进行具体的硬件和软件设计;完成设计后,进行硬件/软件调试;最后撰写课程设计报告。

单片机原理及接口技术

单片机原理及接口技术

单片机原理及接口技术在当今数字化时代,单片机已经成为嵌入式系统设计中不可或缺的重要组成部分。

本文将介绍单片机的工作原理以及与外部设备进行通信的接口技术。

单片机工作原理单片机是一种集成了处理器、存储器和输入输出设备等功能模块的微型计算机系统。

它通常由中央处理器(CPU)、存储器(RAM和ROM)、计时器(Timer)、串行通信接口(UART)和引脚(Port)组成。

单片机的工作原理可以简要描述为以下几个步骤:1.初始化:单片机在上电时会执行初始化程序,设置各种工作模式、配置寄存器等。

2.执行程序:单片机会根据存储器中存储的程序指令序列来执行相应的操作,包括算术逻辑运算、控制流程等。

3.输入输出操作:单片机通过输入输出接口与外部设备进行通信,如传感器、执行器等。

4.中断处理:单片机可以在特定条件下触发中断请求,暂停当前执行的程序,转而执行中断服务程序,处理相应的事件或信号。

单片机接口技术单片机与外部设备的通信主要依赖于接口技术,包括数字输入输出接口、模拟输入输出接口以及通信接口等。

数字输入输出接口数字输入输出接口用于与二进制设备进行通信,通过配置相应的引脚工作在输入或输出模式,实现信号的采集与输出。

常用的数字输入输出方式包括GPIO口、SPI接口、I2C接口等。

模拟输入输出接口模拟输入输出接口用于处理模拟信号,包括模拟输入端口和模拟输出端口。

模拟输入端口通过模数转换器将模拟信号转换为数字信号,模拟输出端口则通过数模转换器将数字信号转换为模拟信号。

通信接口通信接口是单片机与外部设备进行数据交换的重要手段,主要有串行通信接口(UART)、并行通信接口(Parallel)、CAN接口等。

通过这些通信接口,单片机可以实现与其他设备的数据交换与通信。

结语单片机原理及接口技术是嵌入式系统设计的基础知识,通过深入了解单片机的工作原理和接口技术,可以更好地应用单片机进行系统设计与开发。

希望本文对读者有所帮助,谢谢!以上是关于单片机原理及接口技术的简要介绍,希望能对读者有所启发。

单片机跑马灯实验报告

单片机跑马灯实验报告

学号14142200277序号19单片机原理与接口技术实验报告实验项目序号一实验项目名称跑马灯实验姓名卢志雄专业电子信息工程班级电信14-2BF完成时间 2016年4月2日一、实验内容实验内容为3项,其中第1、2项必做。

1、基本的流水灯。

根据图1电路,编写一段程序,使8个发光二极管D1、D2、D3、D4、D5、D6、D7、D8顺序(正序)点亮:先点亮D1,再点亮D2、D3……D8、D1……,循环点亮。

每点亮一个LED,采用软件延时一段时间。

2、简单键控的流水灯。

不按键,按正序点亮流水灯;按下K1不松手,按倒序点亮流水灯,即先点亮D8,再顺序点亮D7、D6……D1、D8……。

松手后,又按正序点亮流水灯。

3、键控的流水灯。

上电,不点亮LED,按一下K1键,按正序点亮流水灯。

按一下K2键,按倒序点亮流水灯,按一下K3键,全部关闭LED。

二、电路原理图图1 跑马灯实验电路原理图三、程序流程图图2 简单键控的流水灯程序流程图四、源程序1、基本的流水灯#include<reg51.h>#define uint unsigned int#define uchar unsigned charvoid delay( j ) //延时函数data uint j;{ data uint i;while(j--)for(i=0;i<250;i++);}void main( ) //主函数{ data uchar a;a=1; //保证只有一个点亮while(1) //不断循环{ P2=~a; //低电平点亮a=a<<1; //左移一位,右补0if(a==0)a=1; //全0delay(2250);} //流动点亮延时}2、简单键控的流水灯#include<reg51.h>#define uchar unsigned char #define uint unsigned int void delay(uint i){ uchar t;while(i--){for(t=0;t<120;t++);}}void main(){ data uchar a;a=1;while(P2==0xff){ P0=~a;a=a<<1;if(a==0)a=1;delay(250);}while(P2==0xfe){ P0=~a;a=a>>1;if(a==0)a=128;delay(250);}}3、键控的流水灯#include<reg51.h>#define uchar unsigned char #define uint unsigned int void delay(uint i){ uchar t;data uchar b=0xfb;while(i--){ if(P2==0xfe) b=0xfe;if(P2==0xfd) b=0xfd;if(P2==0xfb) b=0xfb;for(t=0;t<120;t++);}}void main(){ data uchar a;a=1;while(P2==0xfe){ P0=~a;a=a<<1;if(a==0)a=1;delay(250);while(P2==0xff){P0=~a;a=a<<1;if(a==0)a=1;delay(250);}}while(P2==0xfd){ P0=~a;a=a>>1;if(a==0)a=128;delay(250);while(P2==0xff){ P0=~a;a=a>>1;if(a==0)a=128;delay(250);}}while(P2==0xfb){ P0=0xff;}}五、实验结果1、基本的流水灯基本流水灯仿真图2、简单键控的流水灯简单键控的流水灯仿真图3、键控的流水灯键控的流水灯仿真图六、思考题回答1、采用I/O口作为输出口时要考虑哪些因素?为什么实验装置中LED要串联一个电阻?答:电压的大小(包括它能感知的最小电压作为高电平),电流的驱动能力等,同时也要要考虑它是否要加上拉电阻。

proteus教学实验系统(单片机e型)实验指导

proteus教学实验系统(单片机e型)实验指导

目录(版本 1.03)第1章PROTEUS教学实验系统(单片机E型)简介及使用说明 (1)1.1 系统简介 (1)1.2 实验系统的硬件布局 (4)1.3 实验系统原理图 (5)1.4 实验板硬件图 (16)1.5 USB下载方式说明 (23)第2章硬件实验目录 (27)实验一I /O口输出实验—LED流水灯实验 (27)实验二I/O口输入/输出实验—模拟开关灯 (29)实验三8255并行I/O扩展实验 (31)实验四无译码的七段数码管显示实验 (33)实验五BCD译码的多位数码管扫描显示实验 (36)实验六独立式键盘实验 (38)实验七计数器实验 (40)实验八定时器实验 (42)实验九单个外部中断实验 (44)实验十中断嵌套实验 (46)实验十一矩阵键盘扫描实验 (49)实验十二串行端口并行输出扩充实验 (51)实验十三串行端口并行输入扩充实验 (53)实验十四单片机与PC之间串行通信实验 (55)实验十五双单片机通信实验 (58)实验十六I2C总线——AT24CXX存储器读写 (60)实验十七温度传感器DS18B20实验 (64)实验十八实时时钟DS1302实验 (66)实验十九A/D转换实验 (68)实验二十D/A转换实验 (70)实验二十一1602液晶显示的控制(44780) (72)实验二十二12864液晶显示的控制(KS0108) (74)实验二十三直流电机控制实验 (76)实验二十四步进电机控制实验 (78)实验二十五16X16阵列LED显示 (81)实验二十六直流电机测速实验 (83)实验二十七串行AD—TLC549实验 (85)实验二十八串行DA—TLC5615实验 (87)实验二十九继电器控制实验 (89)实验三十LCD 1602 IO方式驱动 (92)第3章软件仿真实验目录 (96)实验一可控硅驱动 (96)实验二光耦应用实验 (98)实验三单片机播放音乐实验 (100)实验四SD卡读写实验 (104)第1章PROTEUS教学实验系统(单片机E型)简介及使用说明1.1 系统简介【硬件特点】PROTEUS教学实验系统(单片机E型)是我公司陆续推出的PROTEUS教学实验系统第三版。

湖北理工学院

湖北理工学院

湖北理工学院电气与电子信息工程学院实验大纲电子信息工程专业(新兴产业计划)二0一四年九月目录《信号与系统A》实验教学大纲 (4)《单片机原理与接口技术B》实验教学大纲 (7)《计算机网络》实验教学大纲 (10)《光纤通信技术》实验教学大纲 (12)《通信网与交换技术》实验大纲 (14)《电路实验》实验大纲 (16)《电子技术实验》教学大纲 (19)《电子技术课程设计》教学大纲 (32)《PLC技术实训》教学大纲 (35)《单片机课程设计》教学大纲 (39)《电工与电子实习AⅠ》教学大纲 (41)《专业实习》教学大纲 (46)《生产实习》教学大纲 (48)《毕业实习》教学大纲 (50)《毕业设计》大纲 (54)电子信息工程实验大纲《信号与系统A》实验教学大纲课程编码:B02500155课程名称:信号与系统A课程属性:专业必修课程实验学时:8适用专业:电子信息工程(新兴产业计划)一、实验教学目的和任务信号与系统实验是理论教学的深化和补充,具有较强的实践性。

随着科学技术迅速发展,理工科大学生不仅需要掌握硬件电路方面的基本理论知识,而且还需要分析各种信号的特性,并掌握基本的实验技能及一定的科学研究能力。

通过该课程的学习,使学生巩固和加深信号与系统理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。

二、实验教学基本要求经过多层次,多方式教学的全面训练后,学生应达到下列要求:1、进一步巩固和加深信号与系统基本知识的理解,提高综合运用所学知识独立分析具有某种特性的信号对电路系统的作用的能力。

2、能根据需要选学参考书,查阅手册,通过独立思考,深入钻研有关问题,学会自己独立分析问题、解决问题,具有一定的创新能力。

3、能正确使用仪器设备,掌握测试原理。

4、能独立撰写设计说明,准确分析实验结果,正确绘制信号波形。

51单片机项目教程项目 5 蜂鸣器实验

51单片机项目教程项目 5  蜂鸣器实验

图5- 9蜂鸣器实物结果
当SM0、SM1=01时,串行口设为方式1的双机串行通信。TXD脚和 RXD脚分别用于发送和接收数据。
5.2技术准备
方式1发送时,数据位由TXD端输出,发送一帧信息为10位:1位起始 位0,8位数据位(先低位)和1位停止位1。当CPU执行一条数据写 SBUF的指令,就启动发送。发送开始时,内部发送控制信号变为有 效,将起始位向TXD脚(P3.0)输出,此后每经过一个TX时钟周期, 便产生一个移位脉冲,并由TXD引脚输出一个数据位。8位数据位全部 发送完毕后,中断标志位TI置1。 方式1接收时(REN = 1),数据从RXD(P3.1)引脚输入。当检测到 起始位的负跳变,则开始接收。当一帧数据接收完毕后,同时满足以 下两个条件,接收才有效。 (1)RI = 0,即上一帧数据接收完成时,RI = 1发出的中断请求已被 响应,SBUF中的数据已被取走,说明“接收SBUF”已空。 (2)SM2 = 0或收到的停止位 = 1(方式1时,停止位已进入RB8), 则将接收到的数据装入SBUF和RB8(装入的是停止位),且中断标 志RI置“1”。
5.2技术准备
5.2.2 了解实验板蜂鸣器电路
图5- 3蜂鸣器电路
5.2技术准备
5.2.3 蜂鸣器驱动电路
蜂鸣器驱动电路如图5-4所示。
图5- 4蜂鸣器驱动电路
5.2技术准备
5.2.4串行口的结构
单片机串口结构如图5-5所示。有两个物理上独立的接收、发送缓冲器 SBUF(属于特殊功能寄存器),可同时发送、接收数据。控制寄存器共 有两个:特殊功能寄存器SCON和PCON。发送和接收引脚分别是TXD (P3.0)和RXD(P3.1)。
SM0 0 0 1 1 SM1 0 1 0 1 工作 方式 0 1 2 3 功能简介 移位寄存器 8位UART 9位UART 9位UART 比特率 OSC/12 可变 OSC/32或 OSC/64 可变

单片机控制系统的设计与实现

单片机控制系统的设计与实现

单片机控制系统的设计与实现单片机在现代电子产品中应用日益广泛。

通过对某一控制系统的设计与实现,本文旨在介绍单片机控制系统的基本原理、流程、结构及其开发环境。

一、单片机控制系统基本原理单片机控制系统是指通过单片机对某一设备或系统进行控制和管理的系统。

其基本原理是:将外部传感器或信号通过单片机的输入端口获取,并进行加工处理和逻辑运算。

然后根据控制程序的指令,通过单片机的输出端口输出控制信号,给被控制的设备或系统达到控制目的。

二、单片机控制系统流程单片机控制系统的具体流程如下:1.设计控制程序:控制程序通常由C语言编写,根据控制要求设计程序的基本架构和逻辑。

2.硬件设计:包括外部接口电路的设计及连接方式、输入信号的滤波和处理电路以及输出信号的放大和保护电路等。

3.编译烧录:将编写好的C语言程序编译成单片机自己的机器语言,并烧录到单片机的存储器中。

4.系统调试:包括单片机的上电复位、外设初始化和相关寄存器设置,调试控制程序中的代码和参数,检查控制效果和系统稳定性,以及修正问题和改进控制系统的功能。

三、单片机控制系统结构单片机控制系统的结构一般包括以下三个部分:1.外设部分:包括外部传感器或信号的采集部分、显示设备的输出部分等。

2.单片机微控制器:通常采用8051、PIC、AVR等微控制器。

它是整个控制系统的核心,用于执行控制程序,完成信号输出和输入等任务。

3.电源和供电模块:为整个单片机控制系统提供电源和电压稳定模块。

四、单片机控制系统开发环境单片机控制系统的开发环境一般包括以下几个方面:1.开发工具:包括集成开发环境(IDE)、编译器、调试器等。

2.仿真工具:可用于模拟单片机和外设,可提前进行系统调试和优化。

3.实验板设计:为单片机实现软硬件开发提供平台,实现系统的可靠性和稳定性。

4.资料和学习资源:这包括参考资料、电子书、教程、样例程序以及相关技术社区等。

五、总结单片机控制系统的设计和实现是一个复杂的过程,需要综合考虑软硬件平台、系统要求、环境因素和操作特点等因素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 1-3 实物连线图
5、连接烧写器与目标板。 7、经指导老师检测无误后上电。 8、在 CodeWarrior 开发环境中打开实验资料/程序/CodeWarrior5.0 编写
/Project01GPIO,并将编译无误的程序烧写到目标板中。 9、点击全速运行按钮后拨动拨码开关,观察 LED 灯亮灭变化。 12、修改代码改变 LED 灯的点亮逻辑,诸如左边四个与右边四个交替
//记载自由运行定时器溢出次数
/*总线时钟设置:外部晶振 16MHz,单片机总线时钟也设置为 16MHz*/
void Busclock_Init(void)
{
CLKSEL = 0x00; //将 PLL 锁相环脱离系统从而进行配置
PLLCTL_PLLON = 1; //打开 PLL 锁相环
SYNR = 0x00;
REFDV = 0xC0;
POSTDIV = 0x00;
while(!(CRGFLG_LOCK==1)); //等待 PLL 锁相环稳定
CLKSEL_PLLSEL = 1;
//在系统中使用 PLL 锁相环
}
/*TIM 初始化*/来自void TIM_Init(void)
{
/*配置自由运行定时器的分频系数*/
#include "derivative.h"
/*全局变量*/
unsigned int TimeEx=0;
//前一次下降沿时定时器计数值
unsigned int TimeNow=0;
//当前下降沿定时器计数值
long int PeriodTIM=0;
//计算得到的周期值
long int FlowNum=0;
{
Busclock_Init();
//调用总线时钟设置函数
TIM_Init();
//调用 TIM 初始化函数
PWM_Init();
//调用 PWM 初始化函数
PWMDTY0 = 100;
// PWM0 周期
PWMPER0 = 250;
// PWM0 占空比
EnableInterrupts;
//全局中断使能
单片机原理及接口技术 (实验教程)
动力装置电控所 编
哈尔滨工程大学
前言
单片机是一款功能强大的实用工具,其本身的性质就决定了学习单片机 最为有效的途径—实践。而实践的缺乏同时也是造成大多数人学习单片机比 较困难的主要原因。本实验课程设置的目的旨在部分解决上述问题,为同学 们提供相关实验设备,通过实践的方式解决理论学习中存在的疑惑,以期达 到整个课程设置的目的:帮助同学们完成单片机入门知识的学习。
(二)实验器材
主机 试验箱组件 接插线
(三)实验说明
本实验完成 PWM 模块和输入捕捉模块的使用,在程序中使用 PWM 模 块产生矩形波,其中 PWMPER0 寄存器用于设置 PWM 的周期,PWMDTY0 寄存器用于设置 PWM 的占空比,PWM 模块的运行频率是总线时钟 16 分频, 即 1MHz,如果 PWMPER0=200,相当于 PWM 模块输出波形的周期为 PWM 模块运行周期的 200 倍,周期为 200μs。将 PWM 模块的输出与输入捕捉模 块相连,输入捕捉用于 PWM 周期检测,程序中设置的输入捕捉进行下降沿 捕捉,由于输入捕捉模块的运行频率(即自由定时器频率)为总线频率 (16MHz),那么捕获周期为 200μs 波形,捕获值应该为 200*16。所以程 序中输入捕捉捕捉到的值(PeriodTIM)应该为 PWMPER0 的 16 倍。修改 PWMPER0 的值(不能太小,建议大于 50,同时修改相应的 PWMDTY0, 保证 PWMDTY0 小于 PWMPER0),检查 PeriodTIM 是否是 PWMPER0 的 16 倍。
实验预习及实验步骤请参考第一章实验手册 实验课程分数分配请参考第二章考核方式 相关软件以及驱动安装请参考第三章实验箱使用说明
2012.05.02
第一章 实验手册
实验一 单片机通用输入输出端口应用实验
(一)实验目的
1、熟悉实验箱的组成与使用。 2、掌握程序的下载与调试的基本流程。 3、了解单片机通用端口工作的基本原理。
TIE_C0I = 1;
//通道 0 输入捕捉/输出比较中断允许
}
/*PWM 初始化*/
void PWM_Init(void)
{
PWMPOL = 0x01;
//通道 0 先输出高电平
PWMCLK_PCLK0 = 0;
//0 通道使用 A 时钟源
PWMPRCLK = 0x04;
//A 时钟频率为总线时钟 16 分频

PeriodTIM =PWMPER0*16
(2.4)
所以,PWM 和 ECT 各自模块的计数频率一旦设定。通过 ECT 输入捕
捉所计算的 PeriodTIM 值总是 PWMPER0 得 16 倍。即改变 PWMPER0 的值,
通过在线观测到的 PeriodTIM 一定是 PWMPER0 的 16 倍。
(二)实验器材
主机 试验箱组件 接插线
(三)实验说明
本实验旨在通过使用 GPIO(通用输入输出端口)检测拨码开关状态和点 亮 LED 小灯的形式使学生了解单片机工作的基本原理。
(四)实验原理
1、LED 原理 如下图所示,8 个 LED(D1—D8)一端接 VCC5,另一端接三极管(RQ1 —RQ8)的集电结。三极管发射结接地,基区经电阻(RD1—RD8)接插孔 D-JK。16 个插孔每两个一组,分别对应 8 个 LED,同组的两个插孔等价。 由三极管的工作原理可知。将插孔,即三极管的基区电压接低。使得三极管 集电节反相偏置,LED 正向导通后点亮。
图 2-4 实物连线图
5、经实验指导老师确认连线无误后方可上电。 5、在 CodeWarrior 开发环境中打开实验资料/程序/CodeWarrior5.0 编写/ Project02ECT_PWM,并将编译无误的程序烧写到目标板中。 6、运行目标板,在线观察 PeriodTIM 是否为 PWMPER0 的 16 倍, 7、修改 PWMPER0 的值(不能太小,建议大于 50,同时修改相应的 PWMDTY0,保证 PWMDTY0 小于 PWMPER0),并重新下载程序,再次观 察。
图 1-2 拨码开关原理图
(五)实验步骤
1、安装 CodeWarrior5.0(上课前务必安装好)。 2、由实验指导老师介绍实验原理,注意事项。 3、连接下载器与主机,参考本教程第三章第二节的步骤 3、4 安装下载 器的相关驱动。 5、将子版上 PB 端口的 8 个插针分别与 8 个调试小灯(D-JK)相连, 将拨码开关 K4 与子板上 PA 的第 0 端口相连。
PWME_PWME0 = 1;
byte k=0, temp=0;
int i=0, j=0;
//变量声明
//配置端口方向寄存器 DDRB = 0xFF; //PortB 全为输出 DDRA = 0xFE; //PortA 的第 0 端口为输入
EnableInterrupts; for(;;) {
if((PORTA & 0x01) > 0)//如果 PortA 的第 0 端口为高 {
PeriodTIM= TimeNow+65536* FlowNum –TimeEx (2.4)
(五)实验步骤
1、检测实验箱电源开关是否为关,请务必保证开关处于关的位置。 2、由实验指导老师介绍实验原理。 3、连接主机、烧写器与目标板。 4、将实验箱核心板上 PP 端口的 0 端口(PWM 的 0 通道)与核心板上 PT 的 0 端口(TIM 的 0 通道)相连。
点亮,或是 8 个灯交叉点亮。 10、关掉电源,从子板上拔掉下载器。 11、重新上电,拨动拨码开关,再次观察实验现象。
(六)程序流程图
开始
配置端口 方向寄存器
PA0端口是否为高
是 LED
明灭交替

LED 流水灯
结束 图 1-5 程序流程图
(七)源程序代码
void main(void) {
/* put your own code here */
(四)实验原理
1、PWM 输出方波原理
T TH
PWM输出
图 2-1 PWM 原理图
PWM 模块的计时频率为 f1=1MHz。如上图所示,通过寄存器 PWMPER0 设置方波的周期 T= PWMPER0*(1/ f1)。通过寄存器 PWMDTY0 设置方波 的高电平维
持的时间 TH = PWMDTY0*(1/ f1),以此来输出周期与占空比可调的方 波。
for(i=0; i<1000; i++) for(j=0; j<1000; j++);//软件延时
PORTB = ~PORTB; //将 PortB 端口数据寄存器值按位取反
} else//如果 PortA 的第 0 端口为低 {
for(k=0; k<8;k++) {
temp = 0x01 << k;//逻辑左移 k 位 PORTB = temp; //赋值 PortB 端口数据寄存器 for(i=0; i<1000; i++)
(六)程序流程图
开始
开始 溢出次数加1
读取当前 主定时器值
计算时间间隔
结束
清除溢出次数
结束
图 2-5 溢出中断(左)与输入捕捉中断(右)流程图
开始
初始化锁相环PLL 配置总线时钟
初始化ECT模块 初始化PWM模块
主循环
结束
图 2-4 主程序流程图
(七)源程序代码
/*头文件*/
#include <hidef.h>
相关文档
最新文档