自动化专业微机接口课程设计1

合集下载

微机接口技术课程设计报告word精品文档11页

微机接口技术课程设计报告word精品文档11页

河北科技大学课程设计报告学生姓名:学号:专业班级:课程名称:微机接口技术学年学期:2019—2019学年第二学期指导教师:2019年6月课程设计成绩评定表目录1、设计任务与要求---------------------------------------------------------42、总体方案设计------------------------------------------------------------43、硬件电路分析------------------------------------------------------------53.1设计思路-------------------------------------------------------------53.2基本工作原理-------------------------------------------------------54、程序设计-----------------------------------------------------------------64.1程序流程图---------------------------------------------------------64.2设计思路------------------------------------------------------------65、调试说明-----------------------------------------------------------------75.1硬件电路调试------------------------------------------------------75.2软件程序调试------------------------------------------------------75.3 遇到的问题及解决办法----------------------------------------76、结论---------------------------------------------------------------------86.1设计结果及分析---------------------------------------------------86.2学到的知识及个人体会------------------------------------------87、参考文献----------------------------------------------------------------96、附录1——原程序清单及注释--------------------------------------10附录2——电路原理图-----------------------------------------------121 设计任务与要求本设计通过简单的A/D转换接口电路,配合汇编语言程序设计,实现最基本的信号波形采集与存储,并通过简单的D/A转换接口电路,将存储的数据还原为信号波形,在普通示波器的屏幕上显示出来。

北邮微机接口课程设计

北邮微机接口课程设计

北邮微机接口课程设计一、课程目标知识目标:1. 理解微机接口的基本概念、原理及分类;2. 掌握常见微机接口技术的应用与编程方法;3. 了解微机接口技术的发展趋势及其在通信、嵌入式等领域的重要性。

技能目标:1. 能够分析微机接口电路,进行接口设计及调试;2. 学会使用相关编程语言(如C、汇编等)实现微机接口程序开发;3. 培养学生运用所学知识解决实际问题的能力。

情感态度价值观目标:1. 培养学生对微机接口技术的兴趣,激发学生的创新意识;2. 增强学生的团队合作意识,培养良好的沟通与协作能力;3. 使学生认识到微机接口技术在国家经济发展和国防建设中的重要作用,树立正确的价值观。

课程性质:本课程为北邮微机接口课程的实践环节,侧重于培养学生的实际操作能力和技术应用能力。

学生特点:学生具备一定的电子技术基础和编程能力,对微机接口技术有一定了解,但实践经验不足。

教学要求:结合学生特点,注重理论与实践相结合,通过课程设计,使学生更好地掌握微机接口技术,提高综合运用能力。

在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 微机接口基本概念:回顾微机接口的定义、功能及分类,以教材第一章内容为基础,加深学生对微机接口的理解。

2. 常见微机接口技术:详细讲解并实践I/O接口、中断控制器、定时器/计数器等接口技术,对应教材第二章和第三章。

- I/O接口:重点介绍并行和串行接口的原理与应用。

- 中断控制器:讲解中断处理过程,实际编程实现中断处理程序。

- 定时器/计数器:分析定时器/计数器的工作原理,应用实例解析。

3. 微机接口编程:结合教材第四章,学习汇编语言和C语言在微机接口编程中的应用,进行编程实践。

4. 接口电路设计及调试:依据教材第五章,设计简单的接口电路,进行电路搭建、调试与优化。

5. 微机接口技术应用:结合教材第六章,分析微机接口技术在通信、嵌入式等领域中的应用案例。

教学安排与进度:1. 微机接口基本概念(1课时)2. 常见微机接口技术(4课时)- I/O接口(1课时)- 中断控制器(1课时)- 定时器/计数器(2课时)3. 微机接口编程(2课时)4. 接口电路设计及调试(3课时)5. 微机接口技术应用(2课时)三、教学方法本课程将采用以下多样化的教学方法,以激发学生的学习兴趣和主动性,提高教学效果:1. 讲授法:以教材为基础,对微机接口的基本概念、原理、分类及应用进行系统讲解,使学生在短时间内掌握必要的理论知识。

微型计算机系统与接口课程设计

微型计算机系统与接口课程设计

微型计算机系统与接口课程设计选题背景随着计算机技术的不断发展,微型计算机已经成为人们日常生活和工作中不可缺少的一部分。

微型计算机不仅具备计算、存储数据等基本功能,还可以通过与各种外围设备进行连接,扩展其功能和使用范围。

而微型计算机系统与接口课程是计算机专业中的重要课程,旨在培养学生对微型计算机系统及其各类接口的掌握和应用能力。

课程设计目的本次课程设计旨在通过设计和实现一套简单的微型计算机系统,培养学生对微型计算机的整体认识和了解,提高其对微型计算机系统和接口的掌握和应用能力。

具体目标如下:1.了解微型计算机系统的基本组成部分、工作原理和其他相关知识;2.掌握微型计算机各种接口的功能、特性及其接口标准;3.运用硬件描述语言VHDL设计和实现微型计算机系统及其接口;4.能够编写和调试微型计算机系统及其接口的相关软件程序;5.能够使用组成部分和各种接口构建一系列中小型应用系统。

设计方案设计内容1.微型计算机系统的整体设计和实现;2.微型计算机系统中的各类接口设计和实现;3.编写和调试微型计算机系统的操作系统及其相关软件程序;4.基于微型计算机系统各类接口构建一系列应用系统。

设计步骤1.确定微型计算机系统的结构和组成部分;2.根据微型计算机系统的结构和组成部分进行硬件设计和实现;3.设计和实现计算机的操作系统;4.设计和实现微型计算机系统的接口;5.根据微型计算机系统的接口设计、实现和调试一系列中小型应用系统。

设计细节1.微型计算机系统的结构和组成部分–CPU:选择一款性能较好、易于编程的CPU;–存储器:包括RAM和ROM等存储器;–输入输出设备:如键盘、显示器、鼠标、打印机等;–接口电路:包括串口、并口、USB口等。

2.微型计算机系统的硬件设计和实现–根据系统结构设计和实现CPU、存储器、输入输出设备等;–采用硬件描述语言VHDL进行硬件描述和仿真;–根据设计和仿真结果优化设计方案。

3.操作系统的设计和实现–设计和实现计算机的操作系统;–实现基于硬件环境的驱动程序;–实现基本的系统服务及应用程序接口(API)。

微机接口课程设计报告

微机接口课程设计报告

微机接口课程设计报告学号:20121004357姓名:李世荣班级:191123指导老师:墙威摘要微机接口技术是采用硬件与软件相结合的方法,使微处理器与外部设备进行最佳的匹配,实现CPU与外部设备之间的高效、可靠的信息交换的一门技术。

接口技术把由处理器、存储器等组成的基本系统与外部设备连接起来,从而实现计算机与外部设备通信。

处理器通过总线与接口电路连接,接口电路再与外部设备连接,因此CPU总是通过接口与外部设备发生联系。

微机的应用是随着外部设备的不断更新和接口技术的发展而深入到各个领域的,因此接口技术是组成任何实用微机系统的关键技术,任何微机应用开发工作都离不开接口的设计、选用和连接。

微机与接口技术是一门实践性和实用性都很强的课程,学习的目的在于应用。

这次课程设计是计算机专业学生的一次较全面的的设计训练,是配合微机与接口技术课堂教学的最后一个重要的实践教学环节,它将起到巩固课堂和书本上所学的知识、加强综合能力、提高系统设计水平、启发创新思想的作用。

