基于ATmega8单片机多功能实验仪设计解决方案

发布者:云淡风轻2014最新更新时间:2019-12-26 来源: 21ic关键字:ATmega8  单片机  多功能实验仪 手机看文章 扫描二维码
随时随地手机看文章

由于嵌入式系统应用技术的不断发展,对于核心处理器性能的要求越来越高,一些传统的51系列控制芯片已经难以胜任许多复杂的任务。因此,我们通过调研分析,自行开发了一套基于ATmega8高性能系列单片机的实验开发系统。ATMEL公司的ATmegs8单片机是一种具有独特结构的8-bit RISC CPU,其在线自编程Flash和单时钟指令,为C语言、Basic语言优化的指令系统设置,以及丰富的片载外围接口电路,使功能强大的ATmegs8单片机成为一款高度灵活和高性价比的芯片,为许多高端嵌入式系统设计提供了优秀的解决方案。


1 系统总体设计

单片机多功能实验仪硬件的总体设计原理框图如图l所示:

a.JPG

单片机实验开发应用系统中ATmega8 MCU核心模块通过RS-232与PC上位机进行通信,充分利用PC机的资源。电源部分采用USB与PC机进行连接,采用上位机的电源。另外,该实验开发系统设计有下载器,只需一条下载线即可开始工作,不需购买昂贵的编程器,使用方便,节约了成本。可以保证实验系统具有较高的性价比。


在实验软件上,既可以使用C语言也可以使用BASCOM-AVR编程软件。BASCOM-AVR编程软件为开发AVR单片机提供了功能强大、简洁方便的软件平台,其与QB高度兼容的BASIC语言易懂好学;功能齐备的硬件仿真平台,使单片机的学习、实验、开发,显得简单、容易而富有乐趣,许多设计在计算机仿真中就可得知结果。有了BASCOM-AVR,使大规模地推广普及AVR单片机成为可能,为许多高端嵌入式系统设计提供了优秀的解决方案。


2.1 CPU模块的设计

ATmegs8是ATMEL公司在2002年第一季度推出的一款新型AVR高档单片机。ATmegs8内部集成有丰富的硬件接口电路,2个具有比较模式的预分频器(Separate Prescale)的8位定时/计数器。1个预分频器(Separat Prescale),具有比较和捕获模式的16位定时/计数器,1个具有独立振荡器的异步实时时钟(RTC),3个PWM通道,可实现任意《16位、相位和频率可调的PWM脉宽调制输出,8通道A/D转换(TQFP、MLF封装),6路10位A/D+2路8位A/D,6通道A/D转换(PDIP封装),4路10位A/D+2路8位A/D,1个I2C的串行接口,支持主/从、收发四种工作方式,支持自动总线仲裁,1个可编程的串行USART接口,支持同步、异步以及多机通信自动地址识别,1个支持主/从(Master/Slave)、收/发的SPI同步串行接口,带片内RC振荡器的可编程看门狗定时器,片内模拟比较器。围绕核心芯片所设计的CPU模块如图2所示。

b.JPG

图中的复位电路RESET有二种选择:外部复位,J10必须插上短路块;或PC6作I/O口用,J10拔出短路块。


图中的晶振电路XTAL1和XTAL2分别是片内振荡器的反向放大器的输入、输出端,外接一个晶体振荡器,通过对熔丝位CKOPT编程和设定C9、C10的取值范围(12μm~22 μm)使ATmega8有较宽的工作频率范围(3.O MHz~8.0 MHz)。晶振有两种选择:外接8 MHz无源晶振,(也可外接8 MHz有源晶振,当外接无源晶振不能起振时,用有源晶振就能解决问题,超频也能起振),或用内部RC振荡器。当J11与J12插上短路块时,为用外接无源晶振;当J11与J12不插短路块时,则用ATmega8内部振荡器。


另外,模块还设计有JTAG接口和ISP编程接口(ISP即in-System Programmable)。JTAG接口可以通过下载器将单片机与微型计算机的并行接口连接。ISP编程接口是在线下载或读取芯片内部程序时用的,各引脚的含义如图3所示。其中l脚与ATmega8的PB3连接。4、6、8、lO接地,5脚与ATmega8的PC6连接,7脚与ATmesa8的PB5连接,9脚与ATmega8的PB4连接。

