单片机接口

2024-09-18

单片机接口(共10篇)

单片机接口 篇1

目前工业控制现场大量使用了各种智能仪表用于生产过程检测, 把智能仪表检测出来的数据传送到监控计算机供显示和分析是非常必要的环节[1]。虽然智能仪表的通信协议种类繁多。但是很多智能仪表都具备RS-232和RS-485两种通信接口类型, 两种接口拥有各自的优点, 由于微机系统或工业自动化设备, 如PLC、智能化仪表等一般只具有RS-232接口, 而很多现场设备提供的是RS-485接口。因此, 在组网时就需要解决两种接口的转换问题。所以对以上两种接口之间的转换通信研究具有很高价值。

1 Ke il C51单片机软件开发系统的整体结构

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具, 全Windows界面, 多数语句生成的汇编代码很紧凑, 容易理解。在开发大型软件时更能体现高级语言的优势[2]。

本文采用的仿真软件是Keil u Vision3, Keil Software公司推出的u Vision3是一款可用于多种8051MCU的集成开发环境 (IDE) , 该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外, u Vision3还提供了一个配置向导功能, 加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU, 包括指令集、片上外围设备及外部信号等。u Vision3提供逻辑分析器, 可监控基于MCUI/O引脚和外设状态变化下的程序变量[3]。

8051系列单片机有一个标准的串行通信接口, 发送数据时由TXD端口送出, 接收数据时由RXD端口输入, 内置两个缓冲器SBUF, 一个接受缓冲器, 另一个是接收缓冲器, 可实行全双工的串行通信.近距离可直接用TTL电平, 若与计算机通信, 则需要将电平转换成RS232电平形式, 若需长距离通信可以采用RS485电平形式, 通信的数据必须通过软件的编写来完成[4]。

2 S TC89C58芯片

本次设计采用的是51系列单片机的型号是STC89C58。STC89C58是一种新型的51内核的单片机, 它内部包含32K FLASH ROM、1。2KRAM, 具有超低功耗, 正常工作模式典型功耗为:4~7m A, 空闲模式下小于2m A。STC89C58与传统的51单片机相比具有超强的抗干扰能力[5], 每个I/O口对VCC和GND均进行了二极管相位保护, 因此输入电压范围宽, 不怕电源抖动, 芯片内置高抗静电电路, 可轻松抗过2000V的快速脉冲干扰, 同时对单片机的电源、时钟、复位电路都进行了特殊处理, 避免引入干扰[6]。

3 RS-232接口和RS-485接口接口互换通信的实现

主要针对不同接口间的互相转换, 不同的接口用不同的程序, 由于232接口通信是异步的, 用一收一发两条线完成。而485接口通信是发不能收, 收不能发, 除了收发两条线外, 还需一加条收发控制线。因此需要三条线。在编程的过程中, 把232和485两个接口到程序分别编出来, 完成两个接口接收和发送的功能, 之后在编一个选择的主程序, 用来选择接口到类型, 如果选择232的接口, 就用232的程序接收和发送数据, 反之, 就用485的程序接收和发送数据。最后将两个程序合成一个程序。在程序的开始, 要先进行初始化, 首先设置定时器T1的工作方式和初值。设置串口的工作方式, 然后开串口中断, 最后开CPU中断, 完成初始化 (图1) 。

4 程序的设计

实现互换通信的源程序如下:

结束语

本文研究了基于51系列单片机RS-232接口与RS-485接口间互换通信的实现, 提出了一种可行的两接口互换通信程序设计方式, 并且本设计中两个接口的互换通信是通过编程实现的, 所以可适用于各种类似通讯网络, 扩展性强, 具有很好的应用前景。

参考文献

[1]许永康.RS-232转RS-485网络的通信[J].微计算机信息, 2007, 23 (10) .

[2]李晓玲.通讯接口专题综述[J].攀枝花学院学报, 2004, 21 (4) .

[3]龚义建.串行通讯接口RS232/RS485的应用与转换[J].计算机与数字工程, 2003, 31 (5) .

[4]周修理, 杨方, 陈萍.常见的串行通讯接口标准[J].2001 (4) .

[5]曾永基.AB PLC与MODBUS网络的通信[J].微计算机信息, 2004 (6) .

[6]RS-485.RS-422and RS-485Application Note.B&B Electron-ics Mfg.Co.Inc.1997.

单片机接口 篇2

班级:05电子(1)(2)

日期:2007.3.8

课题:单片机硬件系统 教学目的:使学生理解单片机的结构、硬件原理和工作特性等基础知识 重点难点:单片机硬件组成和数据存储区分配

第一章 单片机硬件系统一、概述

(一)单片机及单片机应用系统

单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统。

(二)MCS-51单片机系列

二、MCS-51单片机结构和原理

(一)单片机的内部组成及信号引脚

组成:CPU、内部RAM、内部ROM、定时/计数器、并行I/O口、串行口、中断系统、时钟电路等。

(二)内部数据存储器 1.寄存器区 2.位寻址区 3.用户RAM区

4.特殊功能寄存器区

(三)内部程序存储器

三、并行输入/输出口电路结构

组成结构:P0口、P1口、P2口、P3口

四、时钟电路与复位电路

常用晶体振荡器时钟电路(最大12MHz)、复位电路(RST引脚高电平产生复位)。

小结:单片机硬件电路和工作原理是学好本课的基础。

班级:05电子(1)(2)

日期:2007.3.22

课题:单片机开发系统 教学目的:使学生理解单片机硬件和软件调试的方法 重点难点:单片机开发软件的应用

第二章 单片机开发系统一、开发系统的功能

在线仿真、辅助调试、辅助设计、程序固化。

二、单片机应用系统的调试

调试方法:单步、跟踪、全速运行、设置断点

小结:调试方法和调试软件是单片机系统设计的必要工具。班级:05电子(1)(2)

日期:2007.3.28

课题:单片机指令系统 教学目的:使学生掌握单片机指令的含义和使用方法 重点难点:逻辑和位操作指令

第三章 MCS-51单片机指令系统一、寻址方式

包括:寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。

二、指令系统

共111条指令。

数据传送指令(29条)

算术运算指令(24条)

逻辑运算指令(24条)

控制转移指令(17条)位操作指令(17条)

三、常用伪指令

包括:定位伪指令、定义字节伪指令、定义空间伪指令、定义符号伪指令、数据赋值伪指令、数据地址赋值伪指令、汇编结束伪指令。

小结:本章是整个课程的重点,应将使用方法以举例的方式详细讲解。

作业:3.3~3.16

班级:05电子(1)(2)

日期:2007.4.11

课题:单片机编程方法 教学目的:使学生掌握单片机汇编语言的编程方法 重点难点:分支程序、循环程序和子程序设计

第四章 MCS-51单片机汇编语言程序设计

一、简单程序设计

顺序控制程序。编程前,要分配内存工作区及有关端口地址。

二、分支程序设计

分支程序就是按照分支条件,判断程序流向,并执行。1.两分支程序设计(单入口、两出口)2.三分支程序设计

3.多分支程序设计(散转程序)

三、循环程序设计

1.单重循环程序设计

2.双重循环程序设计(延时程序设计)3.数据传送程序

4.循环程序结构(初始化、循环体、循环控制)

四、查表程序(主要用于数码管显示子程序)

表格是预先定义在程序的数据区中,然后和程序一起固化在ROM中的一串常数。

五、子程序设计与堆栈技术

1.子程序调用和返回过程 2.子程序嵌套

3.参数传递与现场保护和恢复

4.子程序结构(子程序名、子程序功能、入口参数、出口参数、占用资源)5.堆栈操作与堆栈功能

6.堆栈操作与RAM操作的比较

六、实用子程序举例

1.代码转换(二进制数转换为BCD码)2.算术运算(双字节无符号数乘法)3.查找、排序程序(冒泡排序法)

小结:汇编语言程序设计基本结构包括顺序结构、分支结构、循环结构和子程序结构等。

作业:4.1~4.16

班级:05电子(1)(2)

日期:2007.4.12

课题:定时与中断系统 教学目的:使学生掌握单片机定时/计数器与外部中断的工作原理和编程方法 重点难点:定时工作方式与中断系统原理

第五章 定时与中断系统一、定时/计数器

1.定时/计数器的结构 2.定时/计数器工作原理

3.定时/计数器的方式寄存器和控制寄存器

二、定时/计数器的工作方式

共4种定时工作方式:方式0、方式

1、方式

2、方式3。

三、定时/计数器的编程和应用

定时初值的计算方法、方式设置、控制方式设置

四、中断系统

1.中断的概念和特点 2.中断系统的结构框图 3.中断源和中断标志 4.中断处理过程