本次设计任务是利用实验室的试验箱和VC6.0的环境设计出我们的小系统。

而我们这次设计的是模拟汽车行驶系统。

通过该系统,我们可以模拟汽车的行驶过程。

关键字:微机接口技术,VC6.0,试验箱,模拟汽车行驶系统。

一、需求分析进行系统设计,首先要对系统的现状进行分析。

根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。

需求分析是在于要弄清用户对开发的系统的确切要求。

本次实验准备在VC6.0和实验室的试验箱的环境下模拟出汽车的行驶过程。

正如我们所知,汽车的行驶过程非常复杂,在小小的试验箱上不能完全实现,所以这次实验中,我们只能准备完成一些基本的功能。

我们的目标功能有汽车的开关,速度的控制,以及倒车等功能。

二、设计分析经过需求分析之后,我们在观察试验箱后,试验箱上有控制功能的有A/D转换器,应用小键盘,以及拨键开关。

显示效果的部件有LED显示器,步进电机。

实用微机接口技术课程设计

实用微机接口技术课程设计

实用微机接口技术课程设计本文将介绍实用微机接口技术课程的设计,涉及到的知识点包括微机的基本原理、微机接口技术、硬件结构和软件开发等方面。

该课程旨在帮助学生掌握有效使用微机进行数据采集、处理和控制的基本知识,使其能够灵活运用微机接口技术解决实际问题。

课程设计目标本课程的设计目标如下:1.掌握微机基本原理和应用。

2.熟悉微机接口技术。

3.掌握微机硬件结构和软件开发。

4.能够运用微机实现数据采集、处理和控制。

课程大纲该课程的大纲如下:1.微机基本原理1.微机系统结构2.微机系统组成部件及其工作原理3.微机系统的指令集和程序设计2.微机接口技术1.常见外围设备接口2.接口通信原理3.接口硬件及程序设计3.微机硬件结构和软件开发1.微机硬件和软件开发环境介绍2.硬件连接与编程实现4.微机数据采集、处理和控制1.数据采集方法2.数据处理方法3.控制方法与实现教学安排本课程的教学安排如下:1.在第1~2周,对微机基本原理进行介绍,包括微机系统结构、组成部件及其工作原理、指令集和程序设计等方面。

2.在第3~4周,介绍微机接口技术,包括常见外围设备接口、接口通信原理、接口硬件及程序设计等方面。

3.在第5~8周,介绍微机硬件结构和软件开发,包括硬件和软件开发环境的介绍、硬件连接与编程实现等方面。

4.在第9~12周,介绍微机数据采集、处理和控制,包括数据采集方法、数据处理方法、控制方法与实现等方面。

5.在第13~14周,进行课程实验,让学生实际操作并体验所学知识,巩固课程内容。

实验安排该课程实验安排如下:1.实验1:使用单片机实现数码管显示2.实验2:使用单片机实现数码管计数器3.实验3:使用单片机实现LED灯闪烁4.实验4:使用单片机实现LCD屏幕显示5.实验5:使用微处理器实现串口通信教材推荐介绍本课程涉及的教材推荐如下:1.《微机接口技术》王先礼主编,清华大学出版社。

2.《嵌入式微控制器应用基础》邓志荣,电子工业出版社。

微机接口技术课程设计

微机接口技术课程设计

微机接口技术课程设计一、课程目标知识目标:1. 理解微机接口技术的基本概念、功能及分类;2. 掌握常用微机接口芯片的内部结构、工作原理及编程方法;3. 学会分析微机接口电路的原理图,并进行简单的设计与调试;4. 了解微机接口技术在现代计算机系统中的应用及发展趋势。

技能目标:1. 能够正确使用微机接口芯片进行电路设计与连接;2. 熟练运用汇编语言或C语言进行微机接口编程;3. 能够对微机接口电路进行故障分析与调试;4. 培养学生的团队协作能力,提高沟通与表达能力。

情感态度价值观目标:1. 培养学生对微机接口技术学习的兴趣,激发学生的学习热情;2. 增强学生的动手实践能力,培养严谨的科学态度;3. 提高学生的创新意识,鼓励学生勇于探索新知识;4. 培养学生的爱国情怀,关注我国微机接口技术领域的发展。

本课程针对高年级学生,课程性质为理论与实践相结合。

通过本课程的学习,使学生掌握微机接口技术的基本知识和技能,提高解决实际问题的能力,为后续相关专业课程学习打下坚实基础。

同时,注重培养学生的团队协作精神、创新意识和情感态度,使其成为具有全面素质的计算机技术人才。

教学要求包括:理论教学与实验操作相结合,课堂讲授与课后实践相结合,培养学生自主学习、合作学习的能力。

课程目标分解为具体学习成果,以便于教学设计和评估。

二、教学内容本课程教学内容分为以下四个部分,确保学生全面系统地掌握微机接口技术:1. 基础理论:- 微机接口技术概述:接口功能、分类及发展趋势;- 常用接口芯片原理:如8255、8251、8259等;- 接口编程基础:汇编语言与C语言接口编程。

2. 接口电路设计与分析:- 接口电路设计方法:原理图绘制、器件选型与连接;- 常用接口电路实例分析:并行接口、串行接口、中断接口等;- 接口电路故障分析与调试技巧。

3. 实践操作:- 软件模拟:使用仿真软件进行接口电路模拟;- 硬件实验:搭建实际接口电路,进行编程与调试;- 综合设计:结合实际需求,完成微机接口技术应用项目。

微机接口的课程设计

微机接口的课程设计

微机接口的课程设计一、课程目标知识目标:1. 理解微机接口的基本概念、原理及其在计算机系统中的作用;2. 掌握常用微机接口芯片的功能、特性及使用方法;3. 学会分析并设计简单的微机接口电路。

技能目标:1. 能够正确使用微机接口芯片进行数据传输、控制信号输出等操作;2. 培养学生动手实践能力,能够搭建简单的微机接口电路并进行调试;3. 提高学生的问题分析和解决能力,使其能够针对实际问题设计合适的微机接口方案。

情感态度价值观目标:1. 培养学生对计算机硬件的兴趣,激发学习热情;2. 增强学生的团队合作意识,培养在实践过程中相互协作、共同解决问题的能力;3. 引导学生认识到微机接口技术在现代科技发展中的重要性,树立科技创新的价值观。

课程性质:本课程为实践性较强的专业课程,结合理论知识与实际操作,培养学生的硬件设计和应用能力。

学生特点:学生具备一定的电子技术基础和计算机原理知识,具有较强的学习兴趣和动手能力。

教学要求:结合课程性质和学生特点,注重理论与实践相结合,强调学生的主体地位,充分调动学生的积极性,培养其创新能力和实践能力。

通过本课程的学习,使学生在掌握微机接口知识的基础上,具备实际应用和拓展能力。

二、教学内容1. 微机接口基本概念:接口的分类、作用及基本原理;2. 常用微机接口芯片:并行接口芯片8255、串行接口芯片8251、定时计数器芯片8253等的工作原理及应用;3. 微机接口电路设计:数据传输、控制信号输出、中断处理等电路的设计方法;4. 接口编程:汇编语言及C语言在微机接口编程中的应用;5. 实践操作:搭建并调试简单的微机接口电路,实现数据传输和控制信号输出等功能。

