已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学单片机应用实习报告书目录摘要IAbstractII1项目要求与说明11.1实习所需主要材料11.2基本任务22系统总体设计42.1 51单片机内部结构42.2 51单片机引脚功能62.3 单片机最小系统83系统单元原理与设计103.1系统硬件设计103.1.1时钟电路103.1.2 复位电路103.1.3 矩阵键盘模块设计113.1.4 数码管显示模块设计123.1.5 串口下载模块设计143.1.6系统整体设计电路图163.2系统软件设计183.2.1系统主程序模块183.2.2功能选择模块193.2.3数据输入模块193.2.4 数据显示模块203.2.5数据通信模块204仿真分析224.1 Proteus硬件仿真环境简介224.2 仿真过程记录234.2.1 数据输入功能仿真234.2.2数据输出功能仿真244.2.3串口通信功能仿真264.3 仿真结果分析265实物的制作与调试275.1 实物的制作275.2 电路的调试过程285.2.1 数据输入功能调试285.2.2数据输出功能调试305.2.3串口通信功能调试335.3 电路的调试结果分析345.4调试过程中遇到的问题346心得体会357参考文献36附录37附录1整体电路图37附录2元件清单39附录3 单片机程序40武汉理工大学单片机应用实习报告书摘要单片微型计算机简称单片机,又称为微型控制器,是微型计算机的一个重要分支。随着电子技术的发展,大规模及超大规模集成电路和制造工艺的进一步提高,单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,广泛应用于控制系统、数据采集系统、智能化仪器表等领域。单片机最小系统电路板在单片机开发市场和大学生电子设计方面十分流行。本次课程设计包括STC89S52单片机最小系统包括复位和时钟电路及供电系统、44矩阵键盘、6个7段LED数码管显示电路以及MAX232和RS-232标准串口构成的串口通信电路。利用相关设计软件(Altium Designer)进行原理图设计,利用Keil软件编程,利用Proteus软件仿真,借此巩固单片机应用、模拟电路、数字电路课程及学会各种工程软件的使用。本次实习完成了单片机最小系统及扩展电路的设计、焊接、调试,完成了ISP下载电路的设计、焊接,实现了数据输入、数据显示、串口通信三大功能,完成了实习任务要求,可以在自己设计的单片机最小系统硬件上实现实习要求的所有功能。关键词:单片机 最小系统 矩阵键盘 仿真 电路AbstractAs the single chip computer, also known as micro controller, is an important branch of microcomputer. With the development of electronic technology, further improve the large-scale and ultra large scale integrated circuit and manufacturing technology, single chip with a series of advantages of high reliability, high performance, low voltage, low power consumption, is widely applied in the control system, data acquisition system, intelligent instrument etc. MCU minimum system circuit board is very popular in the SCM development market and Undergraduate Electronic design. The curriculum design includes STC89S52 minimum system microcontroller includes a reset and clock circuit and power supply system, 4 * 4 matrix keyboard, the independent 8 LED 8 segment digital tube display circuit and the serial communication of MAX232 and RS-232 standard serial port. The related design Altium designer software schematic design, using keil software programming, using the Proteus Software simulation, thereby consolidate MCU application, analog circuit, digital circuit course and learn a variety of software engineering.The completed an internship in the smallest single-chip microcomputer system and the expansion of the circuit design, welding and debugging, the ISP download circuit design, welding, realize the three functions of data input, data display, serial communication, completion of the internship requirement, can design their own single chip machine minimum hardware implementation practice requirements of all functions.Keywords: SCM the minimum system configuration keyboard simulation circuit II1项目要求与说明1.1实习所需主要材料(1)单片机最小系统部分序号名称数量1万能实验电路板1块2单片机STC89C521只3晶振12MHz1只430PF瓷片电容2只510k/0.25W电阻1只610uF/16V电解电容1只72k/0.25W电阻1只810k/9脚排阻1只95V/500mA直流电源1个10排针、按钮、LED、导线等若干(2)下载电路部分序号名称数量1万能实验电路板1块2MAX232 1片30.1uF瓷片电容 4只4DB9插座 1只5RS-232C串口电缆(9针)1根(3)扩展电路部分 扩展电路部分材料根据设计方案确定。(4)软件部分序号名称数量1电路设计软件PROTEL1套2编程软件Keil uV21套3仿真软件PROTEUS1套4下载软件stc-isp 1套(5)工具序号名称数量1PC(带RS-232C口)1台2万用表1块3电烙铁1只4焊锡、松香等若干1.2基本任务1)利用上述材料完成包含如下系统功能组件的单片机最小系统的设计、焊接、调试(1)键盘一个4*4的矩阵键盘,其中,10个按键是09数字键;另外6个是功能键,用于功能选择和控制,如“数据输入”、“数据显示”、“串行通信”功能选择键,以及“回车”、“清除”、控制键。(2)显示电路由6个7段LED数码管组成的显示电路。(3)串口串行通信1)利用51的串口实现串行通信接口电路。2)完成ISP下载电路的设计、焊接3)完成系统软件的设计,包括程序结构设计、流程图绘制、程序设计,实现如下功能(1)功能选择通过功能选择键,使得单片机处于不同的工作状态并通过LED显示相应的内容;可选择的功能包括:数据输入;数据显示;串口通信(2)数据输入通过功能选择键选择“数据输入”后,可分次输入10个4位十进制数据,并将输入的数据保存在内部RAM中。数据输入要求:1)第一步输入序号09,表明输入的是第几个4位十进制数据;2)第二步按下回车键,完成序号输入;3)第三步输入最多4位的十进制数据;4)第四步按下回车键,完成数据输入;5)重复第一步,开始新数据的输入;6)输入数据的显示格式是:最左边是序号,然后是空格,之后是从右到左的最多4位十进制数;7)若在输入过程中(第一步或第三步)出现错误,按“清除”键,重新从第一步开始输入数据。或者,自己设计10个十进制数的输入及显示方式。(3)数据显示通过功能选择键选择“数据显示”后,可显示之前输入的10个4位十进制数据中的任一个,要求:1)第一步输入序号09,表明显示的是第几个4位十进制数据;2)第二步显示相应的数据;3)重复第一步、第二步,显示其他的数据;4)数据的显示格式是:最左边是序号,然后是空格,之后是要显示的数据,从右到左最多4位十进制数。或者,自己设计数据的显示方式。(4)数据通信将两个单片机最小系统通过串口连接起来,其中一个作为主系统,另一个作为辅系统。当通过功能选择键选择“串行通信”后,当在主系统上按下数字键后主系统的LED按从左向右移东的方式显示按键输入的数字,同时辅系统的LED上显示与主系统同样的内容。4)利用仿真软件完成系统仿真工作;5)在单片机最小系统硬件上实现任务3中规定的功能。2系统总体设计采用单片机控制。利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的功能选择、数据输入、数据输出、串口通信等不同功能。不但能实现基本的显示功能,而且能在很大的程度上扩展功能,还可以方便的对系统进行升级。为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求。单片机控制实现方案框图,如下图所示。图2-1单片机控制实现方案框图2.1 51单片机内部结构MCS-51单片机是在一块芯片中集成了CPU,RAM,ROM、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件。MCS-51单片机内包含下列几个部件: 一个8位CPU; 一个片内振荡器及时钟电路; 4K字节ROM程序存储器; 128字节RAM数据存储器; 两个16位定时器/计数器; 可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路; 32条可编程的I/O线(四个8位并行I/O端口); 一个可编程全双工串行口; 具有五个中断源、两个优先级嵌套中断结构。振荡器及定时电路8051CPU4K字节ROM128字节RAM2个16位定时器/计数器64K总线扩展控制可编程I/O可编程串行口 频率基准源 计数器 串行 串行中断 控制 并行 I/O 口 输入 输出 图2-2 8051单片机框图1、 CPUCPU是单片机的核心部件。它由运算器和控制器等部件组成。运算器的功能是进行算术运算和逻辑运算。定时与控制部件有时钟电路组成。8051片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,时钟可以由内部方式产生或外部方式产生。内部方式时钟电路如图2-2所示。在XTAL1和 XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶振可以在1.2MHz到12MHz之间选择,电容值在5-30PF之间选择,电容的大小可起频率微调作用。图 2-3 内部方式时钟电路外部方式的时钟很少用,若要用时,只要将XTAL1接地,XTAL2接外部振荡器就行。对外部振荡信号无特殊要求,只要保证脉冲宽度,一般采用频率低于12MHz的方波信号。时钟发生器把振荡频率两分频,产生一个两相时钟信号P1和P2供单片机使用。P1在每一个状态S的前半部分有效,P2在每个状态的后半部分有效。2、存储器MCS-51单片机的程序存储器和数据存储器空间是互相独立的,物理结构也不同。程序存储器为只读存储器(ROM)。数据存储器为随机存取存储器(RAM)。单片机的存储器编址方式采用与工作寄存器、I/O口锁存器统一编址的方式。有关存储器的内容将在下一节中详述。3、I/O端口I/O端口又称为I/O接口,也叫做I/O通道或I/O通路,I/O端口是MCS-51单片机对外部实现控制和信息交换的必经之路,I/O端口有串行和并行之分,串行I/O端口一次只能传送一位二进制信息,并行I/O端口一次能传送一组二进制信息。4、总线MCS-51单片机属总线型结构,通过地址/数据总线可以与存储器(RAM、EPROM)、并行I/O接口芯片相连接。在访问外部存储器时,P2口输出高8位地址,P0口输出低8位地址,由ALE(地址锁存允许)信号将P0口(地址/数据总线)上的低8位锁存到外部地址锁存器中,从而为P0口接受数据作准备。在访问外部程序存储器(即执行MOVX)指令时,PSEN(外部程序存储器选通)信号有效,在访问外部数据存储器(即执行MOVX)指令时,由P3口自动产生读/写(/)信号,通过P0口对外部数据存储器单元进行读/写操作。单片机最小系统,是指用最小的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路、按键输入、显示输出等。单片机接口电路主要用来连接计算机和其他外部设备。2.2 51单片机引脚功能MCS单片机都采用40引脚的双列直插封装方式。图2-4为引脚排列图, 40条引脚说明如下:图2-4 8051引脚排列图其中,P0端口(P0.0P0.7,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。P1端口(P1.0P1.7,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。P2端口(P2.0P2.7,2128引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。P3端口(P3.0P3.7,1017引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:表2-1 P3口引脚功能引脚号复用功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时器0的外部输入)P3.5T1(定时器1的外部输入)P3.6外部数据存储器写选通P3.7外部数据存储器读选通 RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN(29引脚):是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。EA/VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RESET。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端。2.3 单片机最小系统51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用1030uF,51单片机最小系统容值越大需要的复位时间越短。51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。51单片机最小系统起振电容C2、C3一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。其他接口内部有上拉电阻,作为输出口时不需外加上拉电阻。设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2 ms。图2-5 单片机最小系统图3系统单元原理与设计3.1系统硬件设计3.1.1时钟电路STC89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或8051单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。本设计主要是用内部振荡方式完成的。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。晶振频率,以19.2K波特率为例,19.2K波特率的晶振为19200(256-0FDH)3842 =11.0592 (SMOD=1)选用11.0592MHz只是为了得到精确的通信波特率,串口通信的可靠性高。外接石英晶体及电容C2、C3接在放大器的反馈回路中构成并联谐振电路,起稳定振荡频率、快速起振的作用。对外接电容C2、C3虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度的稳定性,一般在2060pF之间选择,本次采用30pF。时钟电路设计图,如图3-1所示。图3-1 时钟电路设计图3.1.2 复位电路单片机有一个复位引脚RST,它是施密特触发输入,当振荡器起振后,该引脚上出现2个机器周期以上的高电平,使器件复位,只要RST保持高电平,单片机保持复位状态11。此时ALE、PSEN、P0、P1、P2、P3口都输出高电平。RST变为低电平后,退出复位,单片机从初始状态开始工作。对于复位电路,本设计采用上电复位电路,由于89C51是高电平复位,因此通过在RESET端接一个电阻到地,并接一个电容到电源的方式完成上电复位,上电时电源给电容充电,电容导通,因此RESET脚就相当于连接到+5V电源,开始复位,当电容充电完成后,电容断开,RESET脚被下拉电阻钳位在低电平,则退出复位状态。复位电路设计图,如图3-2所示。复位电路连接图如下图3-2 复位电路设计图单片机在启动运行时都需要进行复位操作,以便使CPU和系统中的其它部件都处于某一确定的初始状态,并从这个状态开始工作。AT89C51单片机有一个引脚RST,它是施密特触发器的输入端,其输出端接复位电路的输入。复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期(即二个机器周期)以上,若使用频率为6MHz的晶振,则复位信号持续时间应超过4s才能完成复位操作。复位之后,使ALE、PSEN、P0、P1、P2口的输出均为高电平(即为输入状态),复位后,内部寄存器的状态如表3、1所示。RST变为低电平后,便又退出复位状态。CPU从初始化工作,由状态表可知,复位后:程序寄存器为0000H开始执行程序,内部RAM不受复位影响。复位有电复位和按键手动复位两种。按键手动复有电平方式和脉冲方式两种。本次设计中,为方便人的操作,采用按键手动复位的按键电平复位。其复位电路如下表示:表3-1 复位电路表PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP0-P30FFHSCON00HIPXX000000HSBUF00HIE0X000000HPCON不定TMOD00H0XXX0000B3.1.3 矩阵键盘模块设计本设计中需要用到16个按键,矩阵键盘,由于单片机的内部上拉,按键没按下时,处于稳定的高电平,当有按键按下时,单片机可扫描检查到低电平。而不会引起按键的误操作,提高按键电路的抗干扰能力。电路原理如图所示。图3-3 矩阵键盘模块其工作原理是从0列开始顺序行扫描即该行输出为0。每扫描一行读入列线数据,从0开始列检查找该行输出为0的列,若无则顺序扫描下一行并检查其各列,若找到某列线为0则该列与检查行交叉的按键为被按下的键。需要注意的时,当按键按下和释放的瞬间都有抖动现象,一般来说,抖动的时间长短与键盘的机械特性有关,大约为5-10ms。所以在实际编程时一定要注意键盘的去抖动。键盘去抖动有专用的延时电路,也有专门的延时芯片,也可以用软件去抖,考虑到电路的难易程度,从简化硬件的角度,本次设计采用软件去抖动,用一个短延时程序,进行键盘去抖操作。3.1.4 数码管显示模块设计本设计中采用六位一体共阴的数码管,数码管的位选信号即每个数码管的公共端,用单片机一组I/O口作为数据口向数码管发送数据信息,而用另一组I/O口对数码管进行位选,通过同相电平驱动芯片74HC573驱动,从而实现动态显示。由于是共阴的数码管,因此当P2.0-P2.7输出为高电平时,数码管位选位被关闭,当P2.0-P2.7输出为低电平时,数码管位选位被打开。前四个数码管分别接P2.0、P2.1用于显示序号;后面分别接P2.2、P2.3、P2.4和P2.5,用于显示数值。数码管显示电路图,如图3-4所示。图3-4 数据显示模块数码管部分数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a, b, c, d, e, f, g, dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果能够节省大量的I/O端口,而且功耗更低。图3-5 数据显示模块74HC573锁存器部分显示单元由两个4位8段共阴数码管组成,电路连接时,公共端接低电平,由于数码管内部二极管点亮时需要5mA以上的电流,而单片机的输出电流还不到1mA,所以数码管与单片机连接时需加驱动电路,可以使用上拉电阻的方法,也可以使用专门的驱动芯片,考虑到复用单片机I/O接口,节省单片机I/O资源,此次设计采用74HC573锁存器,其输出电流较大,电路接口简单且可直接驱动数码管显示。74HC573的引脚分布图如下。图3-6 74HC573的引脚分布:为三态允许输入端(低电平有效),也可称作输出允许端;1D-8D为数据输入端;1Q-8Q为数据输出端;LE为锁存允许端。74HC573所对应真值表3-2如表。表3-2 74HC573真值表INPUTOUTPUT LE DQL H LL L XH X XHQ0Z由真值表可以看出,当为高电平时,无论LE与D端为何电平状态,其输出均为高阻态,此时芯片处于不可控状态。做设计时必须使其处于可控状态,即应该接低电平。当为低电平时,若LE为H,则D与Q同时为H或者L,数据实现直通传送;而当LE为L时,无论D为何状态Q都保持上一次的数据状态,数据被锁存住,利用此特性即可实现对数码管的控制。其中:H高电平;L低电平;X任意电平;Z高阻态,既不是高电平也不是低电平,其电平状态由与它相连接的其它电气状态决定;Q0上次的电平状态。本次设计中:段选信号LE接P2.6,对应图中标号P2,6;位选信号LE接P2.7,对应图中标号P2.7。控制显示时先给P2.6高电平,使通道打开,接着送字码,然后把P2.7电平拉低,使字码保持住;之后打开P2.7(送高电平),紧接着送位码,控制要显示的位,然后把P2.7拉低,数据被保持。最后延时5ms;依次循环扫描;利用数码管点亮后的余晖和人眼视觉暂留效应即可实现动态显示。3.1.5 串口下载模块设计串口是计算机上一种非常通用设备通信的协议不要与通用串行总线Universal Serial Bus或者USB混淆。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议很多GPIB兼容的设备也带有RS-232口。同时串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单串口按位bit发送和接收字节。尽管比按字节byte的并行通信慢但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时规定设备线总常不得超过20米并且任意两个设备间的长度不得超过2米而对于串口而言长度可达1200米。 典型地串口用于ASCII码字符的传输。通信使用3根线完成1地线2发送3接收。由于串口通信是异步的端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。 本次设计中采用MAX232电平转换芯片,其构成的串口通信电路原理图如下图所示。图3-7 串口通信电路本串口通信电路的第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从11引脚(T1IN)、10引脚(T2IN)输入转换成RS-232数据从14脚(T1OUT)、7脚(T2OUT)送到电脑DB9插头;DB9插头的RS-232数据从13引脚(R1IN)、8引脚(R2IN)输入转换成TTL/CMOS数据后从12引脚 (R1OUT)、9引脚(R2OUT)输出。 第三部分是供电。15脚GND、16脚VCC(+5v)。2.MAX232电平转换芯片MAX232是电平转换芯片。1970年美国电气学会规定“RS232”串口通信协议。规定逻辑“1”-5 -15V逻辑“0”5 15V 。噪声容限为2V。要实现利用串口与单片机进行通信就要进行电平转换把标准转化成单片机可以识别的。MAX220MAX249都是电平转换芯片在单片机最小系统中使用MAX232。图3-8 MAX232电平转换芯片引脚图而RS232接口连接器一般使用型号为DB-9的9芯插头座,只需3条接口线,即发送数据、接收数据和信号地即可传输数据,在此用于串口通信接口,其引脚图如下所示。图3-9 RS232接口引脚图 RS232的规范中,电压值在+3V+15V(一般使用+6V)称为0或ON。电压在-3V-15V(一般使用-6V)称为1或OFF;RS232为全双工工作模式,其信号的电压是参考地线而得到的,可以同时进行数据的传送和接收。引脚功能介绍和引脚图:1 数据载波检测 DCD 2 接收数据 RXD 3 发送数据 TXD 4数据终端准备 DTR 5信号地 GND 6 数据设备准备好 DSR 7请求发送 RTS 8 清除发送 CTS 9振铃指示 DELL 3.1.6系统整体设计电路图本系统由单片机最小系统构成的控制模块、矩阵键盘模块、数码管显示模块、串口通信模块组成。图3-10 Altium Designer硬件设计整体电路图图3-11 Altium Designer设计PCB电路2D图图3-12 Altium Designer设计PCB电路3D图 图3-13 proteus仿真设计整体电路图 3.2系统软件设计3.2.1系统主程序模块在主程序模块中,需要完成对各参量和接口的初始化,通过调用键盘扫描程序,监控矩阵键盘的动作,通过调用功能选择程序,完成相应的功能。程序流程如图所示。图3-14系统主程序流程图3.2.2功能选择模块通过功能选择键,使得单片机处于不同的工作状态并通过数码管显示模块显示相应的内容;可选择的功能包括:数据输入、数据显示、串口通信。图3-15功能选择程序模块流程图3.2.3数据输入模块通过功能选择键选择“数据输入”后,可分次输入10个4位十进制数据,并将输入的数据保存在内部RAM中。数据输入过程为:(1) 第一步输入序号09,表明输入的是第几个4位十进制数据;(2) 第二步按下回车键,完成序号输入;(3) 第三步输入最多4位的十进制数据;(4) 第四步按下回车键,完成数据输入;(5) 重复第一步,开始新数据的输入;(6) 输入数据的显示格式是:最左边是序号然后是空格,之后从右到左的最多4位十进制数;(7) 若在输入过程中(第一步或第三步)出现错误,按“清除”键,重新从第一步开始输入数据。图3-16数据输入程序流程图3.2.4 数据显示模块通过功能选择键选择“数据显示”后,可显示之前输入的10个4位十进制数据中的任一个,其过程为:第一步输入序号09,表明显示的是第几个4位十进制数据;第二步显示相应的数据;重复第一步、第二步,显示其他的数据;数据的显示格式是:最左边是序号,然后是空格,之后是要显示的数据,从右到左最多4位十进制数。图3-17数据显示程序流程图3.2.5数据通信模块将两个单片机最小系统通过串口连接起来,其中一个作为主机,另一个作为从机。当通过功能选择键选择“串行通信”后,当在主机上按下数字键后从机的数码管显示模块上按从左向右移东的方式显示按键输入的数字,同时从机的数码管显示模块上显示与主机同样的内容。图3.18主机发送程序流程图图3-19 从机接收程序流程图4仿真分析4.1 Proteus硬件仿真环境简介本电路使用Proteus进行仿真,Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。全局仿真电路图如图4-1所示。图4-1全局仿真电路图为了简化布线过程,使电路图清晰明了,有些端口采取网络标号法。图4-2 仿真分析电气检查结果图4-2中,完成Proteus软件的电路连接后,进行电气检查,检查结果证明未出现电气连接错误。4.2 仿真过程记录4.2.1 数据输入功能仿真通过功能选择键选择“数据输入”后,可分次输入10个4位十进制数据,并将输入的数据保存在内部RAM中。数据输入要求:第一步输入序号09,表明输入的是第几个4位十进制数据;第二步按下回车键,完成序号输入;第三步输入最多4位的十进制数据;第四步按下回车键,完成数据输入;重复第一步,开始新数据的输入;输入数据的显示格式是:最左边是序号,然后是空格,之后是从右到左的最多4位十进制数。图4-3 输入序号0的仿真结果图4-4 输入第四位数的仿真结果由图4-3可以看出,当输入序号为0并按下回车后,数码管显示序号0。仿真证明序号输入功能正常。由图4-4可以看出,输入第四位数8543时,数码管显示序号0和对应输入的数值8543。仿真证明数据输入功能正常。4.2.2数据输出功能仿真通过功能选择键选择“数据显示”后,可显示之前输入的10个4位十进制数据中的任一个,要求:第一步输入序号09,表明显示的是第几个4位十进制数据;第二步显示相应的数据;重复第一步、第二步,显示其他的数据;数据的显示格式是:最左边是序号,然后是空格,之后是要显示的数据,从右到左最多4位十进制数。图4-5序号为1的数据输出仿真结果图4-6序号3的数据输出仿真结果由图4-5可以看出,当输入序号为1时,数码管显示序号1和对应输入的数值1234。由图4-6可以看出,当输入序号为3时,数码管显示序号3和对应输入的数值3456。仿真证明数据输出功能正常。图4-7序号为5的数据输出仿真结果图4-8序号为0的数据输出仿真结果由图4-7可以看出,当输入序号为5时,由于显示序号5的数值。由图4-8可以看出,当在读数模式下输入序号0时,输入显示为8543。证明了数据已经成功存入RAM中,并能够正常读数。4.2.3串口通信功能仿真主从机进行串行通信结果如下:图4-9 串行通信的主、从机仿真结果由图4-9可以看出,当主机输入数值76540时,主机数码管模块显示数值76540,主机数码管模块也同时显示数值76540。仿真证明串口通信功能正常。4.3 仿真结果分析从以上仿真结果可看出,设计的电路很好地实现了单片机系统所要求的各种技术指标。但是,软件仿真是一种理想状态下的模拟,没有考虑到很多现实中存在的可变因素,不能完全等同于实际结果。因而,在实物焊接及调试过程中,我还要根据实际情况对设计方案进行适当的改进。5实物的制作与调试实践表明,新安装完成的电路板,往往难于达到预期的效果。这是因为人们在设计时,不可能周全地考虑到元件值的误差、器件参数的分散性等各种复杂的客观因素,此外,电路板安装中仍有可能存在没有查出的错误。通过电路板的测试和调整,可发现和纠正设计方案的不足,并查出电路安装中的错误,然后采取措施加以改进和纠正,就可使之达到预定的技术要求。5.1 实物的制作画出每个单元电路的电路原理图和连线图,画出整个电子系统的原理图,再按照完整的电路图进行电路板实物焊接工作。由于实验室条件限制,本次课程设计的单片机系统电路板采用走锡焊接。图5-1单片机系统实物板正面图5-2单片机系统实物板背面5.2 电路的调试过程实践表明,新安装完成的电路板,往往难于达到预期的效果。这是因为人们在设计时,不可能周全地考虑到元件值的误差、器件参数的分散性等各种复杂的客观因素,此外,电路板安装中仍有可能存在没有查出的错误。通过电路板和程序的测试和调整,可发现和纠正设计方案的不足,并查出电路安装中的错误,然后采取措施加以改进和纠正,就可使之达到预定的技术要求。5.2.1 数据输入功能调试通过功能选择键选择“数据输入”后,可分次输入10个4位十进制数据,并将输入的数据保存在内部RAM中。数据输入要求:第一步输入序号09,表明输入的是第几个4位十进制数据;第二步按下回车键,完成序号输入;第三步输入最多4位的十进制数据;第四步按下回车键,完成数据输入;重复第一步,开始新数据的输入;输入数据的显示格式是:最左边是序号,然后是空格,之后是从右到左的最多4位十进制数。图5-3 输入序号0的调试结果图5-4 输入第一位数的调试结果图5-5 输入第二位数的调试结果图5-6 输入第三位数的调试结果图5-7 输入第四位数的调试结果由图5-3可以看出,当输入序号为0并按下回车后,数码管显示为第一位0,说明选中第一位进行数据输入。仿真证明序号输入功能正常。由图5-4可以看出,输入第一位数7时,数码管显示序号0和对应输入的数值0007。由图5-5可以看出,输入第二位数5时,数码管显示序号0和对应输入的数值0075。由图5-6可以看出,输入第三位数4时,数码管显示序号0和对应输入的数值0754。由图5-7可以看出,输入第四位数3时,数码管显示序号0和对应输入的数值7543。调试证明数据输入功能正常。5.2.2数据输出功能调试通过功能选择键选择“数据显示”后,可显示之前输入的10个4位十进制数据中的任一个,要求:第一步输入序号09,表明显示的是第几个4位十进制数据;第二步显示相应的数据;重复第一步、第二步,显示其他的数据;数据的显示格式是:最左边是序号,然后是空格,之后是要显示的数据,从右到左最多4位十进制数。图5-8序号为1的数据输出调试结果图5-9序号为2的数据输出调试结果图5-10序号3的数据输出调试结果由图5-8可以看出,当输入序号为0时,数码管显示序号1和对应输入的数值1234。由图5-9可以看出,当输入序号为2时,数码管显示序号2和对应输入的数值2109。由图5-10可以看出,当输入序号为3时,数码管显示序号2和对应输入的数值3456。调试证明数据输出功能正常。图5-11
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 平行四边形的判定课件2025-2026学年人教版八年级数学下册
- 1.1.1有机化合物的分类 课件 高二下学期化学人教版选择性必修3
- 2026年知识产权专业知识和实务(中级)通关检测卷(含答案详解)
- 2026年幼儿园教学说课
- 2026年幼儿园贝贝换牙
- 2026年无字天书幼儿园
- 2025福建福州市规划设计研究院集团有限公司招聘笔试参考题库附带答案详解
- 2025福建漳州市凌波酒店管理集团有限公司招聘69人笔试参考题库附带答案详解
- 2025福建南平武夷高新技术产业控股集团有限公司招聘20人笔试参考题库附带答案详解
- 2025湖南长沙融发集团招聘8人笔试参考题库附带答案详解
- 《居家安宁疗护服务规范(征求意见稿)》编制说明
- 高中化学与生物跨学科融合:化学键视角下的营养素相互作用教学设计
- (完整版)2026年党建基础知识应知应会试题及答案
- 基于1+X证书制度构建“岗课赛证”融通模式的典型案例
- 2023年年度全国注册土木工程师水利水电工程执业资格考试水工结构专业案例试卷上午
- 大一下学期高等数学期中考试试卷及答案
- GB/T 27725-2011热塑性塑料蝶阀
- GB/T 1957-2006光滑极限量规技术条件
- GA 884-2018公安单警装备催泪喷射器
- 农业行政处罚程序和文书制作课件
- 输电线路改造工程验收交底
评论
0/150
提交评论