五、中断系统的应用

1.中断系统的功能(中断响应、中断处理、中断返回)2.中断请求的撤除、中断响应时间 3.外部中断源的扩展

4.定时中断控制信号灯闪烁功能的应用实例

小结:定时中断在单片机程序控制中,是很有用的,但中断的概念对初学者比较难理解,需细讲。

作业:5.4、5.5

班级:05电子(1)(2)

日期:2007.4.25

课题:单片机系统扩展 教学目的:使学生掌握单片机系统扩展的原理和相关集成电路的使用方法 重点难点:扩展电路接口与地址的控制方法

第六章 单片机系统扩展

一、程序存储器扩展

1.单片机程序存储器概述 2.EPROM程序存储器扩展实例(2732)

3.常用程序存储器类型(2716、27128、2864A)

二、数据存储器扩展

1.单片机RAM概述

2.SRAM扩展(以一片2KB静态6116为例)

三、并行I/O口扩展

1.MCS-51内部并行I/O口及其作用

单片机内部,P0口分时作为低8位地址线和数据线,P2口作为高8位地址线。2.简单的I/O口扩展

以74LS244和74LS273分别作为扩展输入和输出端口,其地址的计算方法。3.采用8255扩展I/O口

8255的结构、8255的控制字、8255与单片机的接口 4.采用8155扩展I/O口

8155的结构、I/O口的工作方式、作外部RAM的使用方法、与单片机的接口

小结:本章的重点是学习对不同扩展电路,其地址的计算方法。但要首先了解相关控制的工作原理和控制方法,据此计算地址就容易很多。

班级:05电子(1)(2)

日期:2007.5.14

课题:单片机接口技术 教学目的:使学生掌握单片机系统常用外围电路的接口技术和使用方法 重点难点:数码管显示、D/A、A/D转换接口与编程

第七章 单片机接口技术

一、单片机与键盘接口

1.键盘的工作原理(键输入原理、按键消抖的方法、按键编码方法)2.独立式按键(硬件结构和软件编程)

3.矩阵式按键(矩阵式键盘的结构、按键识别方法、键盘编码、键盘扫描的工作方式)

二、单片机与数码管显示器的接口

1.8段码数码管工作原理

2.数码管字形编码方法(共阴极与共阳极两种情况)3.静态显示接口(原理和编程方法)4.动态显示接口(原理和编程方法)

三、D/A转换器接口

1.D/A转换器的技术性能指标(分辨率、建立时间、接口形式)2.典型D/A转换器芯片DAC0832 3.单缓冲方式的接口与应用 4.双缓冲方式的接口与应用

四、A/D转换器接口

1.A/D转换的工作原理

2.典型A/D转换器芯片ADC0809 3.单片机与ADC0809接口 4.编程方法

小结:按键、LED数码管显示、A/D、D/A是单片机系统的常用外设电路,本章的学习对于提高单片机系统的设计水平很有帮助。

大作业:7.6

班级:05电子(1)(2)

日期:2007.6.20

课题:串行口通信技术 教学目的:使学生掌握单片机串行通信技术的原理和编程方法 重点难点:串行接口、程序设计

第八章 串行口通信技术

一、串行通信基础

1.串行通信的分类

(1)异步通信(字符帧、波特率)(2)同步通信

2.串行通信的制式(单工、半双工、全双工)3.串行通信的接口电路

二、串行通信总线标准及其接口

1.RS-232C接口

2.RS-449、RS-422A、RS-423A标准接口 3.20mA电流环路串行接口

三、MCS-51的串行接口

51系列单片机内部有一个可编程全双工串行通信接口,它具有UART的全部功能,该串行口有4种工作方式,帧格式有8位、10位和11位,并能设置各种波特率。

1.MCS-51串行口结构(SBUF、SCON、PCON控制字的定义)2.串行工作方式(方式0、1、2、3)3.串行口的波特率

四、MCS-51单片机之间的通信

1.双机通信硬件电路(RXD、TXD、公共地线)2.双机通信软件编程(查询方式、中断方式)3.多机通信

五、PC机和单片机之间的通信(接口设计、软件编程)

小结:串行通信在现代社会应用广泛,单片机串行通信是通信技术的基础。

作业:8.4

班级:05电子(1)(2)

日期:2007.7.4

课题:单片机应用系统的设计与开发 教学目的:使学生从总体上了解单片机应用系统的设计方法 重点难点:温度控制系统的设计

第九章 单片机应用系统的设计与开发

一、单片机温度控制系统的设计

二、单片机应用系统开发的一般方法

1.确定任务指标和目标

2.总体设计(选型、软硬件分工)

3.硬件设计(程序存储器、数据存储器和I/O口、地址译码电路、总线驱动能力、系统速度匹配、抗干扰措施)

4.软件设计(监控程序、功能程序)

5.系统调试(软件调试、硬件调试、联机调试)

三、单片机应用系统实用技术

1.低功耗设计

2.加密技术(硬件加密、软件加密)

四、抗干扰设计

1.电源、地线、传输干扰及其对策

2.硬件抗干扰措施(隔离技术、系统监控技术)

3.软件抗干扰措施(数字滤波提高数据采集的可靠性、控制状态失常的软件抗干扰措施、程序运行失常的软件抗干扰措施)

单片机接口 篇3

关键词 单片机;考核方式;教学改革

中图分类号:G642.0 文献标识码:B 文章编号:1671-489X(2011)03-0040-02

1 引言

单片机原理与接口技术课程是计算机、自动化、机械等多个工科专业基础课,也是一门理论和实践性均非常强的课程。但目前由于教学资源、教学方法、实验设备等原因,大多数学生感觉该课程难学,学生的学习积极性不高。因此,如何调动学生学习兴趣,使学生摆脱枯燥记忆理论知识的困境,优化教学效果,使学生能学以致用,以致主动学习,是授课教师需要重点思索的问题。

2 教学现状

2.1 理论教学特点

单片机原理与接口技术是一门软硬件结合得非常紧密的课程。目前,大多数院校在该课程上的学时分配不足,导致部分教学内容无法完成。

采用先进的教学手段,在一定程度上提高了教学质量。但是目前,过多采用多媒体进行教学,反而使得教学效果很差。只有部分教师能综合使用各种教学手段,如辅助声音、图像、视频等方式,方可保证教学效果。

2.2 实验特点及现状

在教学改革过程中,各高校都相当重视实践教学,但是由于重理论、轻实践观念的长期影响, 改革的效果并不明显,实践教学仅仅作为理论教学的验证与补充的状况并没有得到根本的转变。单片机实验不仅可以让学生建立起单片机应用系统的完整概念,还可以让学生真正体会到单片机的应用价值,激发学生学习和实践的兴趣。然而由于实验学时和实验条件的限制,类似这样的综合性实验很难开展。由于实验学时、硬件条件、评价体系等方面的限制,这类综合性的实验实际上难以达到预定的效果。

3 改革措施

3.1 选择合适的教材

如何选择一本好的教材是学生学好这门课、教师教好这门课的前提。由于本专业学生自身的特点,在选择课程内容时要紧密结合机电类产品。比如,机电控制类的产品是由单片机来控制的,结合实际进行讲解,内容会更生动、更具吸引力。通过实例学习,让学生了解单片机,学到单片机的知识,还掌握在具体实践过程中如何进行方案的设计和分析、具体的实施以及后期的扩展等技能。因此在教材建设方面,一直紧扣本专业的发展方向,并编写适合学生的教材及辅导教材。理论教材从课程教学目的出发,突出课程重点,突出基本原理,覆盖本课程最基本的内容。辅导教材切合实际,注重培养学生的应用能力和创新能力。

3.2 改进教学方式和方法

通常单片机课程的教学过程是:先介绍单片机的组成和内部结构、存储器、指令系统、寻址方式、程序设计方法,然后介绍芯片的外部引脚功能,然后讨论单片机定时/计数、中断、串行口等功能应用,最后介绍外部扩展及键盘、显示器、A/D、D/A等接口技术。大多数学生在学习指令系统和汇编语言程序设计时常常感到很头疼。由于该课程是机械专业学生第一次较多地接触硬件方面的知识,较为抽象。加上汇编语言直接与系统硬件有关,并且指令较为烦琐,给学生造成该课程比较难学、枯燥的感觉。因此,教师需要不断地改进教学方法和教学手段,以实现生动、形象地传授知识,提高学生的学习兴趣。同时注重研究传授知识与培养能力的关系。

1)完善电子教案,利用多媒体课件提高直观性和趣味性,培养学生的学习兴趣。并且为减轻教师制作课件的工作强度,使教师将主要精力放在深入究教学法上面,建设多媒体教学资源库,为该课程的多媒体教学提供一个共享思想与资源的信息平台。