教学内容安排:第一周:微机接口基本概念、原理及分类;第二周:并行接口芯片8255的工作原理及应用;第三周:串行接口芯片8251的工作原理及应用;第四周:定时计数器芯片8253的工作原理及应用;第五周:微机接口电路设计方法及实践操作;第六周:接口编程及实践操作。

微机原理与接口技术项目教程课程设计

微机原理与接口技术项目教程课程设计

微机原理与接口技术项目教程课程设计项目背景在现代化社会中,计算机技术已经成为人们生活和工作的重要组成部分。

微机原理与接口技术是计算机科学与技术专业中的一门基础课程,也是计算机专业的必修课。

在本课程的学习中,学生需要通过理论学习和实践探究,掌握微机系统原理、开发板设计和接口技术等方面的知识和技能。

因此,本项目课程设计的目的是培养学生的实践能力,让学生通过项目的实践,深入学习理论知识,提高解决实际问题的能力。

项目目标本课程设计的目标是要求学生通过对某种基于微机系统的应用开发的实践,深入了解和掌握微机系统原理,设计和实现相关接口,提高学生的实际应用能力。

项目内容本项目课程设在课程的最后一个月完成,主要分为以下三个阶段:阶段一:项目选题每个小组自行选择一个基于微机的应用项目,并设计出初步的方案,并形成可行性分析报告。

在选择项目时,需要考虑项目实践性与实用性,要能够体现微机原理和接口技术,同时还要考虑开发时间和成本等因素。

阶段二:项目开发在完成项目评审后,小组开始正式的开发实践。

此时,小组成员需要进行任务分工,确定实施计划。

并在实际开发过程中,围绕项目需求进行分析,设计方案,并编写程序代码实现。

在项目开发中,需要注意以下几点:1.制定开发计划和进度表,确保任务按时完成。

2.及时汇报项目进展情况,遇到问题及时解决。

3.对项目开发过程中的问题进行总结与归纳,形成经验文档,为项目后续的维护提供依据。

阶段三: 项目验收在完成项目开发后,小组需要对项目进行验收,并形成验收报告。

验收报告要求包含以下几个方面:1.项目的基本信息,包括项目名称、项目描述、团队成员等。

2.项目需求分析,包括用户需求、功能需求等。

3.项目设计方案,包括硬件设计和软件设计等。

4.项目开发实施,包括编程实现、测试和调试等。

5.项目总结与反思,包括项目开发过程中遇到的问题以及解决方案等。

结束语微机原理与接口技术是计算机科学与技术专业中的重要课程。

微机接口技术应用课程设计

微机接口技术应用课程设计

微机接口技术应用课程设计一、课程目标知识目标:1. 理解微机接口技术的基本概念,掌握常见接口芯片的工作原理;2. 学会分析微机接口电路,了解接口技术在实际应用中的关键作用;3. 掌握微机接口程序设计的基本方法,能够阅读并理解典型的接口程序。

技能目标:1. 能够正确使用接口芯片进行电路设计,完成简单微机接口电路的搭建;2. 能够运用所学知识,编写简单的微机接口程序,实现数据传输和控制功能;3. 能够通过实验和调试,分析并解决微机接口技术中的实际问题。

情感态度价值观目标:1. 培养学生对微机接口技术应用的兴趣,激发学习热情,形成主动探究的良好习惯;2. 增强学生的团队合作意识,培养沟通协作能力,提高解决问题的综合素质;3. 使学生认识到微机接口技术在国家经济发展和国防建设中的重要作用,增强学生的社会责任感和使命感。

课程性质:本课程为高年级专业课程,以理论教学和实践操作相结合的方式,使学生掌握微机接口技术的基本知识和应用能力。

学生特点:学生已具备一定的电子技术和计算机编程基础,具有较强的学习能力和实践操作能力。

教学要求:结合学生特点和课程性质,注重理论与实践相结合,强化实践操作,培养学生的实际应用能力。

在教学过程中,关注学生的学习进度,适时调整教学方法和难度,确保学生能够达成课程目标。

通过课程学习,使学生具备微机接口技术应用的基本能力,为后续学习和工作打下坚实基础。

二、教学内容1. 微机接口技术概述:介绍微机接口技术的基本概念、发展历程和应用领域,使学生了解接口技术的重要性。

教材章节:第一章2. 常见接口芯片原理及功能:讲解并分析I/O接口、中断控制器、定时器/计数器等常见接口芯片的工作原理和功能。

教材章节:第二章3. 微机接口电路设计:学习接口电路设计的基本方法,分析并设计简单接口电路。

教材章节:第三章4. 微机接口程序设计:掌握接口程序设计的基本技巧,学习编写典型的接口程序,实现数据传输和控制功能。

微机原理与接口技术课程设计-倒计时

微机原理与接口技术课程设计-倒计时

微机原理与接口技术课程设计-倒计时题目:倒计时学院:西安理工大学专业:机械实际制造及其自动化班级机械四班学号:2022030408学生姓名刘小虎指导教师课程成绩完成日期2022年12月15日目录一.设计功能 (3)二.设计原理及原理图.........................................31.系统总设计原理............................................32.硬件框架原理图............................................33.硬件介绍........................................................44.功能电路.. (7)三.程序模块及流程图.........................................81.8255A初始化.................................................82.显示程序模块................................................83.延时程序模块................................................94.控制程序模块................................................95.LED灯点亮程序模块....................................10四.源程序 (11)五.总结............................................................. 15附录1:系统硬件框架.........................................16附录2:系统总程序流程图 (17)题目:倒计时一.设计功能本次课程设计我们在TD-PIT+实验系统和PC机平台上利用并行接口8255A、键盘及数码管显示单元、开关及LED显示单元、键盘按键和电脑显示屏设计成一个倒计时器。

微机原理与接口技术及实训课程设计

微机原理与接口技术及实训课程设计

微机原理与接口技术及实训课程设计1. 前言微机原理与接口技术是计算机科学与技术专业中非常重要的一门课程,它主要介绍了微机的硬件组成、指令系统、中断与异常处理、接口技术等相关知识。

在此基础上,我们还可以通过实训课程进一步深入了解这些知识并进行实际操作。

本文将详细介绍微机原理与接口技术及实训课程设计中的主要内容和相关知识点,以供有需要的读者参考。

2. 微机原理2.1 微机硬件组成微机硬件由CPU、内存、输入输出设备、总线等组成,其中CPU是微机最重要的组成部分。

CPU内部包含了运算器、控制器、寄存器等基本模块。

内存是指微机中的存储器,在CPU执行程序时需要不断地从内存中读取指令和数据。

输入输出设备包括键盘、鼠标、显示器、打印机等,它们通过总线与CPU和内存相连通。

2.2 微机指令系统微机的指令系统包括一系列机器指令,它们是CPU执行程序的基本指令。

机器指令包括数据传输指令、算术运算指令、逻辑运算指令、条件转移指令、无条件转移指令等。

指令系统的设计与微机性能密切相关,一般采用CISC(复杂指令集)或RISC(精简指令集)两种设计方式。

2.3 微机中断与异常处理微机中断是指CPU在执行程序时遇到外部事件(如键盘输入、硬件故障等)时暂停当前程序的执行,去执行相应的中断程序,处理完成后再回到原来的程序继续执行。

异常处理是指CPU在执行指令时发现指令有误、数据异常、访问越界等情况时,会根据异常类别跳转到相应的异常处理程序进行处理。

