一种单片机实验装置升级改造的实现方案

更新时间:2023-04-23 11:29:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第29卷第3期

2010年3月

实验室研究与探索

v。1.29N。.3

RESEARCHANDEXPLORATl0NINLABORATORYMar.20lO

一种单片机实验装置升级改造的实现方案

涛1,陈明媛1,骆武宁2,邹鸣1,

钧1

(1.广西大学电气工程学院,广西南宁530004;2.南宁微控技术有限公司,广西南宁530001)

要:目前单片机实验装置往往仍用综合技术指标低的5l系列单片机作为控制核心,对此提出了一

种低成本的系统改造方案,在不改变原有系统外围设备的情况下,通过一块电路板上的线路转换连接,令ATmegal6与51系列单片机的管脚兼容,ATmegal6即可替代5l系列成为控制核心。这是单片机升级换代的一种新思路,对学校单片机实验装置的升级改造非常有意义。文章给出具体的改造方案以及

一个典型实验的详细过程。

关键词:5l系列单片机;ATmegal6;装置替代;升级改造中图分类号:TP

368.1

文献标识码:A文章编号:l006—7167(2010)03—0076—04

AnUpdatedReaIizationSChemefOrSCMExperImentaIApparatus

删,死01,

C舳Ⅳ肘i昭.弘口n1,

£UD阢‘.,li甥2,

ZDU肘in91,

肌ⅣG知n1

(1.CoUegeofElectricalEngineering,GuangxiUniversity,Nanning530004,China;

2.NanningMicro—ControlTechnologyCo.,Ltd,Nanning53000l,China)

Abstract:%i8

anicleputforward

low-c08tplanforupdatingsy8tem.

can

Inthe

case

ofunchangingtheperiphe豫Iequip—

mentoforiginalsystem,thepinofATmegal6SCM

conVersion

on

becompatiblewiththepinof5lseriesSCMthroughcircuitry

8ense

circuitboard.Thisis

anew

ideawhichmakesgoodforupdatingSCMexperimentalapparatusin

a8

sch001.

MoreoVer,itpresented

concreat

shcemeforinnoVatingSCM既perimentalimplemeJltati伽aswell

thede—

t8iledpIDcessrelatedto

classicalexperiment.

Keywords:51seriesSCM;ATmegal6;equipmentreplacement;updatingandreconstruction

引言

变CPU部分,原有系统的外围设备不变,若还需使用原来的CPu,将其换回即可。这样既节约了资源,又大大提高了系统的综合性能。

目前,学校单片机实验装置多以51系列单片机为控制核心,其他系列的单片机如ATmega等作为控制核心的硬件系统基本没有。51系列由于综合性能差已经被市场淘汰,而ATmega系列以其强大的综合性能成为单片机应用的主力产品¨引。本文提出将原有以51系列单片机作为控制核心的系统、实验设备等进行改造,通过一块电路板上的线路转换连接,令AT—

mega

2替代的可行性分析

51系列的单片机有3种总线结构以及4根独立控制线RES、EA/VP”ALE/PROG、PsEN组成口]。总线为:

(1)地址总线。16位地址总线由Po口经地址锁存器提供8位地址(ADO—AD7);P2口直接提供8位

地址(A8一A15)。

16与5l系列单片机的管脚兼容,ATmega16即

可替代5l系列成为系统控制核心。本替换方案仅改

(2)数据总线。8位数据总线由Po提供。

收稿日期:2009一09一08

基金项目:广西大学实验室教学改革建设项目(080213)

作者简介:海涛(1963一),男,回族,广西桂林人。硕士生导师,高级工程师,主要研究方向为工业自动化、检测仪表等。

(3)控制总线。由P:3口的第二功能状态。ATmega系列采用的是Hanrard结构,其总线结构能够完全覆盖51系列。以ATmega16为例:它有4组I/O端口A、B、C、D,每个端口引脚都具有3个寄存器位:DDxn、PORTxn和PINxn,DDxn位于DDRx(数据

Tel.:13907715913;E哪ail:haita05913@163.c哪

第3期

海涛,等:一种单片机实验装置升级改造的实现方案

方向)寄存器,PORTxn位于PORTx(数据)寄存器,PINxn位于PINx(输入引脚地址)寄存器‘4|。以AT.