2)了解学生对内容的掌握情况,随时调整授课进度与方法。

3)授课中有意识地渗透科研意识,培养、激发学生创造兴趣。

3.3 改革考核方式

改革单片机原理与接口技术课程的考核方式,有助于对学生实践能力的考核,同时也将有助于单片机原理与接口技术的学习。以前的考核只以期末考试一次成绩作为定论,而实践只是作为平时成绩。现在把单片机原理与接口技术课程成绩为3个部分测试:第一部分是笔试,主要考核学生对于单片机原理与接口技术课程基本理论的掌握程度,占总成绩的40%;第二部分是基本实验的考核,在学生做过的十几个实验中,随机抽取一个进行单独考核,主要考核学生对单片机原理与接口技术基本操作能力,占总成绩的30%;第三部分是布置学生一次综合大作业,让学生完成硬件布置、软件设计,最后调试全过程,以答辩形式给出成绩,主要考核单片机原理与接口技术课程的综合能力,占总成绩的30%。最后,3个部分的总和作为课程的最终成绩。这是对学生的一个全面考核,达到使学生全面掌握单片机原理与接口技术的目的。

4 结束语

单片机原理与接口技术课程在机械专业有着非常重要的地位。无论是理论教学内容的改革,还是实验教学体系的改革,其目的是要切实提高单片机课程的教学质量,丰富和完善单片机教学内容,使学生真正能够引起浓厚的兴趣,变被动性实验为主动性实验,从而掌握单片机的本质内容,提高学生单片机的实际应用能力。单片机教学的改革只是做了一定的尝试,进一步的教学改革任重而道远。随着教学改革的深入,各方面的不足也会显现出来,但只要抓住以学生为本的基本思路,就能使实践教学改革不断地完善,切实体现实践教学应有的地位,促进高等教育的改革。

参考文献

[1]曹巧嫒.单片机原理及应用[M].北京:电子工业出版社,2008

[2]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2009

[3]何立民.单片机高级教程应用与设计[M].北京:北京航空航天大学出版社,2008

基于CPLD的单片机接口设计 篇4

关键词:CPLD,单片机,总线,接口

1 基于CPLD的单片机接口分类

基于CPLD的单片机接口通常有两种, 分别是总线方式和独立方式。

1.1 总线方式

单片机以总线方式与CPLD进行数据与控制信息通道具有许多优点。

(1) 速度快。其通信工作时序属于纯硬件行为, 只需要通过发出一条单字节的指令就能完成所需要的读/写时序。

(2) 节省CPLD芯片的I/O口线。通过在译码器中设置足够的译码输出, 并安排足够的锁存器, 就能够仅通过O口线在FPGA与单片机之间进行各种数据的控制与信息交换。

(3) 相对于独立方式, 编程更加的简单, 而且具有较高的控制性。

(4) 在CPLD中通过逻辑切换, 单片机更容易与SRAM或ROM接口。

1.2 独立方式

独立方式几乎适用与所有单片机, 通过独立接口能够实现与CPLD之间的通信, 其通信的时序方式能够根据所设计的软件自由变换, 具有较高的灵活性。其最大的特点是CPLD中的逻辑接口可以自由设定读/写时序。CPLD的逻辑设计与接口的单片机程序设计可以分布进行, 具有较强的独立性。

2 接口设计

2.1 基于总线结构的接口设计

单片机与CPLD之间可以根据用户需要的不同, 而采取多种不同的接口方式, 本文提出了一种基于总线结构的接口设计方案, 采用三总线结构, 如下图所示:

双向数据总线完成数据传输, 单项控制总线及地址总线利用CPLD对其外围对象进行控制。例如经典的51系列单片机与Ateral公司的EPM7064接口, 单片机是通过CPLD对地址进行锁存、译码, 使地址编码能够得到灵活的扩展。

上图单片机接口为双向数据总线, 该接口与CPLD的通用I/O接口连接, 能够实现数据以及低8位地址的传送;控制总线主要包括单片机的读写控制总线及地址的锁存信号ALE (Address Lock Enable) 。控制总线与地址总线通过CP0LD的全局输入信号引脚输入, 主要包括了Globle Clk、Global Clear、Global OE及Ded.Input。这些全局信号与CPLD里面的所有单元进行连接, 具有较高的相应速度, 能够保证所有信号到宏单元之间的传输延迟保持在相当短的时间范围内。

2.2 总线接口设计

在CPLD中, 我们设计了一个总线接口模块及一个寄存器单元及外部接口模块, 总线接口模块主要负责单片机与CPLD的总线接口逻辑, 同时还要对寄存器单元及外部接口模块进行操作。上图中的整个总线接口逻辑模块将单片机的三总线信号编码成五个信号进行输出, 这五个信号分别是addr16、RD_EN、WR_EN、Din、Dout。

总线接口模块又被分为三个小模块, 码模块。三态缓冲模块主要用于实现与单片机P0口进行连接;锁存器模块主要是通过利用ALE信号对单片机所输出的低8位地质进行锁存。利用其下降沿将低8位地址锁存到CPLD的地质锁存器当中, 当ALE将低8位地址通过P0及三态缓冲器进行锁存的同时, 高8位地质已精未定建立于P2口, 然后利用编码器模块将两组地质组合成一个16位地址。同时根据单片机的控制信号编码成RD_EN与WR_EN使能信号。

2.3 单片机接口VHDL实现

在单片机总线接口设计中, 采用VHDL语言来实现。通过使用VHDL语言编写该接口, 能够使接口具有更强的模块化能力以及良好的可读性, 且所写程序的可移植性较高。但是, 在进行接口程序编写时应该注意在完成数据读取之后, 应对数据总线进行释放, 以避免总线发生冲突。其主要程序代码如下:

3 结论

本文实现了基于CPLD的单片机接口设计, 在设计过程中通过利用VHDL语言来实现单片机接口, 更加接近日常的行为用于习惯, 方便进行错误的查找几纠正。同时该语言语法较为严谨, 能有效避免设计人员思维的偏差而出现的系统错误。

在设计过程中, 由于基于CPLD进行译码, 它将可编程逻辑器件作为单片机的高速地址缓存, 进行译码以及存储数据。这样有效的减少了过多的连线, 使整个系统结构更为简洁, 促进了整个系统效率的提高。另外, 由于CPLD器件的驱动电压很小, 还能有效的缓解能源消耗所带来的问题。

参考文献

[1]程耕国, 刘涛.CPLD扩展51单片机寻址范围[J].微计算机信息, 2006 (, 2) :185-186.

单片机接口 篇5

课程编号:

课程英文名称:Course Design of Micro-controller Principle and Interface Technology 学时数:18

学分数:1 使用层次和专业:本科

电气工程及其自动化、电子信息工程、机械设计制造及其自动化等专业

一、课程设计的性质、目的

《单片机原理及接口技术》课程设计是在基本学完该课程之后,综合运用所学单片机知识,完成一个单片机应用系统设计,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下基础。

通过该课程设计,主要达到以下目的:

1、巩固和加深对单片机原理和接口技术知识的理解,使学生增进对单片机系统的感性认识,加深对单片机理论方面的理解,为顺利完成毕业设计打下基础。

2、使学生掌握对单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口和串行口通讯等,进一步深化和巩固所学基础理论、专业知识及实验技能,培养学生综合运用所学专业知识分析问题和解决问题的能力。

3、培养学生根据课题需要选学参考书籍、查阅手册和文献资料的能力,了解与课题有关的硬件元器件的工程规范,能按课程设计任务书的要求编写课程设计说明书,学会方案论证的比较方法,初步掌握工程设计的基本方法,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。使学生了解和掌握单片机应用系统的软、硬件设计过程、方法及实现,提高学生的技术应用能力,为以后设计和实现单片机应用系统打下良好基础。

4、这一环节对掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法,掌握单片机技术在生产实践中的应用,提高学生的工程实践能力、动手能力、创新能力,使学生树立正确的人生观,养成严谨、踏实的工作作风。

二、课程设计的内容

课程设计主要内容包括:理论设计、调试及写出总结报告等,其中理论设计又包括选择总体方案、硬件系统设计和软件系统设计。硬件设计包括单元电路、选择元器件及计算参数等;软件设计包括模块化层次结构图、程序流程图等。程序设计是课程设计的关键环节,通过调试,进一步完善程序设计,使之达到课题所要求的指标,使理论设计更接近于 1

实际产品。课程设计的最后要写出设计总结报告,把理论设计内容,调试的过程及性能指标的测试结果进行全面的总结,把实践内容上升到理论高度。