2.4 微机接口技术微机接口技术是指将微机与外部设备(如传感器、机器人、仪器等)通过接口进行联通。

接口技术主要包括并口、串口、USB接口等。

其中并口是指能够并行传输数据的接口,串口是指能够串行传输数据的接口,USB接口是一种通用的高速串行总线,广泛应用于各种设备间的连接。

3. 实训课程设计3.1 实训目的微机原理与接口技术实训是该课程的重要组成部分,其主要目的是让学生通过实际操作深入了解微机的硬件组成、指令系统、中断与异常处理、接口技术等相关知识,并掌握实现具体接口应用的能力。

微机原理与接口课程设计

微机原理与接口课程设计

微机原理与接口课程设计1. 简介本文档为微机原理与接口课程设计的说明文档。

该课程设计旨在让学生通过设计并实现简单的接口电路,加深对微机原理的理解和掌握。

2. 课程设计要求2.1 设计目标本课程设计要求学生通过设计并实现以下目标节点:1.8位输入并行数据,通过8个按键输入数据。

2.8位输出并行数据,驱动8个LED灯输出数据。

3.串行通信,通过RS232串行口与PC机通信,并通过显示屏以及键盘模拟程序控制8位输入输出并行数据。

2.2 设计说明2.2.1 输入端允许有按键会跳动,在程序上应该进行抖动处理。

抖动时间在10ms以内,每一个按键对应一个二进制位。

2.2.2 输出端输出端通过8个LED灯显示,其中LED亮灭表示二进制位为0/1。

2.2.3 串行通信串行通信使用RS232标准协议。

PC机与单片机之间通过MAX232芯片进行单片机与PC机之间的电平转换。

为方便用户控制输入输出,设计一个键盘模拟程序。

2.2.4 核心单片机核心采用常用的AT89C52。

2.3 接口要求为保证该课程设计的可实现和可靠性,本设计要求实现以下接口:1.8路输入端口,采用I/O口;2.8路输出端口,采用I/O口;3.串行通信端口,采用P3.2(TX)和P3.3(RX)。

2.4 编程要求本课程设计要求使用C语音编程。

编写程序实现用户输入的二进制位并显示在8个LED灯上。

并通过串行通信,把程序控制的8位数据通过着色显示屏和键盘模拟程序传回用户。

2.5 外设要求程序设计的外设材料要足够简单,容易获取和操作。

外围电路所用材料及节点说明如下:1.8个LED灯、8个按键,电路方式(红色为高电位,绿色为低电位):LED:OOOOOOOO/ | | \\9 5 4 3| | |10 6 2| | |11 7 1| | |12 8 16| | |13 15 14按键:OOOOOOOO/ | | \\9 5 4 3| | |10 6 2| | |11 7 COM| | |12 8 16| | |13 15 142.显示屏和键盘模拟程序。

微机接口技术课程设计

微机接口技术课程设计

微机接口技术课程设计一、背景简介微机接口技术是计算机科学与技术中重要的一部分,也是计算机科学与技术专业中的必修课程之一。

在课程学习中,学生需要掌握微机接口技术的基本理论、基础知识和应用技能,能够对各种微机接口接口进行分析、设计和调试。

二、课程设计目的本次微机接口技术课程设计的主要目的是培养学生对于微机接口技术的理论知识与实践能力,同时也是为了实现本课程的各项目标:1.掌握各种微机接口的基本原理和应用场景。

2.熟悉微机接口的硬件电路设计流程。

3.掌握微机接口的编程调试技巧。

三、课程设计需求1. 设计内容•针对给出的需求进行微机接口硬件电路的设计。

•编写应用程序,实现与设计的硬件接口的数据通信,对输入的数据进行处理输出。

•设计实验报告,包含设计思路、电路实现、程序编写等内容。

2. 硬件电路设计要求硬件电路设计要求符合以下三个特性:1.电路的可行性:所设计的电路在实现上要符合可行的方案;2.电路的可靠性:所设计的电路要具备良好的安全性和可靠性;3.电路的可扩展性:所设计的电路要具备良好的扩展性方案。

3. 程序设计要求•熟悉汇编语言、C语言等语言的基本语法和编程规范;•确定与硬件电路设计相对应的数据传输协议格式,明确通信模式;•设计程序,完成数据读写操作,实现对数据的处理。

四、课程设计步骤本次课程设计分7个步骤,具体如下:第一步:了解所需硬件设备设计前先了解所需的硬件设备,熟悉各种硬件设备的技术参数和功能特性。

第二步:确定需求结合课程要求,确定具体项目的需求,考虑需要实现什么功能,在此基础上进行电路设计和程序编写。

第三步:电路设计根据需求,设计符合电路实现要求的电路方案。

要注意电路的可行性、可靠性和可扩展性。

第四步:布线和焊接将所设计的电路方案制作成实物,确保焊接安全、稳定。

第五步:程序编写根据所设计的硬件电路,编写相应的驱动程序和应用程序。

确保程序编写的正确性和稳定性。

第六步:调试测试将编写好的程序与制作好的硬件进行联调,测试程序特性和硬件性能,保证正常运行。

微机系统与接口课程设计

微机系统与接口课程设计

微机系统与接口课程设计一、课程目标知识目标:1. 理解微机系统与接口的基本原理,掌握微机系统的组成及各部分功能。

2. 学习并掌握常见接口技术,如并行接口、串行接口、中断控制器等的工作原理及应用。

3. 了解微机系统与接口技术在现实生活中的应用,提高对技术发展的认识。

技能目标:1. 能够分析微机系统与接口电路的原理图,并进行简单的设计与搭建。

2. 学会使用编程语言进行接口编程,实现微机与外部设备的通信与控制。

3. 能够运用所学知识解决实际问题,具备一定的微机系统与接口调试与故障排除能力。

情感态度价值观目标:1. 培养学生对微机系统与接口技术的兴趣,激发学生的学习热情和探究精神。

2. 培养学生的团队协作意识,提高沟通与协作能力,使学生在合作中共同成长。

3. 引导学生关注科技发展,树立正确的技术观念,认识技术对社会进步的重要性。

课程性质:本课程为高二年级信息技术课程,旨在让学生了解微机系统与接口技术的基本原理和应用,培养其动手实践能力和创新精神。

学生特点:高二年级学生已具备一定的电子技术基础,对微机系统与接口技术有一定的好奇心,但可能缺乏实际操作经验。

教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,提高学生的实际操作能力。

在教学过程中,关注学生的个体差异,因材施教,确保每个学生都能达到课程目标。

将课程目标分解为具体的学习成果,以便于教学设计和评估。

二、教学内容本课程教学内容主要包括以下几部分:1. 微机系统概述:介绍微机系统的基本概念、发展历程、组成及各部分功能,为学生建立整体认识。

教学内容:第一章微机系统概述,包括1.1节微机系统的基本概念,1.2节微机系统发展历程,1.3节微机系统组成及功能。

2. 接口技术原理:学习并行接口、串行接口、中断控制器等常见接口技术的工作原理及应用。

教学内容:第二章接口技术,包括2.1节并行接口原理,2.2节串行接口原理,2.3节中断控制器原理及其应用。

微机接口课程设计报告

微机接口课程设计报告

〈〈微机接口技术〉〉课程设计报告设计题:地铁收费系统指导老师:学生姓名:学号:所在班级:网络工程一. 课程设计目的结合一个实际的接口技术问题在实验台上编程模拟实现。

