2.设置protel 99 se/Schematic设计环境。包括设置格点大小和类型,光标类型等等,大多数参数也可以使用系统默认值。
3.旋转零件。用户根据电路图的需要,将零件从零件库里取出放置到图纸上,并对放置零件的序号、零件封装进行定义和设定等工作。
4.原理图连线。利用protel 99 se/Schematic提供的各种工具,将图纸上的元件用具有电气意义的导线、符号连接起来,构成一个完整的原理图。
5.调整线路。将初步绘制好的电路图作进一步的调整和修改,使得原理图更加美观。 6.报表输出。通过protel 99 se/Schematic提供的各种报表工具生成各种报表,其中最重要的报表是网络表,通过网络表为后续的电路板设计作准备。
7.文件保存及打印输出。最后的步骤是文件保存及打印输出。 使用proteus仿真的步骤
1. 添加元件;添加本次仿真所需要的元件到元件列表。 2. 放置元件;将添加进来的元件,放置到原理图编辑区中。 3. 电路图布线;将各个元件连接起来。
4. 系统仿真;导入程序文件,进行仿真,观察结果。
五、实验记录与结论
使用protel绘制出来的ADC转换原理图截图,如图2.1。
5
图2.1 ADC转换原理图
使用proteus设计的电动机显示实例截图,如图2.2。
图2.2 电动机原理图
通过本次实验让我对Proteus,protel和System view有了一定的了解,能用Proteus绘制一些简单的仿真图如图2.1和2.2。同时对protel的制作步骤也有了个较深的了解,相信对后面的系统设计有很大的帮助。最后也对System view做了一定的了解,但是还很薄弱,以后还得加强。
6
第3部分 系统的硬件电路及软件设计
一、实验目的
1.掌握运用汇编语言编写程序和模块化的编程概念 2.对系统硬件电路进行详细设计,画出原理图 3.掌握各单元模块的使用方法及功能
二、实验内容
1.画出各主要控制部分的流程图 2.运用汇编语言编写程序
3.熟悉各硬件模块如AT89C51、SM0038的各自功能 4.设计发射电路和接收电路图并在proteus中画出原理图
三、实验原理与方法
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51与AT89S51管脚分布相同。如图3.1为AT89S51管脚分布图。
图3.1 AT89S51单片机管脚图
(1)主要特性
8031 CPU与MCS-51 兼容
4K字节可编程FLASH存储器(寿命:1000写/擦循环) 全静态工作:0HZ-24MHZ 三级程序存储器保密锁定 128*8位内部RAM
7
32条可编程I/O线 两个16位定时器/计数器 6个中断源 可编程串行通道
低功耗的闲置和掉电模式 片内振荡器和时钟电路 (2)管脚说明 VCC:供电电压。 GND: 接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P1口的管脚第一次写“1”时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被上拉为高电平。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收、输出4个TTL门电流。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口将输出电流。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置“0”。此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
8
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。 (3)振荡器特性
XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
(4)芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
(5) 红外线及器件的基本知识
我们知道,人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76μm;红外线波长比红光还长,红外线遥控就是利用波长为0.76~1.5μm之间的红外线来传送控制信号的。
红外遥控系统一般分为发射和接收两个部分。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管。由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量的使用的红外发光二极管发出的红外线波长为0.94μm左右,外形与普通φ5发光二极管相同,只是颜色不同。红外发光二极管一般有黑色、深蓝、透明三种颜色。
红外遥控常用的载波频率为38KHZ这是由发射端所使用的455 KHZ晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455KHZ÷12≈37.9KHZ≈38KHZ。也有一些遥控系统采用36 KHZ、40 KHZ、56 KHZ等,一般由发射端晶振的振荡频率来决定。红外遥控的特点是不影响周边环境的、不干扰其他电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。因此,现在红外遥控在家用电器、室内近距离(小于10米)遥控中得到了广泛的应用。
9