以下8个设计题目每组学生可任选一项: 题目一 智能交通灯控制系统设计

1、设计要求

(1)用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。

(2)A、B两车道交叉组成十字路口,A是主车道,B是支道。正常情况下,A、B两车道轮流放行,A放行50s,B放行30s,各含5s警告时间。

(3)交通繁忙时,该系统应有手受控开关缓解交通拥挤状况,其中一车道放行期间,另一车道繁忙,可通过开关获得15s放行时间。

(4)有紧急车辆通过时,另需一开关设置两车道均禁止通行20s。

2、主要功能模块

智能交通灯控制系统主要功能模块包括电源电路、单片机主控电路、按键控制电路和道路显示电路组成。根据具体情况选择合适型号的单片机,发光二极管,开关等硬件设备进行设计。

题目二 温度控制系统设计

1、设计要求

(1)用单片机控制一个由1kw电炉加热的电烤箱,最高温度不超过120℃。(2)电烤过程恒温控制,温度可通过系统设置,误差不超过±2℃。(3)实时显示温度和设置温度,显示精确为1℃。

(4)温度超出设置温度±5℃时发超限报警,对升温和降温过程不作要求。

2、主要功能模块

温度控制系统的主要功能模块包括温度测量(温度传感器、放大器、ADC转换器)、温度控制(光电隔离、驱动电路、可控硅电路、电炉)、温度给定(按键)、温度显示和报警等几部分。根据具体情况选择合适型号的单片机,温度传感器、ADC转换器等硬件设备进行设计。

题目三 点阵LED电子显示屏的设计(第8章)

1、设计要求

(1)设计4个16×16的LED电子显示屏,能稳定、清晰地显示图形或文字。(2)图形或文字显示通过编程能实现静止、左移和右移等多种显示方式。

(3)采用动态扫描方式,保证在目测条件LED显示屏可亮度均匀地显示图形和文字,并且稳定、清晰、无串扰。

2、主要功能模块

LED电子显示屏系统的主要功能模块包括单片机主控模块、16×16的点阵显示、行驱动电路、列驱动电路、译码电路几部分。根据具体情况选择合适型号的单片机等硬件设备进行设计。题目四 密码锁设计

1、设计要求

(1)要求密码锁可以设置8位密码,每位密码值范围为1~8,用户可以自行设定和修改密码。

(2)若输入的8位开锁密码不正确,则报警5s,连续错3次要报警1分钟,报警期间输入密码无效;输入的8位开锁密码完全正确才能开锁,开锁时有1s提示音

(3)锁内有备用电池,内部上电复位时才能设置或修改密码;电磁锁的电磁线圈每次通电5s,然后恢复初态;密码键盘上只允许有8个密码按键,密码设定完毕后要有2s的提示音。

2、主要功能模块

密码锁系统主要功能模块包括主控模块、按键扫描模块、蜂鸣器、电源电路、复位电路、晶振电路、驱动电路几部分。根据具体情况选择合适型号的单片机,三极管等硬件设备进行设计。

题目五 LED点阵显示电子钟设计

1、设计要求

(1)时钟的显示由LED点阵构成。

(2)能正确显示时间,上电显示为12点,时间能够由按键调整。(3)误差小于1s。

2、主要功能模块

LED点阵显示电子钟系统主要功能模块包括主控模块、LED点阵扫描模块、电子钟模块组成。其中电子钟由显示电路、行驱动电路、列驱动电路、按键电路和复位电路、晶振电路、驱动电路几部分组成。根据具体情况选择合适型号的单片机,锁存驱动器、译码器等硬件设备进行设计。题目六 智能抢答器设计

1、设计要求

(1)设计一个智力竞赛抢答器,可同时供8名选手或8个代表队参加比赛,分别使用一个按钮,编号从0~7。

(2)设置一个控制开关,用来控制系统的清零和抢答开始。

(3)抢答器具有数据锁存功能、显示功能和声音提示功能。抢答开始后,有选手按动抢答按钮,锁存对应编号,并在LED数码管上显示选手的编号,同时灯亮且伴随声音提示。同时锁存电路,禁止其他选手抢答,显示编号一直保持到系统清零。

2、主要功能模块

智能抢答器系统主要功能模块包括主控模块、复位电路、电源电路、选手按键、控制开关按钮,声音提示和数码显示等部分组成。根据具体情况选择合适型号的单片机,蜂鸣器、数码管等硬件设备进行设计。题目七 比赛记分牌设计

1、设计要求

(1)启动时显示为0分,计分范围为0~100分。(2)得分时加上相应的分数,失分时剪去相应的分数。(3)刷新分数的按键按下时,伴随提示音。

2、主要功能模块

比赛记分牌系统主要功能模块包括单片机主控模块、显示模块、按键模块、电源模块等部分组成。根据具体情况选择合适型号的单片机,蜂鸣器、数码管等硬件设备进行设计。题目八 学习型红外线遥控器设计

1、设计要求

(1)适用于编码式红外线遥控型家用电器。(2)可遥控多台家用电器。(3)具有一个学习/控制复用键。

(4)可通过一个设备选择键和各个功能控制键实现对多台设备的常用功能的学习和控制。(5)成本低,抗干扰能力强。

2、主要功能模块

学习型红外线遥控器控制系统主要功能模块包括单片机主控模块、红外接收及发射电路、复位电路、按键及状态指示电路等部分组成。根据具体情况选择合适型号的单片机、一体化红外遥控接收器等硬件设备进行设计。

三、课程设计的要求

1、课程设计的组织形式:将班级分成若干组,每组3~5人,自行分工完成一个题目。

2、课程设计流程:

(1)审题、查阅相关资料,确定系统总体方案;

(2)完成硬件设计,画出硬件设计原理图(包括设备模块选择、搭接线路、计算参数等)

(3)根据所完成的任务、硬件原理图绘制系统软件框图,编制程序;

(4)系统调试,认真客观地记录和观察实验结果,对实验结果进行深入的分析,写出实验心得;

(5)撰写课程设计报告及答辩。

3、课程设计报告的编写要求:(1)设计任务书一份;

(2)硬件设计原理图一份(A4图纸);(3)设计模块说明;(4)软件调试说明;

(5)实验结果分析(包括硬件设计和软件调试分析)。

四、成绩考核方式

1、硬件设计成绩(20%);

2、软件设计成绩(20%);

3、实验调试(40%);

4、实验报告和平时成绩(20%)。

五、教材和参考文献

1、推荐教材

[1]杨居义.单片机课程设计指导.清华大学出版社.2009年9月.[2]李海滨.单片机技术课程设计与项目实例.中国电力出版社.2009年10月.2、教学参考书

[1]付家才.单片机实验与实践.高等教育出版社.2006年3月.[2]李广第.单片机基础.北京航空航天大学出版社.2005年9.[3]朱珍.单片机原理.石油工业出版社.2001年6.[4]胡锦.单片机技术实用教程.高等教育出版社

2004.6.[5]薛钧义.微机控制系统及应用.西安交通大学出版社.2003年2.[6]彭介华.电子技术课程设计指导.高等教育出版社.1999年10月.大纲制定人:李娜、吴泽、赵忠彪

大纲审定人:白政民

单片机接口技术的特点与应用设计 篇6

1 单片机接口技术的特点

单片机本身已经具备了一些常用的功能部件, 而且我们知道单片机的应用主要是面向测控系统, 因此, 与通用计算机的接口技术相比较, 单片机的接口技术有以下特点。

1) 单片机的接口往往更侧重于人机接口和控制接口。通用微机的人机界面是标准键盘和显示器, 较之单片机的人机接口要复杂, 同时功能也强得多。PC机的键盘本身就是一个单片机系统, 可以对100多个键进行扫描, 并具有消除抖动和重键处理等功能。另外, 通用计算机不是面向测控应用的, 因此通常不具备测控接口。如果需要, 也必须使用扩展板;

2) 单片机的接口往往都是由用户自行设计的, 而且不会有统一的标准和规格。而且同一种功能也可以采用不同的接口设计方案。而对于通用微型计算机的接口部件一般是已经设计好的, 用户也只能使用它所提供的功能, 却不能更改其原有的设计。因此, 单片机的接口设计往往需要更多的技巧和经验;

3) 单片机应用系统的规模通常都比较小, 存储器的容量也不大。因此, 很少采用大容量的存储器, 而且通常只采用静态存储器, 很少采用动态存储器。另外, 也很少采用外部存储器 (软盘、硬盘等) 。而在通用微型计算机中, 通常都采用大容量的动态存储器, 软盘和硬盘更是必不可少的大容量的外部存储器。

2 单片机接口技术的应用——PS/2接口技术