二. 课程设计要求由一个主控机监控和若干个下位机组成,主控机负责数据处理,下位机负责访问接口。

三. 课程设计内容及步骤(1) 题目: 地铁收费系统(2) 系统功能:A. 乘客进入地铁站刷卡,记录起始站点,出站也要刷卡,记录终点站,根据距离计算车费,并判断乘客是否买足了票,若票款不足,则发出警报。

B. 下位机从接口上接收到卡号数据,并将该下位机的编号传到主控机,主控机保存. 当主控机再次收到该卡号的时候,计算该下位机和已经存储的下位机之间的距离计算出车费,用该卡号的金额减去车费,如果大于0则扣除费用,否则报警.(3). 系统接口框图主控机保存,查询,计算余额,临时保存卡号信息等程序。

主控机与下位机通信程序。

下位机与主控机通信程序。

下位机访问接口程序。

(5) . 系统流程(设计)说明首先主控机启动程序,开始监听下位机,一旦收到数据就进行处理,首先分割出低3位作为站点编号,中间4为作为卡号.然后主控机查询数据库,得到该卡号的信息,包括是否是第一次进站,卡上的余额等等.接下去主控机返回该卡号的余额给下位机,下位机接受到余额判断是否小于零,如果是则报警(响铃),否则显示余额,下位机不进行判断用户到底是进站还是出站.所有判断都是交给主控机,下位机还需要从接口读取数据,前3位表示站点编号,中间4位表示卡号,最高位为标志位,只有它为1时表示已经插卡并且已经ready可以读数据了.下位机读取数据后通过com通信和主机建立连接,下位机对于接口的监听是主动的,这里我们程序中开了一个线程用于专门监听读取接口上的数据,而且同时设计了标志以防止反复读取,反复将同一数据发送至服务器端(主控机).(6) . 部分关键程序源码程序包括客户端和服务器端程序A . COM通讯:1. 连接初始化:m_com1.SetCommPort(1);m_com1.SetInBufferSize(1024);m_com1.SetOutBufferSize(512);if(!m_com1.GetPortOpen()){m_com1.SetPortOpen(true);}m_com1.SetInputMode(1);m_com1.SetSettings("9600,n,8,1");m_com1.SetRThreshold(1);m_com1.SetInputLen(0);2. 发送数据int CKou1Dlg::SendComMessage(CString msg){CByteArray sendstr;WORD sLength;sLength=msg.GetLength();sendstr.SetSize(sLength);for(int i=0;i<sLength;i++){sendstr.SetAt(i,msg.GetAt(i));}m_com1.SetOutput(COleVariant(sendstr));return 0;}3. 接收数据void CKou1Dlg::OnOnCommMscomm1(){UpdateData(true);V ARIANT variant_ins;COleSafeArray safearray_ins;long i=0;int len;char rxdata[1000];CString tmp;switch(m_com1.GetCommEvent()){case 2:{variant_ins=m_com1.GetInput();safearray_ins=variant_ins;len=safearray_ins.GetOneDimSize();for (i=0;i<len;i++){safearray_ins.GetElement(&i,&rxdata[i]);}rxdata[i]='\0';}// m_recv+=rxdata;UpdateData(false);break;default:break;}}B . 下位机监听接口首先通过增开一个线程,线程中死循环来不断监听接口, 然后在死循环开头先初始化8255,接着通过标志位来判断是否为同一个数据,以决定是否重新向主控机发送数据.在用户抽卡时程序变换标志位,只有在插卡时才会将数据重新发送到主控机(此时接口的标志位也改变,两者相等时表明是有效数据).void CKou1Dlg::OnButton2(){CString a0=" 刷啊刷~~~";//m_recv=a0;//CKou1Dlg::UpdateData(false);CWnd *btn = CKou1Dlg::GetDlgItem(IDC_BUTTON2);btn->EnableWindow(false);/*HANDLE Hthread1;Hthread1=CreateThread(NULL,0,CKou1Dlg::Fun1Proc,this,0,NULL);*/AfxBeginThread(Fun1Proc,this);}UINT CKou1Dlg::Fun1Proc(LPVOID lpparameter) //开线程{int flag0=0;int i=0;OpenPortTalk();//system("music.exe"); //播放音乐//设置控制方式//outportb(CTRL_8255,0x82); //0x303 使读a口写B 口while(1){outportb(CTRL_8255,0x82);unsigned char c=inportb(PB_8255);::Sleep(200);CString a0=" 刷啊刷~~~";if((c&0x80)==0){flag0=0;continue;}if(c==flag0) //判断是否为有效数据continue;flag0=c;CString a;a.Format("%d",(c&0x78)>>3);((CKou1Dlg *)lpparameter)->SetDlgItemText(IDC_EDIT1,(LPCTSTR)a); ((CKou1Dlg *)lpparameter)->UpdateWindow();CByteArray sendArr;WORD wLength;//wLength = (CString)c.GetLength();sendArr.SetSize(1); //发送数据到主控机((CKou1Dlg *)lpparameter)->m_com1.SetOutput(COleV ariant(sendArr));}ClosePortTalk();}C . 下位机数据处理接受主控机返回的数据(账户余额),如果大于0正常,如果小于0则响铃报警void CKou1Dlg::OnOnCommMscomm1(){UpdateData(true);V ARIANT variant_ins;COleSafeArray safearray_ins;long i=0;int len;char rxdata[1000];CString tmp;switch(m_com1.GetCommEvent()){case 2:{variant_ins=m_com1.GetInput();safearray_ins=variant_ins;len=safearray_ins.GetOneDimSize();long j=0;short recvicedate=0;safearray_ins.GetElement(&j,&recvicedate);//for (i=0;i<len;i++)//{// safearray_ins.GetElement(&i,&rxdata[i]);//}//rxdata[i]='\0';//m_recv+=rxdata;//接收到回馈进行数据处理if(recvicedate&0x80){//余额不足,报警m_recv="余额不足,报警! ";//for(int n=0;n<3;n++)system("music.exe");}else{int res;if(recvicedate>127)res=-128+recvicedate-128;else if(recvicedate<=127&&recvicedate>0)res=recvicedate;char * ccc=new char[10];CString a(itoa(recvicedate,ccc,10));m_recv="您的余额是:"+a;}}UpdateData(false);break;default:break;}}D . 主控机处理程序接收下位机传送过来的卡号和站点编号,通过卡号查询数据库得到该卡号的信息(包括余额和状态),如果是出站则计算余额并返回给下位机,同时改变该卡状态为出站.如果是进站,则登记为进站,同时直接返回当前余额给下位机.程序如下: (其中status表示进站还是出站)void CKou1Dlg::OnOnCommMscomm1(){m_recv="";UpdateData(true);V ARIANT variant_ins;COleSafeArray safearray_ins;long i=0;int len;char rxdata[1000];CString tmp;switch(m_com1.GetCommEvent()){case 2:{variant_ins=m_com1.GetInput();safearray_ins=variant_ins;len=safearray_ins.GetOneDimSize();long j=0;short recvicedate=0;safearray_ins.GetElement(&j,&recvicedate);//将接收数据显示出来char * c3=new char[10];CString a3(itoa(recvicedate,c3,10));m_recv+=a3+" ";//查询数据库,获取该卡号信息_variant_t Raffected,cardnum0,count0,status0;int cardnum=(recvicedate&0x78)>>3;CString y2,str0;str0.Format("%d",cardnum);y2="select * from card where cardnum="+str0;m_pRset->Open(_variant_t((LPCTSTR)y2),m_pConnection.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);CString str;while (!m_pRset->adoEOF){cardnum0=m_pRset->GetCollect("cardnum");count0=m_pRset->GetCollect("count");status0=m_pRset->GetCollect("status");//str=(LPCTSTR)(_bstr_t)cardnum0;//GetDlgItem(IDC_EDITID)->SetWindowText( str );//m_pRset->PutCollect(_variant_t("cardnum"),_variant_t((long)2000));//UpdateWindow();m_pRset->MoveNext();Sleep(100);// (*cardcurrent).cardnum=(short)vid;// (*cardcurrent).count=(short)vpsw;// (*cardcurrent).zhan =(short)vmon;}m_pRset->Close();short yue=-1;if((short)status0!=-1){int zhan2=recvicedate&0x7;yue=(short)count0-abs(((short)zhan2-(short)status0)*10);//重置status为-1status0=(short)-1;}else{status0 =(short)(recvicedate&0x7);yue=(short)count0;}if(yue>=0){//先回写数据库,改变statusCString yue2,status2,sql;yue2.Format("%d",yue);status2.Format("%d",(short)status0);sql="update card set [count]="+yue2+",status="+status2+" where cardnum="+str0;m_pConnection->Execute(_bstr_t((LPCTSTR)sql),&Raffected,adCmdText);}//发送余额到客户端CByteArray sendArr;sendArr.SetSize(1);sendArr.SetAt(0, yue);CKou1Dlg::m_com1.SetOutput(COleVariant(sendArr));//将发送信息显示出来char * c=new char[10];CString a(itoa(yue,c,10));//char * c2=new char[10];//CString a2(itoa(str0,c2,10));m_edit+="向卡号为:"+str0+"发送余额:"+a+"元\n\r ";}UpdateData(false);break;default:break;}}(7) . 部分程序截图主控机接受下位机发送的卡号等数据,同时查询数据库返回该卡余额,主控机在进行充值操作的截图四. 实验心得这次接口的课程设计可获收获颇大, 首先是更加清晰地认识了一些接口芯片的使用,比如说8255,8250芯片, 最重要的是学会了两微机com口的通讯,这是本次课程设计的关键!觉得以前接口的实验还是蛮简单,这一次算是系统地又复习了遍一些基础知识.其次因为对C++语言不是很熟悉,也算是学习C++,下位机程序中用到了线程来实现监听,同时也控制了不会重复发送相同数据,这一点实现了下位机的主动查询,而无需人工按下按钮.觉得这段代码写的还可以,也是本次实验的收获之一.同时程序也用到了数据库,不过比较基本,但也到位了,报警也采取了响铃的方式,总体来说比较完美,自己也从中学到了不少东西,在这里我为我的另外3个同伴感到很欣慰,也是大家一起合作努力的结果,也非常感谢老师的指导!五. 参考文献《单片机原理及应用》中国铁道出版社《现代微机系统与接口技术》高等教育出版社《微机接口实验指导书》华中科技大学出版社。

(完整word版)自动化专业微机接口课程设计1

(完整word版)自动化专业微机接口课程设计1

11级自动化专业《微机原理及接口技术课程设计》任务书及指导书一、设计任务设计、调试一个具有温度检测、串行A/D和液晶显示温度值得一个温度检测系统二、设计目的1.通过实践进一步理解和掌握微机接口技术;2.掌握使用汇编及C语言开发单片机系统的方法;3.复习使用Protel制作电路板的技能;4.学会通过阅读相关器件的英文资料设计产品;5.进一步提高设计、调试单片机系统的能力。

三、设计内容本设计在Lab8000通用微控制器实验系统及由北京建筑大学研制的温度测量及控制扩展板上做。

要求手动控制加热,然后将温度检测产生的模拟量送入串行A/D转换器TLC549,转换得到的数字量送入CPU,经适当转换送液晶显示器显示温度值。

在设计和调试过程中要将设计中涉及的各部分逐个调试通过,然后再整体调试。

在逐个调试时,可使用一些模拟信号,例如在调试串行A/D时,可先将模拟量输入接一个电位器,由电位器模拟温度量输入。

1.温度测量与控制电路系统使用集成电路温度传感器AD590作为测温器,AD590是AD公司生产的一种精度和线性度较好的双端集成温度传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1A最大电流的变化或1摄氏度等效误差。

图1 温度传感部分图1给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路,当温度有了10℃的变化时输出电压变化为20mV,即该电路运放1脚电压随温度变化为2mV/℃。

AD590将温度变化量转换成电压值变化量,经过LM324一级跟随后输入到电压放大电路,放大后的信号输入到A/D 转换器将模拟信号转换成数字信号,利用CPU采集并存储采集到的数据。

将温度传感器输出的小信号跟随放大45倍左右后,送至8位A/D转换器换成数字量。

设定温度为0摄氏度时变换放大电路送出的模拟量为0V,此时A/D输出的数字量为00H;温度为67摄氏度时变换放大电路送出4.98V电压,此时A/D输出的数字量为FFH,即每0.3摄氏度对应1LSB变化量。

微机接口技术课程设计(DOC)

微机接口技术课程设计(DOC)

河北科技大学课程设计报告学生姓名:学号:专业班级:电子信息工程班课程名称:微机接口技术课程设计学年学期:2014—2015学年第二学期指导教师:王震洲2 01 5 年7 月课程设计成绩评定表目录一、课程设计目的与意义 (1)二、课程设计任务与要求 (1)三、设计内容与步骤 (1)四、硬件电路设计 (2)五、程序设计 (7)六、数字频率示波器调试 (11)七、课程设计总结与体会 (13)附录:、接口实验卡电路原理图 (14)一、课程设计目的与意义数字存储示波器是常用的电子测量仪器之一,其中采用的转换、转换与数据处理技术与《微机接口技术》课程内容联系紧密。

通过本设计,学生可掌握、转换电路的设计和调试方法,培养学生分析解决实际问题的能力。

二、课程设计任务与设计要求本设计通过简单的转换接口电路,配合汇编语言程序设计,实现最基本的信号波形采集与存储,并通过简单的转换接口电路,将存储的数据还原为信号波形,在普通示波器的屏幕上显示出来。

被测信号产生电路参见“、接口实验扩展卡电路原理图”。

当按下S1时,电容C5完全放电,转换器输入电压为零;抬起S1时,电容C5开始充电,转换器输入电压按过渡过程开始上升,最终达到+5V。

图中时间常数约为10,整个充电过程需要3~5倍的时间常数时间。

设计要求使用转换器捕捉电容C5充电的完整过程,并将采样数据存储起来。

然后依次将采样数据通过转换器循环输出,产生一定频率的重复波形,送到普通示波器显示。

基本要求:使用一个转换器通道,将信号波形施加到示波器的Y轴,X轴扫描信号由示波器产生并调节,实现充电过程的波形稳定显示。

发挥部分:将示波器调整在方式,采样数据的转换器输出接到Y轴输入端,增加一个转换器通道,产生频率可变的X轴扫描信号,接到示波器X轴外部输入端,使充电过程的波形稳定显示。

三、设计内容与步骤1、数字存储示波器原理分析由于单片机实验系统已经提供了相关信号线,使用0809、0832和相关外围电路元件,组成了最基本的转换和转换电路。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

11级自动化专业《微机原理及接口技术课程设计》任务书及指导书一、设计任务设计、调试一个具有温度检测、串行A/D和液晶显示温度值得一个温度检测系统二、设计目的1.通过实践进一步理解和掌握微机接口技术;2.掌握使用汇编及C语言开发单片机系统的方法;3.复习使用Protel制作电路板的技能;4.学会通过阅读相关器件的英文资料设计产品;5.进一步提高设计、调试单片机系统的能力。

三、设计内容本设计在Lab8000通用微控制器实验系统及由北京建筑大学研制的温度测量及控制扩展板上做。

要求手动控制加热,然后将温度检测产生的模拟量送入串行A/D转换器TLC549,转换得到的数字量送入CPU,经适当转换送液晶显示器显示温度值。

在设计和调试过程中要将设计中涉及的各部分逐个调试通过,然后再整体调试。

在逐个调试时,可使用一些模拟信号,例如在调试串行A/D时,可先将模拟量输入接一个电位器,由电位器模拟温度量输入。

1.温度测量与控制电路系统使用集成电路温度传感器AD590作为测温器,AD590是AD公司生产的一种精度和线性度较好的双端集成温度传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1A最大电流的变化或1摄氏度等效误差。

图1 温度传感部分图1给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路,当温度有了10℃的变化时输出电压变化为20mV,即该电路运放1脚电压随温度变化为2mV/℃。

AD590将温度变化量转换成电压值变化量,经过LM324一级跟随后输入到电压放大电路,放大后的信号输入到A/D转换器将模拟信号转换成数字信号,利用CPU采集并存储采集到的数据。

将温度传感器输出的小信号跟随放大45倍左右后,送至8位A/D转换器换成数字量。

设定温度为0摄氏度时变换放大电路送出的模拟量为0V,此时A/D输出的数字量为00H;温度为67摄氏度时变换放大电路送出4.98V电压,此时A/D输出的数字量为FFH,即每0.3摄氏度对应1LSB变化量。

当温度超过报警温度报警67摄氏度,此时,输出电压约为5.0V左右。

通过电压比较器接通硬件报警电路报警。

输入A/D的模拟信号有过压保护,不会损坏A/D转换器。

在实验扩展板硬件中,已有安全设计,即加热温度不会超过80℃。

扩展板已依据标准调整好了放大器的增益和零位。

应注意:由于热惯性的影响及温度计显示的滞后因素,若要精确观察某温度点的测量值,在加热到观察温度点后,应停止加热,等待温度计示值稳定后,再观察记录结果。

若观察点温度较高,还应相应延长等待时间。

需要说明的是,由于温度计和温度采样芯片AD590的采样点不同,理论计算值同显示略有偏差。

温度测量电路原理参见图2。

图2 温度测量电路在上图中,可变电阻R7为测温系统零点调节,可以调节系统零点。

调节电位器R7,用万用表测量如图R4、R5、R6三个电阻相接的公共点,将该点电压调到-2.74V(注:该点电压已调到-2.74V,学生不要随意调节,可以直接做实验)。

用导线连接“温度测量”到“TLC549模拟量输入”;加热模块的“温度控制”手动接VCC(+5V)或GND,以手动控制是否加热。

2.串行A/D转换器TLC549是一种采用8位逐次逼近式工作的A/D转换器。

内部包含系统时钟、采样和保持、8位A/D转换器、数据寄存器以及控制逻辑电路。

TLC549每25uS重复一次“输入——转换——输出”。

器件有两个控制输入:I/O CLOCK和片选(CS)。

内部系统时钟和I/O CLOCK可独立使用。

应用电路的设计只需利用I/O时钟启动转换或读出转换结果。

当CS为高电平时,DATA OUT处于高阻态且I/O时钟被禁止。

当CS变为低电平时,前次转换结果的最高有效位(MSB)开始出现在DATA OUT端。

在接下来的7个I/O CLOCK周期的下降沿输出前次转换结果的后7位,至此8位数据已经输出。

然后再将第8个时钟周期加至I/O CLOCK,此时钟周期的下跳沿变使芯片进行下一轮的AD转换。

在第8个I/O CLOCK周期之后,CS必须变为高电平,并且保持高电平直至转换结束为止(>17uS),否则CS的有效高电平至低电平的转换将引起复位(其它详细资料看芯片说明)。

TLC549串行模数转换电路原理参见图3。

图3 TLC549串行模数转换电路3.液晶显示器四、设计要求1.进行总体方案设计:1)画出系统硬件原理图并用文字说明原理;2)将程序划分为若干个模块,画出框图;3)依据题意,确定各接口芯片工作于何方式下;4)确定各接口芯片的端口地址、控制字等,为初始化编程做好准备;2.画出各模块内的流程图,依据流程图编写源程序代码,并写出注释;3.将源程序汇编、连接,产生可执行文件;4.硬件与软件调试,通过实验达到设计要求。

