武汉理工大学单片机课设
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
序号(学号):0121109310631
学生实习报告书
实习类别单片机应用实习
实习地址武汉理工大学信息工程学院
学院信息工程学院
专业通信工程
班级
姓名
指导教师
2014 年 1 月13 日
课程设计任务书
学生姓名:专业班级:
指导教师:工作单位:武汉理工大学
题目: 单片机原理与应用
初始条件:
STC89C52 数码管 MAX232 矩阵键盘仿真软件
要求完成的主要任务:
1)利用PROTEL等软件进行硬件设计;
2)利用Keil uV2软件完成应用系统软件设计;
3)利用PROTEUS软件进行仿真设计;
4)完成单片机最小系统和应用系统电路板的焊接;
5)对电路进行调试;
6)利用stc-isp软件完成在系统编程、下载,并完成系统软件调试;
7)题目由指导教师提供;
8)要求每个学生单独完成硬件软件设计、仿真、焊接、调试任务;
9)写出实习报告,实习报告主要包括以下内容:目录、摘要、关键词、基本原理、方案论证、硬件设计、软件设计(带流程图、程序清单)、仿真结果、实物运行结果照片、结论、参考文献等;
10)实习完成后通过答辩;
11)答辩时交实习报告电子文档,通过答辩后根据修改意见修改并打印、装订成册。
实习地点
武汉理工大学信息工程学院通信实验室。
实习时间
2013年12月30日---2014年1月12日。
指导教师签名:年月日
系主任(或责任教师)签名:年月日
目录
摘要 (I)
Abstract (II)
1系统总体设计 (3)
2系统单元原理与设计 (4)
2.1系统硬件设计 (4)
2.1.1单片机控制模块设计 (4)
2.1.1.1 时钟电路 (7)
2.1.1.2 复位电路 (8)
2.1.2 矩阵键盘调整模块设计 (9)
2.1.3 数据管显示模块设计 (10)
2.1.4 串口通信模块设计 (13)
2.1.3 系统整体设计电路图 (15)
2.2系统软件设计 (15)
2.2.1系统主程序模块 (15)
2.2.2功能选择模块 (16)
2.2.3数据输入模块 (17)
2.2.4 数据输出模块 (18)
2.2.5 数据通信模块 (18)
2.2.7按键扫描模块 (19)
2.2.8 数据显示模块 (20)
3电路仿真结果 (21)
3.1 仿真环境简介 (21)
3.2 仿真过程记录 (22)
3.2.1 数据输入输出功能调试 (22)
3.2.2 串口通信功能调试 (23)
3.3 仿真结果分析 (24)
4实物的制作与调试 (25)
4.1 实物的制作 (25)
4.2 电路的调试过程 (26)
4.2.1 数据输入输出功能调试 (26)
4.2.2 串口通信功能调试 (29)
4.3 电路的调试结果分析 (29)
4.3 调试过程中遇到的问题 (30)
5心得体会 (31)
6参考文献 (32)
附录 (33)
附录1系统整体电路图 (33)
附录2元件清单 (34)
附录3 单片机程序 (36)
I
摘要
单片微型计算机简称单片机,又称为微型控制器,是微型计算机的一个重要分支。
随着电子技术的发展,大规模及超大规模集成电路和制造工艺的进一步提高,单片机以其高可靠性、高性价比、低电压、低功耗等一系列优点,广泛应用于控制系统、数据采集系统、智能化仪器表等领域。
单片机最小系统电路板在单片机开发市场和大学生电子设计方面十分流行。
本次课程设计包括
STC89S52
路及供电系统、4×4矩阵键盘、独立8个8段LED 数码管显示电路以及MAX232和RS-232标准串口构成的串口通信电路。
利用相关
Keil
软件编程以及Proteus 软件仿真借此巩固单片机应用、模拟电路、数字电路课程及学会各种工程软件的使用。
关键词:单片机 最小系统 矩阵键盘 仿真
Abstract
As 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
pply 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. Using the schematic design using Keil software programming and Proteus software simulation to consolidate the MCU, analog circuit, digital circuit course and learn all kinds of engineering software by using design software.
Keywords: SCM,the minimum system configuration,keyboard,simulation
II
1系统总体设计
采用单片机控制。
利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的功能选择、数据输入、数据输出、串口通信等不同功能。
采用单片机控制。
利用单片机丰富的I/O端口,及其控制的灵活性,有较大的活动空间,便于修改。
不但能实现基本的显示功能,而且能在很大的程度上扩展功能,还可以方便的对系统进行升级。
为此我们采用了单片机进行设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易的实现设计要求。
单片机控制实现方案框图,如下图所示。
图1.1 单片机控制实现方案框图
单片机最小系统,是指用最小的元件组成的单片机可以工作的系统。
对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路、按键输入、显示输出等。
单片机接口电路主要用来连接计算机和其他外部设备。
2系统单元原理与设计
2.1系统硬件设计
2.1.1单片机控制模块设计
本设计中,采取单片机最小系统作为系统中的控制模块。
单片机最小系统,是指能维持单片机运行的最简单配置的系统。
这种系统成本低廉、结构简单,常用来构成简单的控制系统。
图2.1 单片机控制模块电路图
STC89C52的管脚结构图及管脚说明:
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0 口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如表3-1所示:P3口管脚备选功能
P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
图2.2 STC89C52管脚结构图
表2.1 STC89C52部分引脚功能表
端口引脚复用功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(定时器0的外部输入)
P3.5 T1(定时器1的外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD (外部数据存储器读选通)RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是
ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
2.1.1.1 时钟电路
STC89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或8051单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。
本设计主要是用内部振荡方式完成的[9]。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
晶振频率,以19.2K波特率为例,19.2K 波特率的晶振为
19200×(256-0FDH)×384×2 =11.0592 (SMOD=1)
选用11.0592MHz只是为了得到精确的通信波特率,串口通信的可靠性高。
外接石英晶体及电容C2、C3接在放大器的反馈回路中构成并联谐振电路,起稳定振荡频率、快速起振的作用。
对外接电容C2、C3虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度的稳定性,一般在20~60pF之间选择,本次采用22pF。
时钟电路设计图,如图2.3所示。
图2.3 时钟电路设计图
2.1.1.2 复位电路
单片机有一个复位引脚RST,它是施密特触发输入,当振荡器起振后,该引脚上出现2个机器周期以上的高电平,使器件复位,只要RST保持高电平,单片机保持复位状态[11]。
此时ALE、PSEN、P0、P1、P2、P3口都输出高电平。
RST变为低电平后,退出复位,单片机从初始状态开始工作。
对于复位电路,本设计采用上电复位电路,由于89C51是高电平复位,因此通过在RESET端接一个电阻到地,并接一个电容到电源的方式完成上电复位,上电时电源给电容充电,电容导通,因此RESET脚就相当于连接到+5V电源,开始复位,当电容充电完成后,电容断开,RESET脚被下拉电阻钳位在低电平,则退出复位状态。
复位电路设计图,如图2-4所示。
复位电路连接图如下
图2.4 复位电路设计图
单片机在启动运行时都需要进行复位操作,以便使CPU和系统中的其它部件都处于某一确定的初始状态,并从这个状态开始工作。
AT89C51单片机有一个引脚RST,它是施密特触发器的输入端,其输出端接复位电路的输入。
复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期(即二个机器周期)以上,若使用频率为6MHz的晶振,则复位信号持续时间应超过4μs才能完成复位操作。
复位之后,使ALE、PSEN、P0、P1、P2口的输出均为高电平(即为输入状态),复位后,内部寄存器的状态如表3、1所示。
RST变为低电平后,便又退出复位状态。
CPU从初始化工作,由状态表可知,复位后:程序寄存器为0000H开始执行程序,内部RAM不受复位影响。
复位有电复位和按键手动复位两种。
按键手动复有电平方式和脉冲方式两种。
本次设计中,为方便人的操作,采用按键手动复位的按键电平复位。
其复位电路如下表示:
表2.2 复位电路表
PC 0000H TCON 00H
ACC 00H TL0 00H
PSW 00H TH0 00H
SP 07H TL1 00H DPTR 0000H TH1 00H
P0-P3 0FFH SCON 00H IP XX000000H SBUF 00H
IE 0X000000H PCON 不定TMOD 00H 0XXX0000B
2.1.2 矩阵键盘调整模块设计
本设计中需要用到16个按键,矩阵键盘,由于单片机的内部上拉,按键没按下时,处于稳定的高电平,当有按键按下时,单片机可扫描检查到低电平。
而不会引起按键的误操作,提高按键电路的抗干扰能力。
电路原理如图所示。
图2.5 矩阵键盘调整模块
其工作原理是从0列开始顺序行扫描即该行输出为0。
每扫描一行读入列线数据从0开始列检查找该行输出为0的列若无则顺序扫描下一行并检查其各列若找到某列线为0则该列与检查行交叉的按键为被按下的键。
需要注意的时,当按键按下和释放的瞬间都有抖动现象,一般来说,抖动的时间长短与键盘的机械特性有关,大约为5-10ms。
所以在实际编程时一定要注意键盘的去抖动。
键盘去抖动有专用的延时电路,也有专门的延时芯片,也可以用软件去抖,考虑到电路的难易程度,从简化硬件的角度,本次设计采用软件去抖动,用一个短延时程序,进行键盘去抖操作。
2.1.3 数据管显示模块设计
本设计中采用六位一体共阴的数码管,数码管的位选信号即每个数码管的公共端,用单片机一组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,用于显示数值。
数码管显示电路图,如图2.6所示。
图2.6 数据显示模块数码管部分
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a, b, c, d, e, f, g, dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的的COM 端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果能够节省大量的I/O端口,而且功耗更低。
图2.7 数据显示模块74HC573驱动部分
显示单元由两个4位8段共阴数码管组成,电路连接时,公共端接低电平,由于数码管内部二极管点亮时需要5mA 以上的电流,而单片机的输出电流还不到1mA ,所以数码管与单片机连接时需加驱动电路,可以使用上拉电阻的方法,也可以使用专门的驱动芯片,考虑到复用单片机I/O 接口,节省单片机I/O 资源,此次设计采用74HC573锁存器,其输出电流较大,电路接口简单且可直接驱动数码管显示。
74HC573的引脚分布图2.8如下。
OE 1
1D 2
2D 3
3D 4
4D 5
5D 6
6D 7
7D 8
8D
9
GND 10LE 11
8Q 127Q 136Q 145Q 154Q 163Q 172Q 181Q 19VCC 2074HC573GND P1.6
图2.8 74HC573的引脚分布
OE :为三态允许输入端(低电平有效),也可称作输出允许端;1D-8D 为数据输入端; 1Q-8Q 为数据输出端;LE 为锁存允许端。
74HC573所对应真值表2.3如表。
表2.3 74HC573真值表 INPUT
OUTPUT OE LE D Q
L H L L L X H X X
H
Q 0
Z 由真值表可以看出,当 为高电平时,无论LE 与D 端为何电平状态,其输出均为高阻态,此时芯片处于不可控状态。
做设计时必须使其处于可控状态,即 应该接低电平。
当 为低电平时,若LE 为H ,则D 与Q 同时为H 或者L ,数据实现直通传送;而当LE 为L 时,无论D 为何状态Q 都保持上一次的数据状态,数据被锁存住,利用此特性即可实现对数码管的控制。
其中 :H —高电平;L —低电平;X —任意电平;Z —高阻态,既不是高电平也不是低电平,其电平状态由与它相连接的其它电气状态决定;Q0—上次的电平状态。
本次设计中:段选信号LE 接P1.5,对应图中标号P1.5;位选信号LE 接P1.6,对应图
中标号P1.6。
控制显示时先给P1.5高电平,使通道打开,接着送字码,然后把P1.5电平拉低,使字码保持住;之后打开P1.6(送高电平),紧接着送位码,控制要显示的位,然后把P1.6拉低,数据被保持。
最后延时5ms;依次循环扫描;利用数码管点亮后的余晖和人眼视觉暂留效应即可实现动态显示。
2.1.4 串口通信模块设计
串口是计算机上一种非常通用设备通信的协议不要与通用串行总线Universal Serial Bus或者USB混淆。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议很多GPIB兼容的设备也带有RS-232口。
同时串口通信协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单串口按位bit发送和接收字节。
尽管比按字节byte的并行通信慢但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时规定设备线总常不得超过20米并且任意两个设备间的长度不得超过2米而对于串口而言长度可达1200米。
典型地串口用于ASCII码字符的传输。
通信使用3根线完成1地线2发送3接收。
由于串口通信是异步的端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手但是不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
本次设计中采用MAX232电平转换芯片,其构成的串口通信电路原理图如下图所示。
图2.9 串口通信电路
本串口通信电路的第一部分是电荷泵电路。
由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。
要实现利用串口与单片机进行通信就要进行电平转换把标准转化成单片机可以识别的。
MAX220–MAX249都是电平转换芯片在单片机最小系统中使用MAX232。
图2.10 MAX232电平转换芯片引脚图
3. RS232接口
RS232接口连接器一般使用型号为DB-9的9芯插头座,只需3条接口线,即"发送数据"、"接收数据"和"信号地"即可传输数据,在此用于串口通信接口,其引脚图如下所示。
图2.11 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
2.1.3 系统整体设计电路图
图2.12 RS232接口引脚图
本系统由单片机最小系统构成的控制模块、矩阵键盘模块、数码管显示模块、串口通信模块组成。
2.2系统软件设计
2.2.1系统主程序模块
在主程序模块中,需要完成对各参量和接口的初始化,通过调用键盘扫描程序,监控矩阵键盘的动作,通过调用功能选择程序,完成相应的功能。
程序流程如图所示。
图2.13 系统主程序流程图
2.2.2功能选择模块
通过功能选择键,使得单片机处于不同的工作状态并通过数码管显示模块显示相应的内容;可选择的功能包括:数据输入、数据显示、串口通信。
图2.14 功能选择程序模块流程图
通过功能选择键选择“数据输入”后,可分次输入10个4位十进制数据,并将输入的数据保存在内部RAM中。
数据输入过程为:
1)第一步输入序号0~9,表明输入的是第几个4位十进制数据;
2)第二步按下回车键,完成序号输入;
3)第三步输入最多4位的十进制数据;
4)第四步按下回车键,完成数据输入;
5)重复第一步,开始新数据的输入;
6)输入数据的显示格式是:最左边是序号,然后是空格,之后是从右到左的最多4位十进制数;
7)若在输入过程中(第一步或第三步)出现错误,按“清除”键,重新从第一步开始输入数据。
图2.15 数据输入程序流程图
通过功能选择键选择“数据显示”后,可显示之前输入的10个4位十进制数据中的任一个,其过程为:
1)第一步输入序号0~9,表明显示的是第几个4位十进制数据;
2)第二步显示相应的数据;
3)重复第一步、第二步,显示其他的数据;
4)数据的显示格式是:最左边是序号,然后是空格,之后是要显示的数据,从右到左最多4位十进制数。
图2.16 数据输出程序流程图
2.2.5 数据通信模块
将两个单片机最小系统通过串口连接起来,其中一个作为主机,另一个作为从机。
当通过功能选择键选择“串行通信”后,当在主机上按下数字键后从机的数码管显示模块上
按从左向右移东的方式显示按键输入的数字,同时从机的数码管显示模块上显示与主机同样的内容。
图2.17 数据通信程序流程图
2.2.7按键扫描模块
键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦右按键按下,便转向相应的子程序处理,处理结束再返回。
图2.18 按键扫描子程序流程图
2.2.8 数据显示模块
显示程序利用定时器每1ms产生一次中断,相应变量置位,点亮一个数码管,显示一位数据,利用主函数内的循环,实现动态扫描显示,同时根据数码管余辉和人眼暂留现可实现显示。
3电路仿真结果
3.1 仿真环境简介
本电路使用Proteus进行仿真,Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。
①实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
错误!未找到引用源。
支持主流单片机系统的仿真。
目前支持的单片机类型有:68000系列、8051系列
A VR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
③提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。
④具有强大的原理图绘制功能。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
全局仿真电路图如图3.1所示。
图3.1 全局仿真电路图
为了简化布线过程,使电路图清晰明了,有些端口采取网络标号法。
3.2 仿真过程记录
3.2.1 数据输入输出功能调试
通过功能选择键选择“数据输入”后,可分次输入10个4位十进制数据,并将输入的数据保存在内部RAM中。
通过功能选择键选择“数据显示”后,可显示之前输入的10个4位十进制数据中的任一个。
图3.2 序号为0的数据输出仿真结果
图3.3 序号为1的数据输出仿真结果。