作为一个出现较早的输入接口, 基于PS/2的开发技术已经相当成熟, 但是这些成熟的技术主要掌握在部分主板开发商和鼠标键盘开发商手上。而且PS/2协议的官方参考资料已经很难找到, 所以本课题将以监控并分析PS/2鼠标在实际工作中的数据流并结合前人开发经验心得为主要开发依据, 通过不断调试改进来完成PS/2鼠标接口的开发。

PS/2鼠标和键盘履行一种双向同步串行协议。换句话说每次数据线上发送一位数据并且每在时钟线上发一个脉冲就被读入。键盘/鼠标可以发送数据到主机而主机也可以发送数据到设备, 但主机总是在总线上有优先权, 它可以在任何时候抑制来自于键盘/鼠标的通讯, 只要把时钟拉低即可。数据传输过程中的时钟始终都由设备提供, 如果主机要想设备发送数据就必需先告诉设备产生一个时钟信号。

2.1 硬件结构基本设计

PS/2接口与单片机可以直接连接, 将单片机的VCC和GND分别与PS/2接口的4号和3号针脚连接, 实现对设备的供电。将P2.0和P2.1分别和PS/2接口的1号和5号针脚连接, 作为数据线和时钟线实现单片机到PS/2接口的信号传输。

在单片机的P2.2-P2.7引脚上连接六个按键, 分别用来模拟鼠标的上下左右移动以及鼠标的左右键。该模块用来测试PS/2接口设备的基本功能。P1口接8个发光二极管, 在调试和测试中显示相关内容。P3.0-P3.1接串口模块, 实现单片机和PC的通信, 该模块用于扩展和测试。

下面介绍PS/2接口设备与PC通过串口的连接:

这个模块是一个扩展和测试模块, 用来实现串口转PS/2接口, 并且可以测试PS/2接口的功能和性能。

通过串口将PC机同PS/2接口设备连接, 在PC机上编写测试软件, 测试软件通过串口向单片机发送一定的鼠标数据报, 设备将这些数据报转发到PS/2接口, 这样使得调试更加方便灵活, 同时也实现了本课题的PS/2接口设备的一个扩展应用。

51单片机有一个全双工的串行通讯口, 所以单片机和电脑之间可以进行串口通讯。但是电脑的串口是RS232电平的, 而单片机的串口是TTL电平的, 两者之间必须有一个电平转换电路, 我们采用了三线制连接串口, 也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法。

2.2 软件结构设计

PS/2接口设备的软件主要包括六个部分:PS/2接口驱动模块, Reset模式处理模块, stream模式处理模块, 显示处理模块, 按键处理模块, 主程序模块。

各模块的功能如下:

1) PS/2接口驱动模块:实现对PS/2接口的基本操作, 包括向PS/2口发送一个字节数据, 从PS/2口接收一个字节数据等操作的实现;

2) Reset模式处理模块:完成Reset模式操作;

3) Stream模式处理模块:完成Stream模式操作, 提供发送一个完整鼠标数据报的函数;

4) 显示处理模块:提供用于调试和测试的显示函数;

5) 按键处理模块:用六个按键分别模拟鼠标的上下左右移动和左右键, 当按下某个按键时产生相应的鼠标数据报, 并调用Stream模式处理模块中的发送鼠标数据报函数, 数据包发送到主机;

6) 主程序模块:协调各模块稳定运行。

2.3 PS/2鼠标接口设备状态转换

通过分析PS/2鼠标在实际使用过程中的信号了解到, 在鼠标上电一定时间后主机会向鼠标发送多次复位信号, 鼠标上电机进入Reset模式。Reset模式下主机会对鼠标进行检测和配置, 这个过程也被叫做鼠标的初始化。主机在重新启动和休眠唤醒时也会让鼠标进入Reset模式并初始化鼠标。Stream模式下设备可以向主机发送鼠标数据报, 当然主机在这个时期也可能短暂的抑制鼠标数据报的发送。

摘要:本文首先介绍了单片机接口技术的特点, 之后对PS/2鼠标接口单片机设备进行扩展, 主要完成了串口转PS/2鼠标硬件和软件结构设计。

关键词:单片机,接口技术,PS/2

参考文献

[1]黎爱琼, 陈家林.基于嵌入式微处理器的PS/2鼠标驱动设计[J].测控技术, 2006, 2:71-74.

单片机的GPIB接口电路设计 篇7

关键词:单片机,GPIB,接口,电路设计,接口电路

GPIB是国际电子电气工程师协会于1974年制定的一种标准接口总线, 是一种面向程控仪器的通用接口总线, 由于其数据传输可靠稳定、能实现有效跟踪等优点, 自1974年推出以来, 便一直受到各大程控仪器厂商的青睐, 得到了广泛应用, 成为了电子测量仪器领域中除了RS232C外最为广泛的标准接口总线。不过, RS232C主要应用于数据终端同通信设备间的, 而GPIB则更适用于自动测试系统的建立。本文针对单片机在自动化仪器中的广泛应用, 在分析GPIB接口的基础上, 对AT89C51单片机的GPIB接口电路设计进行了研究, 得出了有效的设计方案, 能广泛应用于单片机程控仪器之中。

1 GPIB总线相关参数

GPIB总线最初被称为IP-IB总线, 后来被美国国家标准化组织接纳命名为IEEE标准488。GPIB总线是24芯并行无源总线, 包括8条数据线、3条信号交换线、5条控制信号线以及8条地线, 其数据传输方式采用位并行、字节串行的双向民间步传输方式。其中, 8条数据线分别是DIO1~DIO8, 3条信号交换线分别是AV、NRFD、NDAC, 5条控制信号线分别是ATN、REN、IFC、EOI和SRQ。消息采用负逻辑, 其中低电平为逻辑1, 高电平为逻辑0。

通过GPIB总线, 可以将计算机、数字示波器、数字电压表等多种设备连接起来组成一个能完成特定功能的自动测试系统。但在GPIB总线上连接的设备, 最多不能超过15台, 如果超过15台, 需要利用接口槽来扩充。在使用扩展器的情况下, GPIB总线传输距离能达到1000m。

2 单片机的GPIB接口电路的实现

GPIB接口可通过中小规模集成电路、软件模拟、GPIB专用大规模集成电路三种方式来实现。其中采用中小规模集成电路和软件模拟都比较复杂, 而且很难完全实现GPIB的全部功能, 在可靠性和应用效率上较差。因此, 在基于单片机的GPIB接口电路设计中, 我们采用GPIB专用大规模集成电路来实现GPIB接口电路的设计。

2.1 接口电路相关芯片

AT89C51:AT89C51是带有4K字节FLASH存储器的CMOS 8位微处理单片机, 由于采用了ATMEL高密度非易失存储器制造技术, 在稳定性和可靠性方面都有较好的表现, 并且与MCS-51指令集和输出管脚完全兼容, 包括32可编程I/O线, 5个中断源和可编程串行通道, 从而为众多嵌入式控制系统提供了高性价比的构建方案。管脚中, VCC为供电、GND为接地、P0口为8位漏级开路双向I/O口, P1口为内部上拉电阻8位双向I/O口, P2口同样为内部上拉电阻8位双向I/O口, P3口是8个带内部上拉电阻的双向I/O口, 可作为AT89C81的一些特殊功能口使用, RST为复位输入, /PSEN为外部程序存储器选通信号。基于AT89C51没有稳态逻辑的特性, 因此可以在低到零频率的状态下静态逻辑。

74LS244:74LS244是一种3态8位缓冲器, 通常作为总线驱动器使用, 由于没有锁存功能, 因此只是一个地址暂存器, 根据所获控制信号将总线上的地址码暂存起来。可以采用分时复用方法, 在同一条总线上传输数据和地址。

74LS245:74LS245是8路同相三态双向总线收发器, 是GPIB接口电路设计中常用的芯片之一, 主要承担驱动led或其它设备任务, 可以实现数据的双向传输, 并具备双向三态功能, 可输出数据, 也可输入数据。

74LS273:74L273是带有清除功能的8位触发器, 当清除端保持高电平状态时, 具有地址锁存功能, 其控制端是11脚CLK, 采用上升沿锁存机制。

CD4069:CD4069采用六个COS/MOS反相器电路构建, 在GPIB接口电路中主要是作通用反相器使用, 使用于不需要TTL驱动以及逻辑电平转换的电路之中。

2.2 硬件框架示意图

由于采用了大规模集成电路接口芯片, 因此本方案基于单片机AT89C51的GPIB总线的接口电路板的硬件实现较为容易, 仅通过74LS244、74LS245、74LS273以及CD4069四个芯片, 即可轻易地从硬件上实现基于单片机AT89C51的接口电路。

3 结语

