单片机 课程设计
- 格式:doc
- 大小:589.00 KB
- 文档页数:18
单片机小组课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理和功能,了解其在工程领域的应用。
2. 使学生熟悉单片机的编程语言,能运用C语言进行基础程序编写。
3. 帮助学生理解并掌握单片机与其他外围设备的连接与通信方法。
技能目标:1. 培养学生运用单片机解决实际问题的能力,能设计简单的电路控制系统。
2. 提高学生动手实践能力,能熟练使用编程软件和开发工具进行程序编写、调试和测试。
3. 培养学生团队协作能力,能与他人共同完成课程设计和项目任务。
情感态度价值观目标:1. 培养学生对单片机及电子工程的兴趣,激发创新精神和探索欲望。
2. 培养学生严谨、细致的学习态度,养成良好的编程习惯。
3. 增强学生的自信心,使其勇于面对挑战,积极解决问题。
分析课程性质、学生特点和教学要求,本课程旨在使学生通过理论学习与实践操作相结合的方式,掌握单片机的基本知识和技能。
课程目标具体、可衡量,便于学生和教师在教学过程中明确预期成果,为后续的教学设计和评估提供依据。
二、教学内容1. 单片机原理概述:介绍单片机的基本概念、发展历程、组成结构及其在自动化控制系统中的应用。
教材章节:第一章单片机概述内容安排:讲解单片机的基本原理,引导学生了解各类单片机的特点。
2. 单片机编程语言:以C语言为基础,讲解单片机编程的基本语法、数据类型、运算符、控制结构等。
教材章节:第二章C语言编程基础内容安排:通过实例演示,使学生掌握单片机编程的基本方法。
3. 单片机外围设备及其接口技术:介绍常用外围设备(如LED、蜂鸣器、传感器等)的原理及接口方法。
教材章节:第三章外围设备及其接口技术内容安排:讲解外围设备与单片机的连接方法,分析接口电路设计。
4. 单片机程序下载与调试:介绍程序下载、调试的方法和技巧,培养学生动手实践能力。
教材章节:第四章程序下载与调试内容安排:指导学生使用编程软件和开发工具进行程序下载、调试和测试。
5. 单片机控制系统设计:结合实际案例,讲解单片机控制系统的设计方法,提高学生解决实际问题的能力。
单片机菜单课程设计一、课程目标知识目标:1. 让学生掌握单片机菜单设计的原理和流程。
2. 使学生了解并熟练运用单片机编程语言进行菜单程序编写。
3. 让学生掌握菜单界面布局和交互设计的基本原则。
技能目标:1. 培养学生运用单片机进行菜单程序设计的能力。
2. 培养学生分析和解决菜单程序中问题的能力。
3. 提高学生团队协作和沟通能力,能在团队中共同完成菜单设计项目。
情感态度价值观目标:1. 激发学生对单片机编程的兴趣,培养自主学习和技术探究的精神。
2. 培养学生面对编程挑战时的耐心和毅力,增强克服困难的信心。
3. 引导学生关注单片机技术在现实生活中的应用,认识到科技对生活的影响。
课程性质:本课程为实践性较强的学科,要求学生在理论学习的基础上,动手实践,培养实际操作能力。
学生特点:学生具备一定的单片机基础知识,对编程有一定的了解,但实际操作能力有待提高。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,培养学生编程思维和解决问题的能力。
通过课程目标的分解,使学生在完成具体学习成果的过程中,达到课程目标的要求。
二、教学内容本课程教学内容主要包括以下三个方面:1. 单片机菜单设计原理:介绍单片机菜单设计的概念、功能和分类,分析菜单设计的基本原理,包括菜单结构、菜单界面设计等。
教材章节:第三章 单片机菜单设计基础2. 单片机菜单程序编写:讲解单片机编程语言,以C语言为例,教授学生如何编写菜单程序,包括菜单项的添加、删除、修改等操作。
教材章节:第四章 单片机菜单编程实践教学安排:共4课时,分为以下两个阶段:阶段一:2课时,学习菜单程序的基本结构和编程方法。
阶段二:2课时,学习菜单项的添加、删除、修改等操作。
3. 单片机菜单设计实例:通过实际案例,教授学生如何进行菜单界面布局和交互设计,培养学生实际操作能力。
教材章节:第五章 单片机菜单设计实例教学安排:共4课时,分为以下两个阶段:阶段一:2课时,分析实例,讲解菜单界面布局和交互设计原则。
单片机课程设计要求1. 概述本文档旨在提供单片机课程设计的基本要求和指导,以帮助学生深入理解单片机的原理和应用,并通过设计和实现具体项目来提升实践能力。
本文档将对课程设计的主要内容、要求以及评分标准进行详细说明。
2. 课程设计内容单片机课程设计要求学生选取一个具体的项目,并使用单片机进行设计和实现。
项目类型可以包括但不限于以下几个方面:•传感器应用:利用单片机连接传感器,实现物理量的测量和控制。
•系统控制:利用单片机控制外围设备,如LED灯、电机等。
•通信应用:利用单片机实现与其他设备的通信,如蓝牙、WiFi等。
•嵌入式系统设计:利用单片机设计嵌入式系统,如智能家居系统、智能车等。
3. 设计要求3.1 硬件要求学生在设计过程中需要选择合适的硬件平台,并进行相关电路的设计和连接。
硬件要求如下:•单片机:至少选择一种主流单片机,如STC系列、PIC系列等。
•外围设备:根据项目要求选择合适的传感器、执行器、显示器等外围设备。
•连接方式:必须使用适当的电路和连接方式将单片机与外围设备连接起来。
3.2 软件要求学生需要编写相应的软件来实现项目的功能。
软件要求如下:•编程语言:可以选择汇编语言或C语言进行编程。
•开发环境:选择合适的单片机开发环境,如Keil、Arduino等。
•功能实现:根据项目要求,编写相应的程序代码,实现相应的功能。
•界面设计:如果项目需要界面显示,需要进行界面设计和编程。
3.3 功能要求学生需要根据项目要求设计并实现相应的功能。
功能要求如下:•数据采集:如果项目需要采集数据,需要设计相关的采集方案并实现。
•数据处理:对采集到的数据进行处理、转换或运算,实现项目要求的功能。
•状态控制:如果项目需要控制外围设备的状态,需要设计相应的控制方案并实现。
•用户交互:如果项目需要与用户交互,需要设计用户界面并实现相应的交互功能。
4. 实验报告要求学生需要撰写一份完整的实验报告,详细记录课程设计的整个过程。
单片机单片机课程设计-双机串行通信单片机课程设计双机串行通信在当今的电子信息领域,单片机的应用无处不在。
而双机串行通信作为单片机系统中的一个重要环节,为实现设备之间的数据交换和协同工作提供了关键的技术支持。
一、双机串行通信的基本原理双机串行通信是指两个单片机之间通过串行接口进行数据传输的过程。
串行通信相较于并行通信,具有线路简单、成本低、抗干扰能力强等优点。
在串行通信中,数据是一位一位地按顺序传输的。
常见的串行通信协议有 UART(通用异步收发器)、SPI(串行外设接口)和 I2C(内部集成电路)等。
在本次课程设计中,我们主要采用 UART 协议来实现双机串行通信。
UART 协议包括起始位、数据位、奇偶校验位和停止位。
起始位用于标识数据传输的开始,通常为逻辑 0;数据位可以是 5 位、6 位、7 位或 8 位,具体取决于通信双方的约定;奇偶校验位用于检验数据传输的正确性,可选择奇校验、偶校验或无校验;停止位用于标识数据传输的结束,通常为逻辑 1。
二、硬件设计为了实现双机串行通信,我们需要搭建相应的硬件电路。
首先,每个单片机都需要有一个串行通信接口,通常可以使用单片机自带的UART 模块。
在硬件连接方面,我们将两个单片机的发送端(TXD)和接收端(RXD)交叉连接。
即单片机 A 的 TXD 连接到单片机 B 的 RXD,单片机 B 的 TXD 连接到单片机 A 的 RXD。
同时,还需要共地以保证信号的参考电平一致。
此外,为了提高通信的稳定性和可靠性,我们可以在通信线路上添加一些滤波电容和上拉电阻。
三、软件设计软件设计是实现双机串行通信的核心部分。
在本次课程设计中,我们使用 C 语言来编写单片机的程序。
对于发送方单片机,首先需要对 UART 模块进行初始化,设置波特率、数据位、奇偶校验位和停止位等参数。
然后,将要发送的数据放入发送缓冲区,并通过 UART 发送函数将数据一位一位地发送出去。
对于接收方单片机,同样需要对 UART 模块进行初始化。
单片机按键课程设计一、课程目标知识目标:1. 让学生掌握单片机基础知识和按键的工作原理;2. 帮助学生了解按键在单片机系统中的应用和编程方法;3. 使学生能够运用所学知识设计简单的单片机按键控制系统。
技能目标:1. 培养学生动手实践能力,能够独立完成单片机按键电路的搭建;2. 提高学生编程能力,掌握单片机按键程序的设计与调试;3. 培养学生解决问题的能力,能够针对实际需求设计合适的单片机按键方案。
情感态度价值观目标:1. 培养学生对单片机技术及电子制作的兴趣,激发创新意识;2. 培养学生团队合作精神,学会分享和交流;3. 增强学生面对困难的勇气和毅力,培养勇于挑战的精神。
课程性质分析:本课程为实践性较强的课程,注重理论知识与实践操作的相结合,以培养学生的动手能力和创新能力为核心。
学生特点分析:学生处于初中或高中年级,具有一定的物理和数学基础,对电子技术和编程有一定了解,好奇心强,喜欢动手实践。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,引导学生主动参与,提高学生的实践能力和创新能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 单片机基础知识:介绍单片机的组成、工作原理、引脚功能等,结合教材相关章节,为学生建立单片机的基本概念。
2. 按键工作原理:讲解按键的物理原理、电路连接方式、去抖动方法等,使学生了解按键在单片机系统中的应用。
3. 单片机按键编程:教授单片机按键程序设计方法,包括I/O口编程、中断处理等,结合教材实例进行讲解。
4. 按键电路搭建:指导学生动手搭建单片机按键电路,学会使用面包板、电子元件等,培养实际操作能力。
5. 按键程序设计与调试:教授编程软件的使用,引导学生编写、调试按键程序,掌握程序设计的基本方法。
6. 应用实例分析:分析典型单片机按键控制系统实例,使学生了解实际应用中的设计方法和技巧。
教学进度安排:1. 第1课时:单片机基础知识及按键工作原理介绍;2. 第2课时:单片机按键编程方法讲解;3. 第3课时:按键电路搭建及编程实践;4. 第4课时:按键程序设计与调试;5. 第5课时:应用实例分析及总结。
单片机课程设计计时器一、课程目标知识目标:1. 学生能够理解单片机的基本工作原理和内部结构。
2. 学生掌握计时器模块的使用方法,包括编程和接口连接。
3. 学生能够解释计时器的工作流程,并掌握相关计算方法。
技能目标:1. 学生能够运用所学知识,设计并实现一个基于单片机的计时器程序。
2. 学生通过实践操作,培养动手能力和问题解决能力,能够调试并优化计时器功能。
3. 学生能够使用相关软件(如Keil、Proteus等)进行程序编写和仿真测试。
情感态度价值观目标:1. 学生培养对单片机编程的兴趣和热情,增强对电子工程领域的认识。
2. 学生在团队协作中学会沟通、分享,培养合作精神。
3. 学生认识到技术发展对生活的影响,激发创新意识和责任感。
课程性质:本课程为实践性较强的单片机应用课程,要求学生在理论学习的基础上,动手实践,培养实际操作能力。
学生特点:考虑到学生所在年级(如高二或高三),他们已经具备一定的电子基础和编程能力,但需加强对单片机内部结构和实际应用的理解。
教学要求:课程注重理论与实践相结合,要求教师以学生为主体,引导学生主动探究,培养学生的创新思维和实际操作能力。
通过本课程的学习,学生能够将知识转化为具体的学习成果,为后续相关专业课程打下坚实基础。
二、教学内容本课程教学内容以单片机计时器设计为主线,结合以下章节内容进行:1. 单片机基础理论:- 单片机内部结构和工作原理- 计时器/计数器模块功能介绍2. 计时器模块编程:- 汇编语言基础- 计时器编程方法- 中断处理程序设计3. 硬件电路设计与接口:- 计时器模块硬件连接- 单片机与外围设备接口技术- 电路仿真与调试4. 实践操作:- 使用Keil和Proteus软件进行程序编写和仿真- 设计并搭建计时器硬件电路- 调试优化计时器功能5. 综合应用:- 结合实际案例,分析计时器的应用场景- 创新设计,拓展计时器功能教学内容安排与进度:1. 基础理论学习(1课时)2. 计时器模块编程(2课时)3. 硬件电路设计与接口(2课时)4. 实践操作(3课时)5. 综合应用(1课时)教学内容与课本紧密关联,遵循科学性和系统性原则,确保学生能够掌握单片机计时器设计的全过程。
单片机课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理和结构,理解其工作流程。
2. 使学生了解并熟练运用单片机的编程语言,如C语言或汇编语言。
3. 帮助学生掌握单片机外围电路的设计与搭建,使其能独立完成简单的电路系统。
技能目标:1. 培养学生运用单片机解决实际问题的能力,提高创新思维和动手实践能力。
2. 培养学生具备查阅资料、分析问题、设计方案、调试程序等综合技能。
情感态度价值观目标:1. 培养学生对单片机课程的兴趣,激发学习热情,形成自主学习、合作学习的良好习惯。
2. 培养学生具备团队协作精神,学会与他人分享、交流、合作,提高沟通能力。
3. 培养学生关注科技发展,了解单片机在现实生活中的应用,增强社会责任感和创新意识。
课程性质分析:本课程为单片机课程设计,旨在让学生在掌握理论知识的基础上,通过实际操作,提高解决实际问题的能力。
学生特点分析:学生已具备一定的电子技术基础和编程能力,对单片机有一定了解,但实践经验不足,需要通过本课程加强实践操作和综合运用。
教学要求:1. 理论与实践相结合,注重培养学生的动手能力。
2. 引导学生主动思考,发现问题,解决问题。
3. 创设实际情境,提高学生的学习兴趣和参与度。
4. 注重培养学生的团队协作能力和沟通能力。
二、教学内容1. 单片机原理及结构:介绍单片机的组成、工作原理,重点讲解CPU、存储器、输入输出接口等部分。
参考教材章节:第一章 单片机概述2. 单片机编程语言:学习C语言和汇编语言的基础知识,掌握编程技巧,能独立编写简单的单片机程序。
参考教材章节:第二章 单片机编程语言3. 单片机外围电路设计:讲解并实践常用外围电路的设计与搭建,如LED 灯、蜂鸣器、数码管等。
参考教材章节:第三章 单片机外围电路设计4. 单片机程序下载与调试:学习使用编程器、仿真器等工具,掌握程序下载、调试方法。
参考教材章节:第四章 单片机程序下载与调试5. 实践项目:设计并实现几个实际项目,如温度控制器、智能小车、智能家居系统等,锻炼学生解决实际问题的能力。
52单片机时钟课程设计一、课程目标知识目标:1. 学生能理解并掌握52单片机的基本原理及其在时钟设计中的应用。
2. 学生能描述时钟电路的工作原理,包括时钟晶振、分频器等组成部分。
3. 学生能运用C语言编写程序,实现对时钟的显示、调整和时间计算功能。
技能目标:1. 学生能独立完成52单片机的时钟电路连接和程序编写。
2. 学生通过实验操作,培养动手能力和问题解决能力,能够调试并优化时钟程序。
3. 学生能够运用所学知识,结合实际需求,设计简单的时钟应用项目。
情感态度价值观目标:1. 学生通过学习单片机时钟设计,培养对电子技术和编程的兴趣,激发创新意识。
2. 学生在团队协作中,学会分享、交流和合作,提高沟通能力。
3. 学生认识到科技对社会生活的影响,增强社会责任感和时代使命感。
课程性质:本课程为实践性较强的电子技术课程,结合理论教学和实验操作,旨在培养学生的动手能力、编程能力和创新能力。
学生特点:学生已具备一定的电子技术基础知识,对编程有一定了解,但对单片机应用尚处于起步阶段。
教学要求:教师需结合学生特点,注重理论与实践相结合,关注个体差异,引导学生主动探究,培养其解决问题的能力。
通过课程学习,使学生能够将所学知识应用于实际项目中。
二、教学内容本课程教学内容主要包括以下几部分:1. 52单片机基础知识:介绍52单片机的结构、工作原理、引脚功能等,结合教材相关章节,让学生对单片机有基本的认识。
2. 时钟电路原理:讲解时钟电路的组成,包括时钟晶振、分频器等,分析时钟信号的产生、传输和作用。
3. C语言编程:复习C语言基础知识,重点讲解与52单片机编程相关的内容,如寄存器操作、I/O口编程、中断处理等。
4. 时钟程序设计:详细讲解如何利用52单片机实现时钟功能,包括时钟显示、调整和时间计算等,结合教材实例,让学生动手实践。
5. 实验操作与调试:指导学生进行时钟电路的连接、程序下载和调试,培养学生动手能力和问题解决能力。
单片机课程设计指导记录一、教学目标本章节的单片机课程设计指导记录的教学目标分为三个维度:知识目标、技能目标和情感态度价值观目标。
知识目标:通过本章节的学习,学生需要掌握单片机的基本原理、工作方式及编程方法。
具体包括了解单片机的硬件结构、指令系统、中断处理以及I/O口编程等。
技能目标:培养学生能够运用单片机进行简单项目的设计和实现的能力。
具体包括能够使用单片机开发环境进行程序编写、调试和烧录,以及能够进行基本的单片机硬件电路设计和调试。
情感态度价值观目标:培养学生对单片机技术的兴趣和好奇心,提高他们解决问题的能力和创新精神,培养团队合作意识。
二、教学内容本章节的教学内容以教材《单片机原理与应用》为基础,结合学生的实际情况,安排如下:1.单片机的基本原理和工作方式:包括单片机的硬件结构、指令系统、中断处理等。
2.单片机编程方法:包括编程语言、编程规范、程序调试和烧录等。
3.单片机I/O口编程:包括I/O口的工作原理、编程方法及其在实际项目中的应用。
4.单片机项目设计:引导学生运用所学知识进行实际项目的构思、设计和实现,培养学生的实际操作能力。
三、教学方法为了提高教学效果,本章节将采用多种教学方法相结合的方式进行教学:1.讲授法:用于讲解单片机的基本原理、指令系统等理论知识。
2.案例分析法:通过分析具体的单片机项目案例,使学生更好地理解单片机的应用。
3.实验法:安排实验室实践环节,让学生动手操作,培养实际操作能力。
4.小组讨论法:学生进行小组讨论,促进学生之间的交流与合作,提高团队协作能力。
四、教学资源为了支持本章节的教学,我们将准备以下教学资源:1.教材:《单片机原理与应用》。
2.参考书:提供相关的单片机技术书籍,供学生课后自学。
3.多媒体资料:制作PPT、教学视频等,以便于课堂讲解和学生复习。
4.实验设备:准备单片机开发板、编程器、示波器等实验设备,以便于学生进行实践操作。
5.在线资源:提供在线编程平台和论坛,方便学生交流和学习。
单片机综合实验课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构及相关功能模块的使用方法。
2. 学生能掌握单片机编程的基本语法和技巧,能独立完成简单的程序设计。
3. 学生能了解单片机在现实生活中的应用,并学会分析实际案例。
技能目标:1. 学生能运用所学知识,完成单片机的基本操作和程序编写。
2. 学生能通过实验,学会使用相关开发工具和调试技巧,具备一定的故障排查能力。
3. 学生能运用单片机技术解决实际问题,提高创新实践能力。
情感态度价值观目标:1. 学生通过单片机综合实验课程,培养对电子信息科学的兴趣和热情。
2. 学生在团队协作中,学会沟通、分享和合作,提高解决问题的能力。
3. 学生能认识到单片机技术对社会发展的作用,树立正确的价值观和责任感。
课程性质:本课程为实践性课程,侧重于培养学生的动手能力和创新能力。
学生特点:学生已具备一定的单片机基础知识,对实际操作感兴趣,但编程能力和问题解决能力有待提高。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践和团队协作,提高学生的综合能力。
通过课程目标分解,使学生在知识、技能和情感态度价值观方面取得具体的学习成果,为后续教学设计和评估提供依据。
二、教学内容本课程教学内容主要包括以下几部分:1. 单片机基础理论:回顾单片机的基本原理、内部结构、工作原理等,重点讲解中断系统、定时器/计数器、串行通信等模块的功能和应用。
2. 单片机编程语言:以C语言为基础,介绍单片机编程的基本语法、数据类型、运算符、控制语句等,并通过实例进行讲解。
3. 单片机实验操作:结合教材章节,进行以下实验:- 基本输入输出实验:学习单片机I/O口控制,实现LED灯、蜂鸣器等设备的控制。
- 中断控制实验:掌握中断系统的使用,实现外部中断控制。
- 定时器/计数器实验:学习定时器/计数器的配置,完成定时控制等功能。
- 串行通信实验:了解串行通信原理,实现单片机之间的数据传输。
摘要波形发生器是信号源的一种,主要给被测电路提供所需要的己知信号(各种波形),然后用其它仪表测量感兴趣的参数。
可见信号源在各种实验应用和试验测试处理中,它的应用非常广泛。
它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。
本次设计是利用PIC 单片机来完成方波、锯齿波、三角波信号的发生,利用PIC 单片机输出正弦信号时,需要将数字量转换成模拟量。
使该模块使单片机通过I C 总线方式与D/A 转换芯片接口输出模拟信号正弦波信号。
I C 总线是Philips 公司在20世纪80年代推出的一种集成电路芯片间的总线,它以两根连线实现了完善的全双工同步数据传送。
关键词:波形发生器、PIC 单片机、D/A 转换芯片2 2一功能要求与方案论证1.1功能要求利用PIC单片机产生方波、锯齿波、三角波、正弦波信号,单片机产生波形输出就是利用数字模拟转换器D/A,将数字信号转换成为模拟信号。
1.2方案论证实现D/A变换的方法有多种,最常用的DAC电路采用加权电阻或是一连串的R-2R阶梯网络来转换,在集成的DAC芯片中也常用这种方法。
对于DAC芯片,根据它数据输入形式,可分为并行输入方式和串行输入方式。
串行输入方式可以减少数据线,体积小,但速度受到影响;并行输入方式速度快,但需要较多的数据线,芯片封装的体积受到影响。
按照数据的位数分可以分为4位、8位、10位、12位和16位等。
按照输出模拟量形式,可分为电流型和电压型。
电流的DAC输出为电流,在一般的控制中都采用电压控制,这样还需要用电流/电压转换器将输出电流转换为电压。
DAC输出的转换电压根据极性还分为单极性输出和双极性输出,单极性输出的电压范围一般为0~Vref,双极性输出电压范围为- Vref~+ Vref。
原理框图如下图1-1所示图1-1 TCL7226原理框图二硬件设计2.1 元器件选型由于PIC16F877中没有D/A转换器功能模块,因而采用外接DAC芯片的方法。
TLC7226是TI公司采用LinBiCMOSTM技术产生的电压输出型4通道8位高性能D/A转换器,在单个芯片上带有输出缓冲放大器和接口逻辑电路。
4通道DAC的每一通道配备独立的数据锁存器,数据通过8位数据线与TTL/CMOS兼容(5V)输入端口锁存到数据锁存器中。
控制输入端A1和A0决定/MR变低时哪个DAC通道被加载。
由于所有的4通道DAC在同一块芯片上同时制造,因此4通道之间能够精确一致。
每一通道DAC都包括一个输出缓冲放大器,能提供高达5Ma的输出电流,原理框图如图1-1所示,输入控制逻辑如图2-2所示,对应的真值表如表2-1所示。
图2-2TCL7226输入控制逻辑图TCL7226有两种封装形式,一种是20引脚0.3英寸宽的DIP (dual-in-line )形式,另一种是20引脚的SOIC (small-outline IC )形式。
两种封装形式的引脚分布分别如图2-3和2-4所示。
引脚功能如表2-2所示。
TCL7226真值表表2-1图2-3 TLC7226之DIP 封装引脚分布图2.2 电路设计将PIC16F877的端口D (PORTD )作为8位数据输出口,端口C (PORTC )的RC1;RC0作为TCL7226的通道选择信号,端口E (PORTE )的RE1作为TCL7226的写信号,对应关系如表2-3所示。
图2-4 TLC7226S 之OIC 封装引脚分布图表2-2TLC7226引脚功能描述PIC16F877I/O 对应TCL7226端口 功能 端口C RC1O A1 通道选择信号 RC0O A0 通道选择信号 端口D RD7~RD0ODB7~DB0 数据输出信号端口E RE1 O /MR 写信号,低电平有效PIC7226外接TLC7226,增加4路8位D/A 转换器,每一路可以对应产生一种波形,本例中只需要产生方波、锯齿波和三角波3种信号,所以,仅利用3个通道输出即可,即A 通道输出方波信号,B 通道输出锯齿波信号,C 通道输出三角波信号。
对应的电路原理图如图2-5所示表2-3 图2-5PIC7226外接TLC7226电路原理图三程序设计该程序设置各波形的频率参数和延时等待,当定时时间到时,判断各个波形的输出值是否需要更改,程序流程如图3-6所示。
图3-6 程序流程图3.2主程序定义端口D、RC1、RC0、RE1为输出端口,初始化定时器,并开放定时中断,然后循环等待定时中断。
3.3 中断程序变量初始化端口初始化其中端口C、D为输出端口,端口E的1脚为输入端口其余为输出端口3.4 定时器初始化、中断服务程序初始化TIMER0,开定时器中断,并设置定时时间常数。
3.5输出波形子程序TEMP0TIME、TEMP1TIME、TEMP2TIME分别存放方波、锯齿波、三角波的次数。
3.6源程序清单#INCLUDE<P16F877.INC>RTCC EQU 01HPC EQU 02HPCLATH EQU 0AHTEMP0TIME EQU 20H ;方波次数TEMP0CONST EQU 21H ;方波常数TEMO0DOT EQU 22H ;方波点数TEMP0OUT EQU 23H ;方波输出值TEMP1TIME EQU 30H ;锯齿波次数TEMP1CONST EQU 31H ;锯齿波常数TEMP1 DOT EQU 32H ;锯齿波点数TEMP1OUT EQU 33H ;锯齿波输出值TEMP2TIME EQU 40H ;三角波次数TEMP2CONST EQU 41H ;三角波常数TEMP2 DOT EQU 42H ;三角波点数TEMP2OUT EQU 43H ;三角波输出值OPTION_R EQU 81HWBU EQU 2FH ;W暂存SBU EQU 2EH ;STATUS暂存RCC EQU 0FAH ;最大频率常数ORG 0SYS_RESETGOTO STARTORG 4 ;中断程序MOVWF WBUSWAPF WB0, 0SWAPF STATUS, 0MOVWF SBUCALL SERV_INT ;调用中断服务子程序SWAPF SBU, 0MOVWF STATUSSWAPF WBU, 0RETFIEORG 40HNOPSTARTCALL INT逻辑;初始化各变量CALL INTPORT度;初始化端口CALL INTTMO ;初始化定时器,并开放定时中断LOOP ;延时NOPNOPGOTO LOOPINTCLRF TEMP0DOT //清除TEMP0DOT寄存器CLRF TEMP1DOT //清除TEMP1DOT寄存器CLRF TEMP2DOT //清除TEMP2DOT寄存器CLRF TEMP0OUT //清除TEMP0DOT寄存器CLRF TEMP1OUT //清除TEMP1DOT寄存器CLRF TEMP2OUT //清除TEMP2DOT寄存器MOVLW 03HMOVWF TEMP0TIME //给TEMP0TIME赋值MOVWF TEMP0CONST //给TEMP0TIME赋值MOVWF TEMP2TIME //给TEMP2TIME赋值MOVWF TEMP2CONST //给TEMP2TIME赋值MOVLW 06HMOVWF TEMP1TIME //给TEMP1TIME赋值MOVWF TEMP1CONSTRETURNINTPORT ;端口初始化BCF STATUS, 0BCF STATUS, 1BCF STATUS, 5CLRF PORTC ;清PORT寄存器CLRF PORTD ;清PORT寄存器BSF PORTE,1BSF STATUS, 5MOVLW 00HMOVWF TRISDMOVLW OF4HMOVWF TRISC;定义RE1为输出,其他为输入MOVWF TRISEBCF STATUS, 5RETURNINTTM0 ;定时器初始化BSF STATUS, 5MOVLW 80HMOVWF OPTION_ RBCF STATUS, 5MOVLW 0A0H;开放定时器中断MOVLW RCC ;RCC=最大频率延时常数MOVWF RTCCRETURN;SERY_ INT ;中断服务程序BTFSC INTCON,2GOTO SERVRTCC //跳转到SERVRTCCCLRF INTCONBSF INTCON, 5RETURNSERVRTCCMOVLW RCCMOVWF RTCCBCF INTCON,2CALL OUTPUT //调用子程序RETFIEOUTPUT ;输出波形BCF STATUS,5FBO DECFSZ TEMP0TIME,1 ;方波GOTO J BOCALL FANGBOJBO DECFSZ TEMP1TIME,1 ;锯齿波GOTO SJ BOCALL JUCBOSJBO DECFSZ TEMP2 TIME,1 ;三角波RETURNCALL SJIAOBORETURNFANGBOBCF PORTS, 1 ; /MR—为低BCF PORTC, 0 ;设置A0、A1为低选择输出通道00 BCF PORTC, 1 ;选择输出通道,0通道为方波INCF TEMP0DOT,1 ;输出点数加1MOVF TEMP0CONST, 0 ;清除次数计数器MOVWF TEMP0TIMEBTFSC TEMP0DOT,7 ;TIMP0DOT的第7位是1则转到GAO GOTO GAOGOTO DIGAO MOVLW OFFHMOVWF PORTD ;端口D输出为高BSF PORTE, 1 ;MR为高,锁存数据RETURNDI M0VLW 00HMOVWF PORTD ;端口D输出为低BSF PORTE, 1 ;MR为高,锁存数据RETURNJUCBOBCF PORTE, 1BCF PORTC,0 ;选择输出通道,1通道为锯齿波MOVF TEMP1CONST,0MOVWF TEMP1TIMEINCFSZ TEMP1DOT, 1GOTO JUBO1MOVF TEMP1OUT, 0MOVWF PORTDINCF TEMP1OUT, 1RETURNJUBO1 MOVLW 00HMOVWF TEMPlOUTRETURNSJIAOBOBCF PORTE, 1BCF PORTC, 1 ;选择输出通道,2通道为三角波MOVF TEMP2CONST, 0MOVWF TEMP2TIME书馆;清除次数计数器INCFSZ TEMP2DOT, 1 ;点数加1等于0时输出为0,输出否则加1GOTO SJBO2CALL SJBO0SJB02 MOVF TEMP2OUT, 0MOVWF PORTDBSF PORTE, 1MOVLW 02HBTFSS TEMP2DOT,7GOTO SJBO1ADDWF TEMP2OUT, 1RETURNSJBO1SUBWF TEMP2OUT,1RETURNSJBO0 CLRF TEMP2OUT //清除TEMP2OUT寄存器RETURN3.7典型应用采用TCL7226D/A转化器与PIC直接相接可以产生多功能波形。