2011年第9期SCIENCE&TECHNOLOGYINFORMATION
○IT论坛○科技信息
基于PROTEUS的单片机串口通信的
实例设计与仿真
陈海霞徐智
(三江学院电气与自动化工程学院江苏
南京
210012)
【摘要】本文通过实例介绍了一种基于Proteus软件的串口通信方法。通过虚拟串口软件VSDPXP,借助串口调试助手,与单片机Proteus仿真系统的串口通信进行联调,实现了PC机与单片机的串口通信。该实例表明,Proteus软件的串口仿真功能可以有效缩短开发周期,降低开发成本,具有良好的推广价值。
【关键词】Proteus软件;串口通信;
仿真
0引言VirtualSerialPortsXP软件是一种高级的配置工具,用于模拟RS232串口通信,可以使用它为应用程序提供虚拟串口,这个虚拟串口的功能就像标准的硬件串口一样,为研发人员提供便利。
使用软件VirtualSerialPortsXP,打开软件后,如图2所示,COM3是电脑上实际的物理串口,单击“Addpair”可立即添加一对虚拟串口COM1和COM2,这样就连接好一对虚拟串口。2.2上位机软件设置
PC与单片机的通信常用VB或VC中的MSComm控件编写,本设计使用“串口调试助手”来实现PC对Proteus的联系媒介。如图3所示,该类软件的使用一定要注意串口通信的参数的设置(如串口,波特率,数据位,校验位,停止位),它们必须与单片机程序总的串口设置相对应。串口调试助手则可以真实的模拟上位机与单片机进行通信。正确地使用所有的信号线和模拟波特率的工作,可以和使用真实串口一样传输文件、数据。
Proteus软件是由英国LabCenterElectronics公司开发的EDA工具软件,已有近20年的历史,在全球已得到广泛使用。它不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,也是目前最先进的实现嵌入式系统在计算机上完成从原理图设计、代码调试与仿真、系统测试与功能验证到形成PCB的完整的设计、仿真和研发的平台。在缺乏硬件的情况下,这是一款非常实用的仿真软件,其仿真的原理图经验证后可直接应用到现实中。
目前,很多高校已引入这套软件,作为理论教学和实践教学的必要补充,实践证明效果很好;而且,在一些像海尔等知名公司也已将它作为仿真和研发平台,大大提高了工作效率,缩短了研发周期。
本文通过实例,以AT89C51单片机为核心,设计了一个PC与单片机的进行串口通信的功能,并详细说明了在PROTEUS平台下进行串口使用和调试的基本方法。
1串口通信的实例设计
PC机和单片机的串口通信系统的调试通过一根串口连接线把上位机(PC机)和下位机(即单片机)连接起来进行,用这种方法调试串口通信比较烦琐。Proteus仿真技术和虚拟串口技术的出现,使串行口的调试可以在一台电脑上通过软件完成。上位机由PC机代替,下位机由用Proteus软件设计的AT89C51单片机仿真电路代替,串口及连接通过由虚拟串口软件产生和连接。
为了模拟串口调试,本文设计了一个实例,其功能为:串口接收和发送数据都采用查询方式,一次能接发一个字节即2位16进制数据,由键盘控制单片机数据的发送。按0~15号键实现发送字符功能,分别是“0,1,2,……,E,F”字型码,在数码管上显示出来;上位机软件控制PC机数据的发送,接收到的字型码在另一个数码管上显示出来。其电路原理图如图1所示。
图2
虚拟串口的设置
图3串口调试助手的设置
仿真元件COMPIM
单片机与PC串行通信时需要进行电平转换,MAX232是最常用的转换器。COMPIM是ProteusISIS制作的一个虚拟元件,它内置了MAX232转换器,所以单片机可以直接通过它与PC连接,而不用MAX232去进行一次电平转换。在仿真时需对该元件的属性进行编辑,设置串口的工作方式与上位机对应。
单击串口COMPIM可打开其属性视图。若使用COM1,那么串口调试工具必须设定为虚拟串口COM2,并且设置为16进制发送和显示。利用COM1作为单片机的串口,COM2作为PC机的串口,二者构成一对虚拟串口,共同实现通信功能。
2.3
图1串口通信硬件原理图
3软件设计
2
2.1
EDA软件设置
虚拟串口的形成
在PC机中,虚拟串口可以由专业软件来产生,也可以自行开发。
流程图如图4所示。主要包括键盘扫描子程序和数码管显示子程序。键盘扫描采用查询工作方式,有键按下时,将按键信息自动显示在LED1(左起两位)上;当查询接收到PC的串口数据后,能自动显示在
(下转第457页)LED2(右起两位)上。
458
科技信息○IT论坛○
SCIENCE&TECHNOLOGYINFORMATION2011年第9期
有被破坏或篡改,其数字签名有效;否则,改ED签名不可行或者原始ED被篡改.
4结论
图3-1发送方处理步骤
(3)ED发送方长生会话密钥,用它对签名后的ED进行加密;
(4)ED发送方查阅CA,获取ED接收方的公钥,然后用其对通信密钥进行加密;
(5)ED发送方发送ED(包括加密的原始ED,签名和对ED加密的通信密钥).
3.2接收方处理步骤(如图3-2):
由于对称加密算法的简单,快速,高效等特点,目前它仍然是主流的密码体制之一,因为目前暂时没有有效的攻击方法.与此同时,由于公钥密码体系在密钥管理方面的便捷,并且能实现数据签名和身份认证等非常重要的功能,从而使它成为了电子商务和电子政务等技术的关键.在相同的安全条件下,基于ECC的加密和数字签名算法在计算量、处理速度等方面比其他公钥密码算法有着很大的优势.
本文通过对AES、ECC算法体制的分析和研究,提出了一种间两者结合的混合密码加密体制,从而更为高效地实现了人们在网络通信过程中的信息加密、数据签名、身份认证等,解决了密码体制中速度和安全性不能兼顾的重要问题.在当今高速发展的信息社会里,混合密码体制的研究和应用是非常有意义的.科
●
【参考文献】
[1]B.Schneier.应用密码学协议、算法与C源程序[M].北京:机械工业出版社,2000.[2]W.Trappe,L.C.Washington.密码学概论[M].北京:人民邮电出版社,2004.[3]W.Diffie,E.Hellman.Newdirectionsincryptography[J].IEEETransactionsoninformationTheory,1976,22(5):644-654.
肖国镇,白恩健,刘晓娟.AES密码分析的若干进展[J].电子学报,2003,31(10):[4]
1549-1554.[5]V.S.Miller.Useofellipticcurvesincryptography[C].In:AdvancesinCryptology-Crypto’98,LNCS128,Springer-Verlag,1986,128:417-426.
杨成卫.基于AES和ECC的混合密码系统研究[J].河南科学,2006,2:124-[6]126.[7]T.ElGamal.Apublickeycryptosystemandasignatureschemebasedondiscretelogarithms[J].IEEETransactionsoninformationTheory,1985,31:469-472.
图3-2接收方处理步骤
(1)ED接收方在受到后,用自己的私钥对其进行解密,得到AES通信密钥;
(2)ED接收方用ED发送方的通信密钥对受到的经加密的签名ED进行解密,得到原始ED的数字签名和原始ED;
(3)ED接收方用ED发送方的公钥对数字签名进行解密,得到原始ED的数字摘要,同时将原始ED用SHA函数编码,产生另一个数字摘要;
(4)ED接收方将这两个摘要进行比较,若相等说明原始ED并没
[责任编辑:曹明明]
●
(上接第458页)
打开电路仿真图和C工程文件,在Keil中启动调试“Debug→Start/StopDebugSession”,并运行“Debug→Go”,此时Proteus仿真被Keil启动,在Keil和Proteus中都可以观察到程序运行状态。程序运行后,可看到LCD1602的显示情况。也可在Keil中,将源程序编译为.hex文件后,在Proteus中双击AT89C51加载对应的.hex文件,然后启动仿真过程,同样可看到图1所示的LCD1602的显示情况。
5结束语
这种基于Proteus的电路设计、Keil程序设计的串口仿真调试,通过虚拟串口软件VSDPXP,借助串口调试助手,实现了PC机与单片机Proteus仿真系统的串口通信。这种方法显著提高了设计开发效率,降低开发风险,
对于单片机实际设计都具有较强的辅助作用。本文所设计的串口调试方法对实际应用系统具有很好的借鉴作用。科
●
【参考文献】
周润景,张丽娜.基于Proteus的电路及单片机系统的设计与仿真.北京:北京[1]
航空航天大学出版社,2006,6.
曲豪,等.基于Proteus与串口通信的LED条屏设计[J].电子测量技术,2009(2).[2]
王文海.基于PROTEUS的PC机与单片机串口通信的仿真[J].科技咨询导报,[3]2007(26).
陆婷,兰国原,杜月林.基于Proteus的单片机虚拟实验室的构建[J].国外电子[4]
测量技术,2007:92-93,96.
图4串口通信软件流程图
4系统仿真
利用软件生成虚拟端口后,再设置PC机和单片机的串口属性。
[责任编辑:曹明明]
457
2011年第9期SCIENCE&TECHNOLOGYINFORMATION
○IT论坛○科技信息
基于PROTEUS的单片机串口通信的
实例设计与仿真
陈海霞徐智
(三江学院电气与自动化工程学院江苏
南京
210012)
【摘要】本文通过实例介绍了一种基于Proteus软件的串口通信方法。通过虚拟串口软件VSDPXP,借助串口调试助手,与单片机Proteus仿真系统的串口通信进行联调,实现了PC机与单片机的串口通信。该实例表明,Proteus软件的串口仿真功能可以有效缩短开发周期,降低开发成本,具有良好的推广价值。
【关键词】Proteus软件;串口通信;
仿真
0引言VirtualSerialPortsXP软件是一种高级的配置工具,用于模拟RS232串口通信,可以使用它为应用程序提供虚拟串口,这个虚拟串口的功能就像标准的硬件串口一样,为研发人员提供便利。
使用软件VirtualSerialPortsXP,打开软件后,如图2所示,COM3是电脑上实际的物理串口,单击“Addpair”可立即添加一对虚拟串口COM1和COM2,这样就连接好一对虚拟串口。2.2上位机软件设置
PC与单片机的通信常用VB或VC中的MSComm控件编写,本设计使用“串口调试助手”来实现PC对Proteus的联系媒介。如图3所示,该类软件的使用一定要注意串口通信的参数的设置(如串口,波特率,数据位,校验位,停止位),它们必须与单片机程序总的串口设置相对应。串口调试助手则可以真实的模拟上位机与单片机进行通信。正确地使用所有的信号线和模拟波特率的工作,可以和使用真实串口一样传输文件、数据。
Proteus软件是由英国LabCenterElectronics公司开发的EDA工具软件,已有近20年的历史,在全球已得到广泛使用。它不仅是模拟电路、数字电路、模/数混合电路的设计与仿真平台,也是目前最先进的实现嵌入式系统在计算机上完成从原理图设计、代码调试与仿真、系统测试与功能验证到形成PCB的完整的设计、仿真和研发的平台。在缺乏硬件的情况下,这是一款非常实用的仿真软件,其仿真的原理图经验证后可直接应用到现实中。
目前,很多高校已引入这套软件,作为理论教学和实践教学的必要补充,实践证明效果很好;而且,在一些像海尔等知名公司也已将它作为仿真和研发平台,大大提高了工作效率,缩短了研发周期。
本文通过实例,以AT89C51单片机为核心,设计了一个PC与单片机的进行串口通信的功能,并详细说明了在PROTEUS平台下进行串口使用和调试的基本方法。
1串口通信的实例设计
PC机和单片机的串口通信系统的调试通过一根串口连接线把上位机(PC机)和下位机(即单片机)连接起来进行,用这种方法调试串口通信比较烦琐。Proteus仿真技术和虚拟串口技术的出现,使串行口的调试可以在一台电脑上通过软件完成。上位机由PC机代替,下位机由用Proteus软件设计的AT89C51单片机仿真电路代替,串口及连接通过由虚拟串口软件产生和连接。
为了模拟串口调试,本文设计了一个实例,其功能为:串口接收和发送数据都采用查询方式,一次能接发一个字节即2位16进制数据,由键盘控制单片机数据的发送。按0~15号键实现发送字符功能,分别是“0,1,2,……,E,F”字型码,在数码管上显示出来;上位机软件控制PC机数据的发送,接收到的字型码在另一个数码管上显示出来。其电路原理图如图1所示。
图2
虚拟串口的设置
图3串口调试助手的设置
仿真元件COMPIM
单片机与PC串行通信时需要进行电平转换,MAX232是最常用的转换器。COMPIM是ProteusISIS制作的一个虚拟元件,它内置了MAX232转换器,所以单片机可以直接通过它与PC连接,而不用MAX232去进行一次电平转换。在仿真时需对该元件的属性进行编辑,设置串口的工作方式与上位机对应。
单击串口COMPIM可打开其属性视图。若使用COM1,那么串口调试工具必须设定为虚拟串口COM2,并且设置为16进制发送和显示。利用COM1作为单片机的串口,COM2作为PC机的串口,二者构成一对虚拟串口,共同实现通信功能。
2.3
图1串口通信硬件原理图
3软件设计
2
2.1
EDA软件设置
虚拟串口的形成
在PC机中,虚拟串口可以由专业软件来产生,也可以自行开发。
流程图如图4所示。主要包括键盘扫描子程序和数码管显示子程序。键盘扫描采用查询工作方式,有键按下时,将按键信息自动显示在LED1(左起两位)上;当查询接收到PC的串口数据后,能自动显示在
(下转第457页)LED2(右起两位)上。
458
科技信息○IT论坛○
SCIENCE&TECHNOLOGYINFORMATION2011年第9期
有被破坏或篡改,其数字签名有效;否则,改ED签名不可行或者原始ED被篡改.
4结论
图3-1发送方处理步骤
(3)ED发送方长生会话密钥,用它对签名后的ED进行加密;
(4)ED发送方查阅CA,获取ED接收方的公钥,然后用其对通信密钥进行加密;
(5)ED发送方发送ED(包括加密的原始ED,签名和对ED加密的通信密钥).
3.2接收方处理步骤(如图3-2):
由于对称加密算法的简单,快速,高效等特点,目前它仍然是主流的密码体制之一,因为目前暂时没有有效的攻击方法.与此同时,由于公钥密码体系在密钥管理方面的便捷,并且能实现数据签名和身份认证等非常重要的功能,从而使它成为了电子商务和电子政务等技术的关键.在相同的安全条件下,基于ECC的加密和数字签名算法在计算量、处理速度等方面比其他公钥密码算法有着很大的优势.
本文通过对AES、ECC算法体制的分析和研究,提出了一种间两者结合的混合密码加密体制,从而更为高效地实现了人们在网络通信过程中的信息加密、数据签名、身份认证等,解决了密码体制中速度和安全性不能兼顾的重要问题.在当今高速发展的信息社会里,混合密码体制的研究和应用是非常有意义的.科
●
【参考文献】
[1]B.Schneier.应用密码学协议、算法与C源程序[M].北京:机械工业出版社,2000.[2]W.Trappe,L.C.Washington.密码学概论[M].北京:人民邮电出版社,2004.[3]W.Diffie,E.Hellman.Newdirectionsincryptography[J].IEEETransactionsoninformationTheory,1976,22(5):644-654.
肖国镇,白恩健,刘晓娟.AES密码分析的若干进展[J].电子学报,2003,31(10):[4]
1549-1554.[5]V.S.Miller.Useofellipticcurvesincryptography[C].In:AdvancesinCryptology-Crypto’98,LNCS128,Springer-Verlag,1986,128:417-426.
杨成卫.基于AES和ECC的混合密码系统研究[J].河南科学,2006,2:124-[6]126.[7]T.ElGamal.Apublickeycryptosystemandasignatureschemebasedondiscretelogarithms[J].IEEETransactionsoninformationTheory,1985,31:469-472.
图3-2接收方处理步骤
(1)ED接收方在受到后,用自己的私钥对其进行解密,得到AES通信密钥;
(2)ED接收方用ED发送方的通信密钥对受到的经加密的签名ED进行解密,得到原始ED的数字签名和原始ED;
(3)ED接收方用ED发送方的公钥对数字签名进行解密,得到原始ED的数字摘要,同时将原始ED用SHA函数编码,产生另一个数字摘要;
(4)ED接收方将这两个摘要进行比较,若相等说明原始ED并没
[责任编辑:曹明明]
●
(上接第458页)
打开电路仿真图和C工程文件,在Keil中启动调试“Debug→Start/StopDebugSession”,并运行“Debug→Go”,此时Proteus仿真被Keil启动,在Keil和Proteus中都可以观察到程序运行状态。程序运行后,可看到LCD1602的显示情况。也可在Keil中,将源程序编译为.hex文件后,在Proteus中双击AT89C51加载对应的.hex文件,然后启动仿真过程,同样可看到图1所示的LCD1602的显示情况。
5结束语
这种基于Proteus的电路设计、Keil程序设计的串口仿真调试,通过虚拟串口软件VSDPXP,借助串口调试助手,实现了PC机与单片机Proteus仿真系统的串口通信。这种方法显著提高了设计开发效率,降低开发风险,
对于单片机实际设计都具有较强的辅助作用。本文所设计的串口调试方法对实际应用系统具有很好的借鉴作用。科
●
【参考文献】
周润景,张丽娜.基于Proteus的电路及单片机系统的设计与仿真.北京:北京[1]
航空航天大学出版社,2006,6.
曲豪,等.基于Proteus与串口通信的LED条屏设计[J].电子测量技术,2009(2).[2]
王文海.基于PROTEUS的PC机与单片机串口通信的仿真[J].科技咨询导报,[3]2007(26).
陆婷,兰国原,杜月林.基于Proteus的单片机虚拟实验室的构建[J].国外电子[4]
测量技术,2007:92-93,96.
图4串口通信软件流程图
4系统仿真
利用软件生成虚拟端口后,再设置PC机和单片机的串口属性。
[责任编辑:曹明明]
457