5.硬件设计完成后,要在Protel中画出原理图及印制板图,并打印出来附在报告中。

五、实验设备1.微机一台2.Lab8000通用微控制器实验系统一套3.温度测量及控制扩展板一块六、设计过程1.液晶屏液晶显示器简称LCD显示器。

它是利用液晶经过处理后能改变光线的传输方向的特性实现显示信息。

液晶显示器按其功能可分为三类:笔段式液晶显示器、字符点阵式液晶显示器和图形点阵式液晶显示器。

前两种可显示数字、字符和符号等,而图形点阵式液晶显示器还可以显示汉字和任意图形,达到图文并茂的效果。

本次课程设计我选用字符型点阵式LCD液晶显示器RT-1602C,用作显示检测到的温度。

RT-1602C采用标准的16脚接口,各引脚情况如下:第1脚:VSS,电源地第2脚:VDD,+5V电源第3脚:V0,液晶显示偏压信号,一般加电位器调整第4脚:RS,数据/命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:R/W,读/写选择端,高电平时进行读操作,低电平时进行写操作。

当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

第6脚:E,端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7,为8位双向数据线。

第15脚:BLA,背光源正极第16脚:BLK,背光源负极2.TLC549(1)因测得的温度是模拟量,所以需要模数转换器,将其转换为数字量,通过单片机89C51传入液晶显示器RT-1602C,将其输出。