目前, 基于GPIB总线的自动化程控仪器来构建自动测试控制系统, 已经成为未来机电自动化的主要发展方向。结合单片机数据处理和可编程能力的加强, 能够更好地改变传统仪器手工操作、单台使用的缺陷, 有利于更好地实现机电自动化, 现好地发挥仪器设备的能力, 提高工作效率, 提高经济效益。本方案所设计的基于单片机AT89C51的GPIB接口电路板可移植性强, 能很好地适应多种自动化程控仪器的需要, 并且具有接口电路简单、维护修理容易等有点, 在实际应用中几乎不再需要其它任何辅助电路, 是一套廉价、高效的GPIB接口电路设计方案, 有着极大的实际应用价值。

参考文献

[1]刘思久, 全宏波, 江秀丰.USB-GPIB总线控制器[A].全国第二届总线技术与测控系统工程学术报告会论文集[C], 2001

[2]吴正.基于GPIB的自动测试系统组态软件的研究[D].合肥工业大学, 2002

用AVR单片机设计无线键盘接口 篇8

个人计算机早已走入千家万户, 成为工作、生活不可或缺的组成部分。但种类繁多的计算机接口线, 如电源线、显示器线、打印机电缆、网线、音箱线、鼠标线、键盘线以及各种各样的USB接口线, 常常计算机的后面凌乱不堪。随着无线技术的迅速发展, 计算机的各种附属设备也有无线化的趋势。其中最典型的是无线键盘和无线鼠标。当前的大部分无线键盘采用红外技术实现键盘与计算机之间的通信, 将其最大作用距离限制在2米以内。本文设计了一种以单片机为核心的、利用无线射频技术的无线键盘接口, 可以有效克服红外接口无线键盘作用距离短的问题。

2、AVR单片机特点

AVR单片机吸取了PIC及8051等系列单片机的优点, 同时在内部结构上还作了一些重大改进, 其主要的优点如下:

(1) 内嵌高质量的Flash程序存储器, 可反复擦写, 支持ISP和IAP, 便于产品的调试、开发、生产、更新。

内嵌长寿命的EEPROM, 可长期保存关键数据, 避免断电丢失。片内大容量的RAM不仅能满足一般场合的使用, 同时也更有效的支持使用高级语言开发系统程序。

(2) 高速度、低功耗, 具有SLEEP (休眠) 功能。

AVR的一条指令执行速度可达50ns (20MHz) , 而耗电则在1uA~2.5mA间。AVR采用Harvard结构, 以及一级流水线的预取指令功能, 即对程序的读取和数据的操作使用不同的数据总线, 因此, 当执行某一指令时, 下一指令被预先从程序存储器中取出, 这使得指令可以在每一个时钟周期内被执行。

(3) 外设丰富。

AVR单片机包含的外设有I2C、SPI、EEP-ROM、RTC、看门狗定时器、ADC、PWM和片内振荡器等, 可以真正做到单片。

(4) 抗干扰性好。

有看门狗定时器 (WDT) 安全保护, 可防止程序走飞, 提高产品的抗干扰能力。此外, 电源抗干扰能也很强。

(5) 高度保密。

可多次烧写的Flash且具有多重密码保护锁定 (LOCK) 功能, 因此可低价快速完成产品商品化, 且可多次更改程序 (产品升级) , 方便了系统调试, 而且不必浪费IC或电路板, 大大提高了产品质量及竞争力。

(6) 驱动能力强。

具有大电流10~20mA (输出电流) 或40mA (吸电流) 的特点, 可直接驱动LED、SSR或继电器。

(7) 低功耗。

具有6种休眠功能, 能够从低功耗模式迅速唤醒。

(8) 超功能精简指令。

具有32个通用工作寄存器 (相当于8051中的32个累加器) , 克服了单一累加器数据处理造成的瓶颈现象。片内含有128-4K字节SRAM, 可灵活使用指令运算, 适合使用功能很强的C语言编程, 易学、易写、易移植。

(9) 中断向量丰富。

34个中断源, 不同中断向量入口地址不一样, 可快速响应中断。

(10) 可靠性高。

AVR单片机内部有电源上电启动计数器, 当系统RESET复位上电后, 利用内部的RC看门狗定时器, 可延迟MCU正式开始读取指令执行程序的时间。这种延时启动的特性, 可使MCU在系统电源、外部电路达到稳定后再正式开始执行程序, 提高了系统工作的可靠性, 同时也可节省外加的复位延时电路。此外, 内置的电源上电复位 (POR) 和电源掉电检测 (BOD) , 也有效提高了单片机的可靠性。

3、总体设计

无线键盘的总体组成框图如图1所示。系统主要由一个常规的102键ps/2键盘, 两个AVR单片机, 一个433.92MHz的发射装置和一个433.92MHz的接收装置构成。其中AVR单片机选用的是ATmega32。

由图可以看出, 无线键盘主要由两部分组成:键盘端和计算机端。在键盘端, 一片ATmega32单片机一头连接键盘, 另一头连接着射频发射装置。键盘与单片机及单片机与射频发射装置之间的通信都通过单片机内置的UART接口来完成。在计算机端, 另一片ATmega32单片机与射频接收装置及计算机相连。接收装置与单片机及单片机与计算机之间的通信同样是利用单片机内置的UART接口来完成。

4、硬件设计

4.1 计算机端电路

计算机端的硬件电路如图2所示。计算机通过6针微型标准接头与单片机相连, 并为单片机和射频接收装置供电。时钟线与单片机PORTA口的第5个引脚相连, 数据线则与PORTA口的第4个引脚相连。这些引脚设置为带上拉电阻的输入端口, 以保证空闲时时钟线与数据线都能被拉到高电平。PORTA口的第7个引脚串接一个510Ω的电阻与时钟线相连, PORTA口的第6个引脚串接另一个510Ω的电阻与数据线相连。这样就可以分别用PORTA口的第7引脚和第6引脚将时钟线与数据线下拉到低电平, 而不必将第5和第4引脚短接到地以避免端口引脚的烧毁。射频接收装置采用的是Radiotronix的RCR-433-RP产品, 该设备接收从无线键盘发送过来的信息, 然后将其通过单片机的RXD发送到单片机。

4.2 键盘端电路

键盘端的硬件电路如图3所示。键盘通过6针微型标准插座与单片机连接。键盘数据线与单片机PORTD的第7个引脚相连。时钟线则与单片机的第17个引脚相连, 也即是说时钟线连接的是单片机的外部中断1端口。时钟线信号出现下降沿时触发单片机的外部中断, 键盘将1位数据发送到单片机。然后单片机通过UART的TXD引脚将这位数据发送到射频发射装置。发射装置采用的是Radiotronix公司的RCT-433-AS, 该装置将从单片机接收的数据发送到计算机端。

5、软件设计

5.1 计算机端软件

计算机端的单片机软件主要完成从UART口接收数据。数据以字节为单位发送。在每个字节数据之前, 有一串值为0xAA的初始化字节流。这样接收装置可以自动调节增益以便更好地处理输入数据。在初始化的字节流后面是0xFF字节, 这表明下一个字节将是有效的数据字节。由于单片机利用UART从接收装置处接收数据, 因此要不断有规律地查询UART检查是否新接收到数据。单片机利用如图4所示的状态机对所接收的数据进行解码。

5.2 键盘端软件

键盘端单片机软件主要完成两项任务:一是从键盘读取数据;二是将数据发送到发射装置。当敲击键盘时, 键盘首先要在时钟线上产生一个时钟信号, 同时将数据送到数据线。一旦时钟信号变低, 单片机响应中断, 从数据线上读取1字节数据。为了充分利用接收装置的自动增益控制功能以更准确地读取数据, 在每个字节之前有11字节的值为0xAA的初始化字节流及1字节的0xFF。此外, 还利用定时器2跟踪数据发送的时间, 如果超过25毫秒数据还没有发送成功, 那么单片机控制发射装置不断地循环发送0xAA, 0xFF, 0xAA, 0xFF。这样接收

6、结束语

本文简单介绍了AVR单片机的主要特点, 并以ATmega32单片机为核心设计了一个无线键盘接口。该接口主要由两个ATmega32单片机, 一个射频发射装置和一个射频接收装置构成。给出了完整的硬件电路, 并介绍了软件的基本工作过程。该接口与普通的ps/2键盘相连即构成一个无线键盘。这种无线键盘能有效克服普通红外无线键盘作用距离比较短的缺点。

摘要:AVR单片机是ATMEL公司研发的增强型内置Flash的RISC高速8位单片机。本文利用AVR单片机设计了一个无线键盘接口。该接口一端连接计算机, 另一端连接普通的ps/2键盘, 通过发射射频信号实现键盘与计算机之间的无线通信, 有效克服了红外接口作用距离太短的问题。