c.JPG

2.2 下载器模块

下载器由接口板和连接电缆组成。接口板的原理图见图4。图中U201是8缓冲器74HC244电路,用作计算机并口和单片机的缓冲隔离。连接器CN202是通用的DB25针插头,与上位机连接,进行通信;其中4、5脚控制U201芯片,在其低电平时允许数据正常传输,高电平时74HC244的输出呈高阻状态;7脚输出数据到单片机;6脚是时钟信号;9脚是输出复位信号;10脚是接收从单片机读出的数据。下载电缆采用10芯扁平电缆,两头压有IDC插头。一端接下载器,另一端接最小系统板上的ISP口JP1。收藏


d.JPG

2.3 实验仪其他电路设计

2. 3. 1 A/D转换电路

图5为A/D转换电路,ATmega8内部有一个1O位精度的A/D转换器,其精度是±2LSB,非线性度为O.5 LSB,转换时间为65μs~260μs,PC0~PC3模拟输入通道的转换精度是10位,PC4~PC5模拟输入通道的转换精度是8位,本实验仪使用PC5输入,参考电压Vref采用芯片内部提供的参考电压,在外部用电容C5和C6将引脚接地可以提高ADC部分的抗干扰能力。通过调节W1可以改变输入的电压。CZ4为外部A/D转换接口。

e.JPG

LinkedIn2.3.2 LED显示与脉宽调制电路

为了配合学生基本I/O口设计要求,在实验仪上扩展有LED/LCD显示接口电路和脉宽调制电路,如图6所示。


脉宽调制电路利用ATmega8单片机的一个输出端子OC2,是PB3引脚的第二功能,可以作为比较匹配输出或PWM输出。在实验板上将跳线器J6断开即是PWM的输出。该输出的PWM除了可以直接驱动直流电动机的PWM驱动信号,还可以经过RC平滑滤波用做数字量/模拟量转换。另外,使用PWM驱动,功率半导体器件的功耗大大低于模拟信号驱动。


2.3.3 I2C电路和串行接口的设计

I2C电路为由AT24C02芯片与串行TWI总线(PC4、PC3)连接形成的。其中PC4为SCL时钟线,PC2为SDA数据线,通过AT24C02芯片形成I2C总线器1/4(图略)。串行接口电路分为与PC机的通信接口和两个单片机之间的通信接口,见图7中的CZ3(CON3单片机串行通信接口)和CZ4(CON2单片机与PC机串行通信接口)。CZ2是RS232接口,可做PC机与ATmega8的异步串行UART通讯用,可把PC机屏幕作为用户显示终端使用,可充分利用PC机资源。

f.JPG

在使用该接口与微机进行通信时使用RS-232接口线,RS-232属于单端信号传送,适应于短距离或带调制解调器的通讯场合。


经过以上电路的设计,根据电路原理完成的PCB板的制作,焊接相应元器件并进行调试后形成的实验仪硬件开发板如图8所示。

f.JPG

3 BASCOM-AVR集成开发软件

ATMEL公司的AVR系列单片微控制器是基于新的精简指令RISC结构的,其开发目的就是在于能采用高级语言编程,从而能高效地开发出目标产品。目前国际上已有许多公司推出了C、Basic等基于高级程序设计语言的AVR开发软件和平台。基于ATmega8的实验开发板上使用以BASIC


语言为手段开发平台一BASCOM-AVR。它的程序设计简洁、方便,专用的面向各种通用接口,且具有功能强大的语句,实物图形化的仿真平台等特点,配合AVR单片微控制器程序存储器可多次编程在线下载的优点,使学习和使用AVR单片微控制器变得十分容易。


4 总结与展望