mega

16和AT89S52为例,进行引脚功能和内部资源

的对比,如表l‘51所示。

衰l

ATmega

16与AT89s52引脚功能和内部资源对比

注:ATmega

16的4个L/O【】均为双向,AT89s52除了端口O之外。

其他端口均是准双向I/O口

通过以上ATmega16与5l的相应引脚和功能的对比,可见,用ATmega16芯片代替5l在理论上是完

全可行的。

实现方案

本文进行改造的实验对象是广西大学电气工程学

院开发研制的单片机综合实验系统,图l为该综合实验系统的系统框图。对此综合实验系统的改造,将保留除了AT89s52芯片以外的全部模块,只需将AT.

mega

16模块取代AT89S52芯片,替换原理如图2所示。替换电路设计要点:

(1)复位电路。ATmega16的复位方式为低电平

复位,而AT89S52为高电平复位。因此,在替换电路上为ATmega16设计了独立的复位电路,将ATmega

16

I数码管显示}.一—叫扩展并口8255

l4×4键盘卜.一—叫步进电机电源模块I

l温度转换卜一AT89S52

—叫

继电器输出l蜂鸣器驱动卜.一—叫ADc转换

l时钟模块卜.一

—叫

LED

图1

51单片机综合实验系统

注:该5l综合实验装置的核心芯片是A髓9s52,与Mcs-5l单片机产品兼容

和A1'89S52复位电路分开。

(2)系统频率。原51单片机实验装置采用外部

12

MHz晶振作为系统时钟,而ATmega16一般采用其

内部8MHz的Rc振荡频率作为系统频率。但这只需

要在为ATmega16配置熔丝位时设定使用内部8

MHz

的RC振荡频率即可禁用外部12MHz晶振,因此替换电路上ATmega16和ArI'89S52的反向振荡放大器输入/输出端连在一起是不会对ATmega16造成影响的。

(3)ADC。ATmega16内部有1个10位的逐次逼

近型ADC。ADC与一个8通道的模拟多路复用器连接,能对来自端口A的8路单端输入电压进行采样。本着充分利用其内部丰富资源的原则,我们在替换电路上设计了给ADC供电的AVCC和AREF电路,并在AREF引脚上加了1个电容进行解耦,以更好地抑制噪声。如此便可在外部ADC不足的情况下,利用其内部的ADc进行采样扣1。

(4)电源和接地。ATmega16的VCC和GND通

过与A,r89S52的共用引脚由5l实验装置提供,所以替换电路上无需为ATmega16设计电源模块。

(5)程序调试和开发环境。替换电路上提供IsP下载口以便并行下载,下载线的原理图如图3所示。

本实验进行软件调试所使用的编译器为由Atmel公司推出的应用于AVR系列单片机的AtmanAvr

IDE(Ve玛ion4.1)编译软件。其工程项目采用模块化

管理,可视化编程。提供多种向导支持动态添加/删减各种模块和中断函数,自动生成代码。文本编辑器支持自动提示函数参数信息,函数检索和插入等功能‘”。

实验部分

4.1

3255A并口扩展实验

(1)实验目的。实现8255A的A、B、C口在方式

0(基本输入/输出方式)下工作。

(2)硬件部分。实验电路图如图4所示。从图4可以看出,ATmega16的PA0一PA7口复用为8255A的数据线和地址线,因此必须使用74Ls373进行地址锁存。在一般情况下,8255A的片

78

实验室研究与探索

第29卷

Ucc

Ucc

P34

40

P14

BBBBBBBB

P30

Ⅷ¨,仙仙瞩冰Ⅲ虻;№,吲∞的

UUoADC0UUo

>>>ADCI

ADC2ADC3ADC4ADC5ADC6ADC7

PAOPAlPA2PA3

PA4

37P00P10l

弼1;酊

P1.O(T21P1.2P1.3

P1.4

赉1砣

34

I’()1

P1.1(T2EX)

VC(、

PO,ofAD01P0.1fADll

P0.2fAI)2l

P0.3f

PA5PA6PA7

19

P1.5P1.6

P1.7

AD3)