关键词:单片机,AVR,无线键盘

参考文献

[1]、马潮, AVR单片机嵌入式原理与应用实践, 北京航空航天大学出版社, 2007

[2]、杨正忠耿德根, AVR单片机应用开发指南及实例精解, 中国电力出版社, 2008

单片机接口 篇9

单片机的系统扩展包括并行扩展和串行扩展,串行扩展占用I/O口少、电路简单,从而能有效缩小硬件体积、降低功耗,近年来得到了广泛应用。除了早期传统的UART串行口以外,后来陆续出现了I2C、SPI、1-WIRE等标准串行总线和用于单片机的CAN和USB标准串行总线[1],另外还出现了一些专用非标准的三线串行总线。51系列单片机的串行系统扩展通常采用串行同步传输方式,用几个并行I/O口虚拟串行口的时序和运行状态,在单片机上构建模拟的串行口,亦即严格遵循数据传输时序设计数据传输子程序,设计时常用到软件延时方法,一定要精确设计延时时间[2]。三线串行总线器件一般使用时钟信号线、数据I/O线和片选/复位线进行半双工串行数据传输,但不同器件传输时序各不相同,没有统一标准,编程时需要分别对待。

2 三线串行总线时钟芯片DS1302

时钟芯片DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路[3],它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8bit的用于临时性存放数据的RAM寄存器。

2.1 DS1302的结构和引脚功能

DS1302结构如图1所示,引脚功能简介如下:

(1)VCC2:主电源。

(2)VCC1:后备电源,在主电源关闭的情况下保持时钟的连续运行,主电源打开时DS1302由Vcc1或Vcc2两者中的较大者供电。

(3)X1、X2:振荡源,外接32.768KHz晶振。

(4)GND:电源地。

(5)RST:复位/片选线,置高电平启动数据传送,允许地址/命令序列送入移位寄存器,在传送过程中RST置低时终止数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。

(6)I/O:串行数据输入输出端(双向)。

(7)SCLK:时钟信号输入端。

2.2 DS1302的读写时序

除了电源和接地,DS1302只有三根线SCLK、I/O和RST和单片机连接。每进行一次读写操作最少需要读写两个字节,第一个字节是控制字,第二个字节是要读、写的数据。读写数据时按从低位到高位的顺序进行。

向DS1302写一个字节数据的时序如图2所示:先将RST置高、SCLK置低,然后单片机将控制字的位0放到I/O线上,当I/O线的数据稳定后,将SCLK置高电平,DS1302检测到SCLK的上升沿后就将I/O线上的数据读取,然后单片机将SCLK置低,再将控制字的位1放到I/O线上,如此反复,将一个字节控制字的8个位传给DS1302。接下来就是传一个字节的数据给DS1302,当传完数据后,单片机将RST置为低电平,操作结束。

从DS1302读一个字节数据的时序如图3所示。读操作开始写控制字的过程和上面的写操作一样,但是单字节读操作在写控制字的最后一个位,SCLK还在高电平时,DS1302就将数据放到I/O线上,单片机将SCLK置为低电平后数据锁存,单机机就可以读取I/O线上的数据。如此反复,将一个字节的数据读入单片机。

读与写操作的不同在于:写操作在SCLK低电平时单片机将数据放到I/O线上,在SCLK置高的上升沿后,将数据写入DS1302;而读操作在SCLK高电平时DS1302把数据放到I/O线上,在SCLK置低的下降沿后,单片机从I/O线上读取数据。

2.3 DS1302的数据读、写子程序

(1)向DS1302写一个字节数据子程序wr1b

(2)从DS1302读一个字节数据子程序rd1b

3. D/A转换芯片TLC5615CP

3.1 TLC5615CP芯片的引脚

D/A转换芯片TLC5615CP是美国TI公司生产的8脚直插式串行10位DAC芯片[4],其引脚分布如图4所示,各引脚功能如下:

(1)DIN:串行二进制数据输入端。

(2)SCLK:串行时钟输入端,用于控制TLC5615CP的时序。

(3):片选端,低电平有效。

(4)DOUT:用于级联的串行数据输出,用于接另一个TLC5615CP的DIN引脚。

(5)AGND:模拟地。

(6)REFIN:基准电压输入端。

(7)OUT:DAC模拟电压输出端。

(8)Vcc:电源正极。

3.2 TLC5615CP主要技术参数

(1)工作电压:5V。

(2)分辩率:10位。

(3)转换时间:12.5us。

(4)输出类型:电压。

(5)通道数:1。

(6)外部输入基准电压:推荐2V~(VDD-2)。

(7)最大模拟输出电压:2×基准电压。

3.3 TLC5615CP的内部寄存器

(1)16位移位寄存器:存放串行输入的16位二进制数据,16位二进制数据的结构,如表1所示。

其中:最高4位虚拟数据任意且不用传送,最低2位填充数据任意但需要传送,所以,进行D/A转换时实际传送的数据为12位,高位在前。

(2)10位DAC寄存器:串行输入的12位二进制数据进入16位移位寄存器后,将其中10位有效数据送入DAC寄存器锁存,供DAC电路进行转换。

3.4 TLC5615工作时序

TLC5615的工作时序如图5所示,当为低电平时,在每一个SCLK时钟的上升沿将DIN输入的一位数据移入16位移寄存器(高位在前),在下降沿将该位数据送DOUT输出给另一个TLC5615CP的DIN引脚(如果有的话),12位数据移完后,在的上升沿将16位移位寄存器的10位有效数据锁存于10位DAC寄存器,供DAC电路进行转换(转换时间为12.5us)。注意,的上升和下降沿都必须发生在SCLK为低电平期间。

3.5 D/A转换子程序dac

把10位有效数据加任意2位填充位送TLC5615CP进行D/A转换。

4 A/D转换芯片TLC549CP

4.1 TLC549CP芯片的引脚

A/D转换芯片TLC549CP是美国TI公司(德州仪器公司)生产的8脚直插式串行8位ADC芯片[5],其引脚分布如图6所示,各引脚功能如下:

(1)REF+:基准电压正极。

(2)ANALOG IN:模拟量输入端。

(3)REF-:基准电压负极。

(4)GND:电源地。

(5):片选端,低电平有效。

(6)DOUT:数字量串行输出端。

(7)SCLK:串行时钟输入端,用于控制TLC549CP的时序。

(8)VCC:电源正极。

4.2 TLC549CP的主要技术参数

(1)工作电压VCC:3~6V。

(2)分辩率:8位。

(3)转换时间:17us。

(4)通道数:1。

(5)外部输入基准电压:REF+:2.5V~VCC+0.1,REF-:-0.1~2.5V。

(6)量程:0V~VCC,但输入≥REF+时转换为0FFH,输入≤REF-时转换为00H。

4.3 TLC549CP的工作时序

TLC549的工作时序如图7所示,先初始化:置高、SCLK置低;此后当变为低电平后等待1.4us以上,前次转换结果的最高有效位MSB自DOUT端输出,接着要求自SCLK端输入8个时钟信号,前7个时钟信号的下降沿输出前次转换结果的第6-0位并在第4个信号的下降沿后,片内采样/保持电路对输入模拟量开始采样,第8个时钟信号的下降沿使片内采样/保持电路进入保持状态并启动A/D转换,转换时间为36个系统时钟周期,最大为17us,在这段时间内,要求保持高电平或者SCLK保持低电平。

4.4 A/D转换子程序adc

摘要:在单片机的串行总线扩展中,时钟芯片DS1302、D/A转换芯片TLC5615CP、A/D转换芯片TLC549CP等是常用的三线串行总线器件,它们都使用时钟信号线、数据I/O线和片选/复位线进行半双工同步串行数据传输,但数据传输时序各不相同,在单片机上它们的虚拟串行接口需分别独立设计,设计时要严格遵循器件的数据传输时序。

关键词:单片机,串行总线,虚拟接口,DS1302,TLC5615CP,TLC549CP

参考文献

[1]欧伟明,等.单片机原理与应用系统设计[M].北京:电子工业出版社,2009.

[2]张江印.51系列单片机软件延时的计算方法[J].电脑编程技巧与维护,2011,8:82-84.

[3]姚德法,张洪林.串行时钟芯片DS1302的原理与使用[J].信息技术与信息化,2006,(13)1:45-49.

[4]http://focus.ti.com.cn/cn/lit/ds/symlink/tlc549.pdf.

单片机接口 篇10

单片机应用系统的外围扩展已经从并行方式过渡到以串行方式为主的时代,目前越来越多的新型外围器件采用了串行接口,常用的串行接口方式有UART,SPI,I2C等。

在进行单片机应用系统设计时常用的EDA软件如Multisim、Protel、Or CAD等对涉及单片机的电路系统无法进行仿真,而专门针对单片机仿真的软件如果离开仿真仪,由于没有大量的外围器件仿真模型库的支持,仅仅进行纯软件仿真的效果也不好,而Proteus软件是一个可以实现单片机及其外围器件协同仿真的设计工具[1]。

将Proteus的虚拟仿真技术应用于单片机系统的设计中,具有明显的经济性和很好的可移植性,本文以单片机系统中几种典型串行接口的设计为例,使用Proteus这一强大的EDA工具作为开发的主要支撑环境,描述了系统的设计和仿真过程。

2. Pr ot eus简介

Proteus软件是英国Labcenter公司推出的EDA工具软件,是一个电子设计的实验平台,涵盖了电子技术实验室和单片机应用实验室的全部功能。Proteus是一个基于Pro SPICE混合模型仿真器,完整的嵌入式系统软硬件设计仿真平台,它包含ISIS和ARES应用软件,其中ISIS是智能原理图输入系统,系统设计与仿真的基本平台;ARES是高级PCB布线编辑软件。

其革命性的功能是将电路仿真和微处理器仿真进行协同,直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过动态器件如电机、LED、LCD等,配合系统配置的虚拟仪器如示波器、逻辑分析仪等可以实时看到运行后的输入输出效果,其主要特点如下:

(1)可以仿真、分析各种模拟器件和集成电路,其最大的特点是可以支持许多型号的单片机仿真以及各种外围芯片,该软件的单片机仿真库里有8051系列、PIC系列、AVR系列、68000系列等,Proteus的仿真基于SPICE3F5内核,因此也能像其它的EDA软件那样进行电路分析,如模拟分析、数字分析、混合信号分析、频率分析等;

(2)提供了虚拟示波器、逻辑分析仪、信号发生器、计数器、电表、虚拟终端(使用电脑的键盘和显示器通过串口与外部的单片机系统通信)等虚拟仪器仪表供选择用;

(3)能够进行SCH原理图与PCB印制板电路图的设计;

(4)能够无缝整合其它优秀的第三方单片机开发工具如keilμVision,并进行联调,以便达到更好的仿真效果[2]。

Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果,这样就弥补了实验和工程应用间脱节的矛盾和现象。Proteus支持从原理图设计、单片机编程、系统仿真到PCB图设计的各个阶段的设计工作,真正实现了从概念到产品的完整设计。

3. 系统设计与仿真

3.1 硬件电路设计

系统要实现的主要功能是单片机通过串行通信口从PC计算机接收命令,通过I2C总线方式对扩展的数据存储器AT24C01芯片进行读、写操作,系统原理框图如图1所示。

I2C总线是一种用于IC器件之间连接的二进制总线。它通过SDA和SCL两根线与连到总线上的器件之间传送信息。总线上每个节点都有一个固定的节点地址,根据地址识别每个器件,可以方便地构成多机系统和外围器件扩展系统。其传输速率为100kb/s(改进后规范为400kb/s),总线驱动能力为400p F。

UART(Universal Asynchronous Receiver/Transmitter)是一种通用异步收发传输器,可以和各种外设,如RS-232接口通信的全双工异步系统,具有传输距离远、成本低、可靠性高等优点。8051系列单片机内部集成了一个功能很强的全双工UART串行通信口,可以同时接收和发送数据,能够方便地和远端上位机进行通信。

根据原理框图,在Proteus原理图设计环境ISIS中绘制电路图,其中显示电路使用4位数码管,EEPROM芯片使用AT24C01,单片机芯片使用AT89C51,UART接口通过MAX232完成电平转换,其中晶振和复位电路不影响仿真,可以省略。添加元器件并连接硬件电路,在Proteus中绘制原理图和Protel等软件相似。

为方便后面的仿真调试工作,将ISIS提供的虚拟仪器即虚拟终端和I2C调试器添加进电路图中并与被监控的电路进行连接,其中虚拟终端用于仿真远端上位机发送数据与单片机进行串口通信的情况,I2C调试器用于观察AT24C01芯片内部存储器的变化情况,具体的系统电路图如图2所示。

3.2 系统软件设计

软件的主要功能包括对UART串行通信的处理和根据上位机命令对24系列芯片的读写操作。由于8051系列单片机没有硬件I2C接口,因此必须用软件模拟I2C接口的时序,以便对24系列芯片进行读、写等编程操作,为方便使用可将其设计成一个单独的驱动程序包。

其中根据硬件连接定义Sda和Scl,定义如下:

Sbit Scl P3^6;//串行时钟

Sbit Sda P3^7;//串行数据

为便于操作,规定了上位机命令的格式,上位机可以发出2条命令,每条命令由3个字节组成。在第1条命令中,第一个字节是0,表示向EEPROM中写入数据,第2个字节表示要写入的地址,第3个字节表示要写入的数据。在第2条命令中,第一个字节是1,表示读EEPROM中的数据,第2个字节表示要读出的单元地址,第3个字节无意义,可以取任意数值。

对UART串行通信的处理使用中断方式编程,采用缓冲器指针进行计数,该计数器在0~2之间循环,保证能够完整接收到上位机发出的3个字节的命令。在串行中断中,如果判断是接收中断,就将SBUF中的数据送到RecBuf[Count]数组中,然后将计数器Count的值加1;如果结果大于或等于3,就将Count置0,程序流程图如图3所示。

因为Proteus可以非常方便地与KeilμVision实现联调,可在Keil环境中建立项目文件,并进行编译和同步调试工作。要实现与Proteus同步调试需要对Keil进行设置,并启用Proteus的ISIS中Debug菜单下的Use Remote Debug Monitor选项,这方面的工作本文不再赘述,项目主程序部分如下所示:

3.3 系统仿真分析

进行仿真测试之前,应对相关测试仪器进行设置。在串口模型和虚拟终端的属性对话框中可以设置波特率、数据位数、奇偶校验和停止位等串行数据传输的属性,用以仿真单片机与上位机PC的双向通信。虚拟终端代表计算机发送或接收数据的情况,设置时应注意串口模型和虚拟终端的串口属性设定与单片机软件编程中的设定保持一致。

设置完成后,在ISIS设计环境中,打开前面图2的系统电路图,用鼠标双击单片机芯片,在打开的对话框中将在Keil环境中项目生成的hex后缀文件装载,该操作相当于将软件固化到单片机程序存储器中,然后点击仿真“运行”按钮,系统会进入仿真运行状态[4]。

以其中的一次测试为例,进入仿真运行状态后,在虚拟终端界面中从计算机键盘键入“0 4 7”,表示从上位机发送串行数据到单片机中,其中“0”表示执行“写”操作,“4”表示EEPROM的地址,“7”表示数据。单片机串口中断接收后,将地址和数据分别显示到数码管,其中前2位显示地址信息,后2位显示数据信息,此时,按下“暂停”按钮,可以通过“Debug”菜单将“8051 CPU Internal Memory”窗口和“I2C Memory Internal Memory”窗口调出显示,观察单片机内部数据存储器和24C01存储器相关单元的状态变化,从图4中可以看到在存储区中有变化的部分会被高亮显示,非常便于观察和帮助分析程序运行情况,仿真运行图如图4所示(图中的直线是为方便观察被笔者所加的标注),其中左上图为虚拟终端、右上图为数码管、左下图为单片机内部数据存储器、右下图为24C01存储器。

多次软件仿真运行的结果显示,该仿真系统硬件电路连接正确,软件实现了要求的功能。仿真运行成功后,将目标文件下载到实际系统的单片机芯片上并进行验证,运行结果与仿真完全相同。

4. 结束语

使用Proteus中的各种仿真模型和虚拟仪器快速搭建出单片机开发环境,可以方便地对开发初期的概念进行产品快速原型化,大大简化了硬件电路测试和系统调试过程中电路板制作、元器件安装、焊接等过程,硬件投入少,实验损耗小,缩短了设计周期,降低了生产成本,并且Proteus的仿真结果与实际电路运行结果间的误差很小,提高了设计成功率。

Proteus嵌入式系统仿真和开发平台充分利用了现代EDA设计的最新成果,给开发者提供了一个功能强大的可视化虚拟硬件开发环境,让单片机的设计开发更加便捷和经济。

参考文献

[1]周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.

[2]马忠梅,籍顺心,张凯等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2007.

[3]Atmel Corporation.Atmel AT24C01A/02/04/08/16Data Sheet,1998.http://www.atmel.com.

上一篇:会计诚信与监督下一篇:球罐安装