自动化专业微机接口课程设计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. 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); //滚动速度设置}}}。

相关文档
最新文档