本次课程设计我选用A/D转换器TLC549。

(2)TLC549是 TI公司生产的一种低价位、高性能的8位A/D转换器,它以8位开关电容逐次逼近的方法实现 A/D转换,其转换速度小于 17us,最大转换速率为 40000HZ,4MHZ典型内部系统时钟,电源为3V至 6V。

它能方便地采用三线串行接口方式与各种微处理器连接,构成各种廉价的测控应用系统。

TLC549片型小,采样速度快,功耗低,价格便宜,控制简单.适用于低功耗的袖珍仪器上的单路A/D或多路并联采样。

(3)TLC549 引脚图及各引脚功能TLC549引脚图REF+:正基准电压输入 2.5V≤REF+≤Vcc+0.1。

REF-:负基准电压输入端,-0.1V≤REF-≤2.5V。

且要求:(REF+)-(REF-)≥1V。

VCC:系统电源3V≤Vcc≤6V。

GND:接地端。

/CS:芯片选择输入端,要求输入高电平VIN≥2V,输入低电平VIN≤0.8V。

DATA OUT:转换结果数据串行输出端,与 TTL 电平兼容,输出时高位在前,低位在后。

ANALOGIN:模拟信号输入端,0≤ANALOGIN≤Vcc,当ANALOGIN≥REF+电压时,转换结果为全“1”(0FFH),ANALOGIN≤REF-电压时,转换结果为全“0”(00H)。