基于ATmega8单片机实验仪上集成了LCD液晶显示模块、LED数码管显示模块、键盘模块、A/D和D/A转换模块、通用I/O接口模块、通讯接口模块等常用实验模块,利用AVR单片机开发实验基本系统,可以完成一些基本的实验,满足学生基本实验的要求;同时板间预留有可扩展的空间以满足学生进行创新设计、综合课程设计、课外科技活动和毕业设计等课程的实践训练活动要求,该实验系统经机电专业07级、08级,电子技术07级08级学生的试用,效果较为显著。不但实现了将实验室搬进寝室,而且激发了学生的学习兴趣,培养学生的动手能力和创新能力,为今后快速适应工作岗位打下坚实的基础。

关键字:ATmega8  单片机  多功能实验仪 引用地址:基于ATmega8单片机多功能实验仪设计解决方案

上一篇:ATMEGA16单片机I0端口的使用方法解析
下一篇:AVR单片机的端口位操作方法解析

推荐阅读最新更新时间:2024-11-07 17:04

基于单片机的液压动力钳检测系统研究与实现
在油田钻修作业中起下钻杆、钻具、油套管时,上卸螺纹的专用工具是液压动力钳。液压动力钳在钳口卡紧机构动作夹紧后,外供的压力油控制液压马达转动,液压马达通过内部机构带动钳口转动,液压马达可以正转或者反转,从而实现油管的上紧或卸下。 上扣时须严格控制扭矩,上扣扭矩直接影响螺纹上扣质量。使用液压动力钳上紧螺纹时,扭矩过大会造成螺纹无法拆卸,严重时,会产生裂纹,从而降低整个管柱的强度,同时会造成液压动力钳因负荷过重而损坏甚至报废;扭矩过小会造成管柱密封不好或脱落,导至整个作业工程的返工,而且往往难以追查责任。 针对上述问题,解决方案目前主要有:对液压动力钳增加扭矩保护装置或扭矩检测装置,文中设计基于AT89C55WD的扭矩检测系统,不需
[单片机]
基于<font color='red'>单片机</font>的液压动力钳检测系统研究与实现
STC89C52单片机1602液晶驱动
///////////////////////////////////////////////////////////////////////// 实现功能: 驱动开发板上的1602液晶,在1602液晶上显示两组字符,所显示的两 组字符一两秒钟的时间来回循环 实验板型号:BS-XYD-C52 实验名称: 1602液晶显示实验 编写人: 谢应东 编写日期: 2012-5-2 ///////////////////////////////////////////////////////////////////////// #include reg52.h #include in
[单片机]
单片机系统存储器的测试方法研究
在各种单片机应用系统中,存储器的正常与否直接关系到该系统的正常工作。为了提高系统的可靠性,对系统的可靠性进行测试是十分必要的。通过测试可以有效地发现并解决因存储器发生故障对系统带来的破坏问题。本文针对性地介绍了几种常用的单片机系统RAM测试方法,并在其基础上提出了一种基于种子和逐位倒转的RAM故障测试方法。 一、 RAM测试方法回顾 方法1:参考文献中给出了一种测试系统RAM的方法。该方法是分两步来检查,先后向整个数据区送入#00H和#FFH,再先后读出进行比较,若不一样,则说明出错。 方法2:方法1并不能完全检查出RAM的错误,在参考文献中分析介绍了一种进行RAM检测的标准算法MARCH G。MARCH
[单片机]
51单片机学习笔记2 -- 单灯控制及流水灯
1.LED仿真电路绘制 LED就不展开介绍了,二极管单向导通电能转换光能,直接上原理图,可以看到LED灯D1连接在51单片机P1.0引脚 在Protues元器件查找输入关键词LED,在详细列表下拉找到几个颜色的LED,分别是蓝、绿、红、黄,随便找一个颜色的LED即可 单个LED的接线按照原理图如下进行仿真电路绘制,注意LED的朝向(LED阳极接限流电阻R2,阴极接芯片引脚P1.0) 2.Keil 51工程创建 打开Keil软件,先关掉当前打开的工程,菜单栏 Project - Close Project 新建一个文件夹以存放工程文件,Keil新建工程 选择新建的文件夹存放工程,并给工程命名 选择工程对应的处
[单片机]
51<font color='red'>单片机</font>学习笔记2 -- 单灯控制及流水灯
基于MC9S12微控制器的发动机高能直接点火控制
随着电子技术的发展及对发动机性能要求的提高,微机控制的电子点火系统逐渐取代了传统的发动机点火系统,实现了更为精确的点火时刻和点火能量的控制。在发动机点火系统中,采用的每个发动机汽缸各带一个点火线圈,对各缸点火线圈进行独立控制的点火系统,称为无分电器各缸独立点火系统,也叫高能直接点火系统。采用高能直接点火可有效地增加点火线圈初级回路的储能,减少点火能量的传导损失,从而提高点火能量,满足车用发动机稀薄燃烧、增压和使用代用燃料(如天然气、酒精)等新技术的发展要求。对于多缸发动机,这种高能直接点火系统由于控制事件多,要求的控制电路和控制软件复杂,因而对微控制器的性能和控制软件均有较高的要求 。 MC9S12系列是MOTOROLA公司开发
[工业控制]
26-基于单片机的传送带计数系统
具体实现功能 基本功能: 1、用独立按键控制传送带的启动或停止,在接电后电机不运转,当按键给脉冲后,单片机控制继电器,继电器控制电机开始运转,同时可利用按键控制电机停止运转。 2、用光电传感器检测通过的产品数量,利用激光头射出激光照射到光敏模块,光敏模块接收此红外线,并将其放大、整流形成高电平信号。当有人或物挡住红外光时,接收管没有接收到红外信号,放大器将输出低电平。 这个便是外部计数脉冲信号。这个计数脉冲信号送入 AT89C52单片机中进行计数控制,在经过扩展、显示驱动完成最后的显示过程。 3、用LCD显示传送带通过产品的数量,LCD显示预置数值与当前数值。 4、用矩阵键盘预置终值,当计数达到终值时,传送带停
[单片机]
26-基于<font color='red'>单片机</font>的传送带计数系统
可编程逻辑器件与单片机在双控制器中的设计
  在传统的控制系统中,人们常常采用单片机作为控制核心。但这种方法硬件连线复杂,可靠性差,且单片机的端口数目、内部定时器和中断源的个数都有限,在实际应用中往往需要外加扩展芯片。这无疑对系统的设计带来诸多不便。   现在有很多系统采用可编程逻辑器件CPLD作为控制核心。它与传统设计相比较,不仅简化了接口和控制,提高了系统的整体性能及工作可靠性,也为系统集成创造了条件。但可编程逻辑器件的D触发器资源非常有限,而且可编程逻辑器件在控制时序方面不如单片机那样方便,很多不熟悉的应用者往往感到应用起来非常的困难。利用可编程逻辑器件和单片机构成的双向通信控制器克服了两者的缺点,且把二者的长处最大限度地发挥出来。   1 CPLD与单片机AT
[单片机]
可编程逻辑器件与<font color='red'>单片机</font>在双控制器中的设计
【GD32 MCU 入门教程】GD32 MCU 常见外设介绍(14)RTC 模块介绍
GD32 MCU内部提供了一个RTC(实时时钟)模块,通过RTC可以实现日历时钟、闹钟等功能。RTC也可以用于深度睡眠或待机模式的低功耗唤醒。不同系列的GD32 MCU在RTC设计和功能上有所区别,总体可以分为三大系列: (1)F10x、F30x、E10x系列RTC功能基本相同,后文简称0x系列。 (2)F1x0、F3x0、E23x系列RTC功能基本相同,后文简称x0系列。 (3)F405、F407、F450系列RTC功能基本相同,后文简称4xx系列。后文会对0x系列、x0系列、4xx系列的RTC模块分别进行介绍,简单介绍RTC的工作原理、配置使用方法。 14.1.GD32 RTC 外设简介 0x 系列 RTC 0x系列RTC整体
[单片机]
【GD32 <font color='red'>MCU</font> 入门教程】GD32 <font color='red'>MCU</font> 常见外设介绍(14)RTC 模块介绍
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved