它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。可以实现数字电路,模拟电路及微控制器系统与外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和pcb设计等功能,是目前唯一能够对各种处理器进行实时仿真和测试的EDA工具,微控制器系统相关仿真需建立编译和调试环境,一般可供选择的有Keil C51uVision和Wave6000软件,虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PICDsPIC33、AVR、ARM、8086和MSP430等芯片,同时支持PLM、汇编和C语言的程序设计。操作界面轻松易学,在调试程序和软件仿真方面有很强大的功能。通过动态器件实时看到运行后的输入、输出的效果,所以Proteus为我们建立了完备的电子设计开发环境。
第2章方案论证与设计
2.1数字时钟方案
数字时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。 方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms年,且具有完备的时钟闹钟功能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。
方案二:本方案完全用软件仿真实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,
并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。
基于硬件的考虑,本设计采用方案二完成数字时钟的功能
2.2数码管显示方案
方案一:静态显示,静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制,静态显示时较小的电流能获得较高的亮度,且字符不闪烁。缺点是硬件电路比较复杂,成本较高。 方案二:动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 调整参数可以实现较高稳定度的显示。动态显示节省了IO口,降低了能耗。
从节省IO口和降低能耗出发,本设计采用方案二。
第3章 硬件系统设计
3.1系统框图与说明 3.2模块设计
3.2.1电源部分
图3-2
如图3-2所示,从外部引入4.5V的直流电,为单片机、复位电路提供电源。
3.2.2复位电路
图3-3
如图3-3所示,复位电路主要由型号为1N4148的二极管,型号为10UF16V的电解电容,型号为104的瓷片电容,10K的电阻以及按键S1构成,S1接芯片的相应
引脚RST,当开关按下时引脚RST为高电平1,断开时引脚为低电平0。
3.3.3晶振电路
C1,C2在是电时帮助晶振起振
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL1应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
3.3.4单片机系统电路
单片机型号及引脚功能
如图2所示,AT89C51有40引脚,双列直插(DIP)封装,所用引脚功能如下: 1. VCC ——运行时加+5V 2. GND ——接地
3. XTAL1 ——振荡器反相放大器及内部时钟发生器的输入端
4. XTAL2 ——振荡器反相放大器的输出端
5. RST ——复位输入,高电平有效,在晶振工作时,在RST引脚上作用
2个机器周期以上的高电平,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFT AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISRTO位缺省为RESET输出高电平打开状态。
6. EAVPP ——片外程序存储器访问允许信号。欲使CPU仅访问外部程序存储
器(地址为0000H-FFFFH),EA端必须保持低电平(接地),如果EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。
7. P1口,P2口——P1,P2是一组带内部上拉电阻的8位双向IO口。运行时通
过P1口控制驱动电路的工作,将数据送到数码管,显示相应的段码,为了达到减少功耗或满足端口对最大电流的限制,应加上一限流电阻。P2.0——P2.7口控制数码管的位选,使六个数码管轮流显示数据,等于0时位选三极管导通,等于1 时位选三极管截止。
8. 无自锁开关——(S2-P3.7)开关接相应引脚P3.7,当开关按下时,相应
引脚为低电平0,断开时引脚为高电平1。
3.3.5数码管显示驱动电路
数码管点亮条件:段选和位选,结合下图
图3-4
图3-5