PO.4fAD4lP0.5fAI)51Po.6fAD6J

6P(J

%c

尺,5】kQ

PDO(RxD)PDl(TXD、PD2(INTO)PD3fINTllPD4(OClB)PD5(0ClA)PD6(1CPJPD7仃’oSC2

PCOPCIPC2PC3PC4PC5

(1.oSCj)PC6(TOSC2)PC7

AREFAGNDAVCC

凸凸oZZZooo

ATMEGAl6

P20

RSTP3.0(RXD)

P3.1(了XQ)

P3.4(TO)

Pj.;(塑9)P3.3(INTl)

pH

<£1

.472

REST

Xl

FI

10

戤}磔,

P3.7(丽I

XTAL2X1ALlGND

xTALl

PSENP2.7(Al5P2.6fAl4P2.5fAl3P2.4fAl2P2_3rAllP2.2(A10P2.1fA9P2.0fA8

6P24

C,104F

AT89c51.52

X2

图2

ATmegal6替代AT89s52的电路原理图

(3)软件设计。8255A的A、B、C口在方式0(基本输入/输出方式)工作的程序如下:

#include”8255A.h”#include<delay.h>staticvoid

iojnit(void)//端口初始化

}PORTA=0xO;

DDRA=Oxff;//输出

PORTB=O鬻08;//WR=0,RD=1

DDRB=Oxff;//输出

PORTC=O窟O:

DDRC=0xff;}//输出

void

ctrl8255a(ucharctrl)//写控制字

{sbi(PORTc,6);//CS=l,不选8255A

图3

ISP

F载线原理图

PoRTA=ox03;//AoAl=ll,命令字

8bi(PORTc,7);//74Ls373输出

选信号cs是与74Ls373的Q7(输出端)相连,但由于本实验所使用的实验装置上,CS与Q7没有连接,而且Q7端没有引出1个可外接的端口,因此改用AT megal6的PC6口控制片选信号cS。在原实验装置上,74Ls373的锁存允许端LE与AT89S52的ALE/PROG连接,但ATmegal6上并没有与ALE/PROG类似的引脚,因此在设计替换电路的时候,ALE/PROG没有和ATmegal6连接,所以在实验中用ATmegal6的PC7口控制锁存允许端LE。

使用I/O口控制CS和LE端口必须要格外注意逻辑时序的配合。表2、3分别给出8255A和74LS373端口控制逻辑¨1。

根据上述硬件电路分析和表2、3中的控制逻辑,得出ATmega16控制8255A的逻辑时序如图5所示。

cbi(PORTc,7);//74Ls373锁存

PORTA=ctrl:

cbi(PORTC,6);}//=O,选8255A

void

write_8255a(ucharvalue)

{sbi(PORTc,6);//Cs=l,不选8255APORTC=O如;//写A口地址

Bbi(PORTc,7);//74Ls373输出

cbi(PORTC,7);//74Ls373锁存cbi(PORTC,6);//=O,选8255APORTA=value;}//输出A口数据

int

main(void)

li0-init();while(1)

{ctd_8255a(0x80);//ABC均为输出

write-8255a(0xfa);//A口输出数据

第3期

海涛,等:一种单片机实验装置升级改造的实现方案

79

Ul

40

4I

UI

3736

DOI)ID2

pBl(下o)毒毒毒(ADcO、PA0

PBl(T1)。PB2(AINO)

DO34

I)lD2D3

33323l3029

D0

DlD2

PAO

。。iADC】)PA】

44l

pB3(型N1)

pB4(SS)

PB5(MOSl)pB6(MISO)PB7【SCK)

(ADC2)PA2(ADC3)PA3(ADC4)PA4(ADC5)PA5(ADC6)PA6(ADC7)PA7

PCO

PCI

35

34

D3

D4D5

33

32

D3D4

D5D6D7

PA】PA2PA3

28

27

队4队5

PA6

PA7PB0

PDO(RXD)pDl(TXD)PD2(JNTO)PD3(JNTJ)PD4(0ClB)PD5(OCIA)PD6(ICP)

U3

DOD1

WRA0

Al

PBlPB2

PB3

PC2PC3PC4PC5

(TOSCl)PC6(TOSC2)PC7

AREFAGNDAVCC

2928

DO

Dl

QOQ1

RESETCSPB4PB5

PB6PB7

LED

PD7(1、oSC2)

IJ4D5

1314

D2D3D4

D5D6

Q2

03Q4

1215

RESETX1

o凸ZZZooo

西F订

D7

18

Q5

06

D7

Q7

LE砸

74LS373

JA刑EGAl6-T‘FP44

8255A

PC0PCIPC2PC3PC4PC5PC6PC7

一”一泊

121l

图4

表2

8255A的端口控制逻辑

ATme9816与8255A接线图

表4

8255A端口选择‘’1

(4)实验结果。通过与A、B、C3口连接的LED灯观察输出结果。改变各端口的输出数据,LED灯按照给定的输出数据正常工作¨…。4.2其他实验

除了8255A并口扩展实验,还进行了4×4键盘、数码管显示、温度转换J。等实验,实验装置上的各硬件资源都得到充分的利用,本文在此就不再一一赘述。

结语

腿蝴,<二卜<>一<>◇

控制字

工作方式选通端口输出数据图5逻辑时序图

实验结果证明,ATmega16替代5l系列作为控制核心,在实践中是可行的。这种改造方法,不仅仅可以

用ATmega16去替代51系列,还可以推广到用AT.

mega

64、ATmega

128等综合性能更强大的单片机去

替代。该改造方法可靠性高,成本低,操作方便,适用于各院校的单片机综合实验系统的改造。参考文献(References):

[1】

张晴,刘为.单片机实验教学改革[J].实验室研究与探索,

2003,22(4):27-29.

delay(2,8000);}

注:上述程序只给出控制A口的命令字写法,B、C口命令字写法与其一样,仅是命令字不同,如表4所示。

【2]黄桂梅.AVR单片机实训教学平台的构建与实践[J].职业技术教育,2009(2):49巧1.

(下转第87页)

第3期张傻:基于递归树的递归调用分析

if(凡=:1){

8td::cout.<<口<<“,”<<6<<“,”

<<c<<std::endl:

87

#06鼻07

本文首先提出了创建递归树的递归算法createR-ecursiveTree,映射和扩展是算法的2大主要操作。然后研究了递归树遍历序列与递归函数中不同位置观察点之间的对应关系,提出“遍历序列一观察点一递归调用映射规则”。最后按照4个步骤实现了递归树的创建和遍历。为方便应用,本文还应用sTL和b008t库容器和算法设计了一组实用分析工具,把4个步骤

#08

retUm:

加9

#10#11#12#13#14舞15舟16#17#18#19#20

int

hanoi(n—l,口,c,6);hanoi(1,口,6,c);hanoi(n—l,6,口,c);}

实现为3个宏,它们分别是宏define一骶e确定映射关

系并刨建递归树,宏obsenre设置观察点,宏prim_tree输出递归树。

main(){

以汉诺塔问题为对象,本文根据递归树创建算法Crea£eRecursiyeTree建立了递归函数hanoi的递归树,并应用宏对递归函数hanoi进行了分析和观察,验证了“遍历序列一观察点一递归调用对应规则”。参考文献(References):

【1]寿永熙.BAslc语言递归调用分析[J】.计算机应用,1992(1):

17一18.

hanoi(3,‘月’,‘曰’,‘C’);

print—tree();}

上述程序的观察点设置在第4行,在这个位置可观察到所有发生的递归调用。运行上述程序,可得到递归调用过程的输出序列,因为行数较多,此处不附。

依次改变观察点,例如在第7、10、14行分别设置观察点,则可以观察到不同范围的递归调用序列,都表明“遍历序列一观察点一递归调用映射规则”的正确

性。

[2]肖晓凌.FORTRAN语言递归调用的一种方法[J].微计算机应

用,1990(2):14.

[3]和力,吴丽贤.c语言中递归调用的教学设计[J].现代计算机

(专业版)。2008(2):65击7.

【4]张春永,李祥.皇后问题的分布式计算[J】.盐城工学院学报

结语

(自然科学版)。2007.20(4):34-37.

[5]徐振华.程序设计算法探讨——递归调用与非递归调用[J】.中

分析递归程序的运行过程、观察变量的取值变化,是为了清晰认识递归函数的运行机制。利用开发工具的调试功能进行实验观察,往往具有一定的操作难度。

本文提出1种基于递归树的递归调用分析方法。该方法把子递归调用映射为树节点,并按照递归调用顺序把节点存储在树中,每个节点都包括了所对应递归调用过程的关键数据。对递归树进行不同范围的遍历,就得到全部或者部分递归调用过程的序列。以这种方法分析递归程序,能够以简单的方法获得递归调用过程中的关键信息。

国石油大学胜利学院学报,2006,20(2):17一19.

[6]

魏许青.函数的调用和递归调用[J].数学理论与应用。2001(4):

86遗8.

[7]陈玉坤,计元.递归程序结构研究.微型电脑应用[J],2000,16

(9):2l-24.

[8】邹成.递归树在用迭代法解递归方渐近阶中的应用[J].成都

大学学报(自然科学版),2006,25(4):257_259.

[9]解季萍,刘涵哲.树型结构在递归程序教学中的应用[J].现代计

算机,1999(3):38_39.

[10]

周集良.描述递归算法的有效工具递归树[J].怀化师专学报,

1999,18(5):4l舶.

(上接第79页)

[3]

陈阳海.单片机的基本结构与工作原理(二)一A镌9s52单片机引脚功能、时钟系统、时序及复位[J].电子制作,2006(2):58-

61.

[7]海涛.ATmega系列单片机原理及应用一C语言教程[M].北

京:机械工业出版社,2008.

[8]

马忠梅.单片机的c语言应用程序设计[M].北京:北京航空航天大学出版社,2007.

[9]

范爱香.计算机接口技术实验[J].太原理工大学学报,2002,33

(1):86_88.

[4]于正林.AVR单片机原理及应用[M].北京:国防工业出版社,

2009.

[5]肖宇峰.AVR嵌入式单片机接口技术与应用[J].兵工自动化,

2003。22(5):41埘.

[6]

李鹏飞.ATmegal6内部ADc的应用[J].无线电,2006(11):34

36.

[10】冉彦中.用8255设计LED显示器接口实验[J】.计算机教育,

2008(13):89.90.

一种单片机实验装置升级改造的实现方案

作者:作者单位:

海涛, 陈明媛, 骆武宁, 邹鸣, 王钧, HAI Tao, CHEN Ming-yuan, LUO Wu-ning,ZOU Ming, WANG Jun

海涛,陈明媛,邹鸣,王钧,HAI Tao,CHEN Ming-yuan,ZOU Ming,WANG Jun(广西大学,电气工程学院,广西,南宁,530004), 骆武宁,LUO Wu-ning(南宁微控技术有限公司,广西,南宁,530001)

实验室研究与探索

RESEARCH AND EXPLORATION IN LABORATORY2010,29(3)

刊名:英文刊名:年,卷(期):

参考文献(10条)

1.陈阳海 单片机的基本结构与工作原理(二)-AT89S52单片机引脚功能、时钟系统、时序及复位 2006(02)2.黄桂梅 AVR单片机实训教学平台的构建与实践[期刊论文]-职业技术教育 2009(02)3.张晴;刘为 单片机实验教学改革[期刊论文]-实验室研究与探索 2003(04)4.冉彦中 用8255设计LED显示器接口实验[期刊论文]-计算机教育 2008(13)5.范爱香 计算机接口技术实验[期刊论文]-太原理工大学学报 2002(01)6.马忠梅 单片机的C语言应用程序设计 2007

7.海涛 ATmega系列单片机原理及应用-C语言教程 20088.李鹏飞 ATmega16内部ADC的应用 2006(11)

9.肖宇峰 AVR嵌入式单片机接口技术与应用[期刊论文]-兵工自动化 2003(05)10.于正林 AVR单片机原理及应用 2009

本文链接:/Periodical_sysyjyts201003023.aspx

本文来源:https://www.bwwdw.com/article/74tq.html

Top