I/O CLOCK:外接输入/输出时钟输入端,同于同步芯片的输入输出操作,无需与芯片内部系统时钟同步。

(4)应用接口及采样程序TLC549可方便地与具有串行外围接口(SPI)的单片机或微处理器配合使用,也可与51系列通用单片机连接使用。

实际应用程序清单如下:初始化:SETB P1.2 ;置CS为1。

CLR P1.0 ;置I/O CLOCK为零。

MOV R0,#00H ;移位计数为零。

A/D过程:A/DP:CLR P1.2NOP;等待1.4μs,NOP数根据晶振情况选择NXT:SETB P1.0MOV C,P1.1RLC ACLR P1.0INC R0CJNE R0,#8,NXTMOV R0,#00SETB P1.2MOV DTSVRM,A ;DTSVRM:DATA SAVE RAM.RET3.Protel设计4.温度检测器实物调试将各个元器件在电路板上焊接好,然后进行温度检测调试。

因为是初学者,又有老师的指导,所以实物调试与仿真结果基本相似。

但焊接时,要注意排列好各个元器件的位置,以免元器件过于紧凑,或是电线接错位置,或混联。

七、设计成果1.Protel原理图2. Protel印制板图3.Proteus仿真图4.程序编辑(1)汇编程序LCD_RS EQU P3.0LCD_RW EQU P3.1LCD_EN EQU P3.2LCD_DATA EQU P1DAT BIT P2.4CLK BIT P2.5CS BIT P2.3LCDDBuf EQU 40H ;显示数据缓冲SetTemp EQU 50H ;设定温度缓冲CurTemp EQU 51H ;测得温度缓冲ORG 0LJMP STARTORG 0030HSTART: LCALL SET_LCDSTART1: LCALL TLC549_ADCLCALL CONVMOV A,#80HLCALL WCOM ;写入命令mov a,LCDDBUF+1ORL A,#30HLCALL WDATAMOV A,#81HLCALL WCOM ;写入命令mov a,LCDDBUFORL A,#30HLCALL WDATALJMP START1CONV: MOV B,#67 ; ADHEX*67/256MUL ABMOV A,BMOV CurTemp,Amov b, #10 ; 拆开显示div abmov LCDDBUF+1,Amov a, bmov LCDDBUF,ARETWCOM: ;以8位控制方式将命令写至LCDMOV LCD_DATA,A ;写入命令CLR LCD_RS ;RS=L,RW=L,D0-D7=指令码,E=高脉冲 CLR LCD_RWSETB LCD_ENLCALL DECLR LCD_ENRETWDATA: ;以8位控制方式将数据写至LCDMOV LCD_DATA,A ;写入数据SETB LCD_RSCLR LCD_RWSETB LCD_ENLCALL DECLR LCD_ENLCALL DERETSET_LCD: ;8位I/O控制 LCD 接口初始化MOV A,#38H ;双列显示,字形5*7点阵LCALL WCOMLcall delay1MOV A,#38HLCALL WCOMLcall delay1MOV A,#38HLCALL WCOMLcall delay1MOV A,#0CH ;开显示,显示光标,光标不闪烁 LCALL WCOMLcall delay1MOV A,#01H ;清除 LCD 显示屏LCALL WCOMLcall delay1RETDELAY1: ;延时5MSMOV R6,#25DL2: MOV R7,#100DJNZ R7,$DJNZ R6,DL2RETDE: MOV R7,#250DJNZ R7,$RETTLC549_ADC:CLR ACLR CLKCLR CSMOV R6,#8ADLOOP:SETB CLKNOPNOPMOV C,DATRLC ACLR CLKNOPDJNZ R6,ADLOOPSETB CSSETB CLKRETEND(2)C程序#include <reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit rs=P3^0; //命令/数据选择sbit rw=P3^1; //读写口sbit e=P3^2; //锁存控制sbit CLK = P2^5;sbit DO = P2^4;sbit CS = P2^3;unsigned int Volt;unsigned char LCD[7];uchar data kaishi[16]={" wengdu "};uchar data dis1[16]={" my muxt "}; //显示两行uchar data dis2[16]={" be struggle "};delay(uint time) //int型数据为16位,所以最大值为65535 {uint i,j; //定义变量i,j,用于循环语句for(i=0;i<time;i++) //for循环,循环50*time次for(j=0;j<100;j++); //for循环,循环50次}wcode(uchar t){rs=0; // 写的是命令rw=0; // 写状态e=1; //使能P1=t; //写入命令delay(20); //等待写入,如果时间太短,会导致液晶无法显示e=0; //数据的锁定}wdata(uchar t){rs=1; // 写的是数据rw=0; // 写状态e=1; //使能P1=t; //写入数据delay(20); //等待写入,如果时间太短,会导致液晶无法显示e=0; //数据的锁定}xian1(){uchar i;wcode(0x80); //设置第一行显示地址for(i=0;i<16;i++) //循环16次,写完1行{wdata(dis1[i]); //写入该行数据}}//******************************************************************//LCD显示第二行//******************************************************************xian2(){uchar i;wcode(0xc0); //设置第二行显示地址for(i=0;i<16;i++) //循环16次,写完1行{wdata(dis2[i]); //写入该行数据}}//******************************************************************//LCD 初始化//******************************************************************InitLCD(){wcode(0x01); //清屏wcode(0x06); //输入方式控制,增量光标不移位wcode(0x0e); //显示开关控制wcode(0x38); //功能设定:设置16x2显示,5x7显示,8位数据接口}unsigned char TLC549_ADC(void){unsigned char i, tmp;CS = 1;CLK = 0;CS = 0;_nop_();_nop_();for(i = 0; i < 8; i++){tmp <<= 1;tmp |= DO;CLK = 1;_nop_();CLK = 0;}CS = 1;for(i = 17; i != 0; i--) _nop_();return (tmp);}void Volt_To_LCD(void){uchar AD_Data;AD_Data = TLC549_ADC();Volt = 5.0 / 256 * AD_Data * 1000;LCD[0] = ' ';LCD[1] = ' ';LCD[2] = ' ';LCD[3] = ' ';LCD[4] = ' ';LCD[5] = Volt / 1000 + '0'; //千位LCD[6] = Volt / 100 % 10 + '0'; //百位LCD[7] = '.'; //小数点LCD[8] = Volt / 10 % 10 + '0'; //十位LCD[9] = Volt % 10 + '0'; //个位LCD[10] = 'c';LCD[11] = '\0'; //字符串结束标志符}void xianshi(){int i;wcode(0x80);for(i=0;i<16;i++){ wdata(kaishi[i]);delay(20);}wcode(0x80+0x40);for(i=0;i<16;i++){ wdata(LCD[i]);delay(20);}}main(){uchar i;InitLCD(); //初始化1602xian1(); //显示第一行xian2(); //显示第二行while(1) //进入死循环,防止看门狗复位{for(i=0;i<16;i++){xianshi; //每输入一次码,向左移位一次delay(3000); //滚动速度设置}}}。

相关文档
最新文档