课程设计说明书 NO.1
数据采集系统的设计 1 系统方案设计 1.1设计任务要求 设计一个数据采集系统。其主要功能有:可实现1-16通道单端模拟量输入,输入电压范围为0-10V,分辨率为12位。并且实时显示通道号和相应的输入电压值。要求:完成软、硬件设计。 16路模拟量输入信号的控制,可通过多路开关来实现;A/D转换器要选择分辨率为12位,输入电压值要经过标度变换、转换为BCD码后送去显示。 1.2系统方案 系统硬件电路如图1:AD574将0—10V 模拟信号转换为00—FF 数字信号并传送单片机, 然后由单片机进行数据存储及数据处理,最终由LED 显示器显示。完成对模拟信号的采集。 16路 A/D转换 单片机数码管 显示 模拟信号 AT89S51 图1 2 硬件系统设计 2.1 硬件系统设计原理 如图2所示,本系统中,以AT89S51单片机为运算和控制的核心,它具有4个8位并行的I/O端P0-P3,其中由P0口控制数码管显示,P1口控制信号输入。16路模拟量采集由两个CD4051完成,A/D转换由AD574完成。 沈 阳 大 学
课程设计说明书 NO.2
图2 2.2 硬件系统各个电路的设计 (1) 2.2.1多路模拟开关电路设计 1、 多路模拟开关的选取 目前采用CMOS工艺的多路开关应用最为广泛。尽管模拟开关种类很多,但其功能基本相同,只是在通道数、开关电阻、漏电流、输入电压及方向切换等性能参数有所不同。多路模拟开关主要有4选1、8选1、双4选1、双8选1和16选1等,它们之间除通道和外部管脚排列有些不同,其电路结构、电源组成及工作原理基本相同。 常用单端、双端八路模拟开关CD4051的引脚图如图3所示。 沈 阳 大 学
课程设计说明书 NO.3
图3 VDD为正电源,VEE为负电源,VSS为地,要求VDD+|VEE|≤18V。 用两个CD4051扩展成16通道的多路模拟开关如图4所示,16通道的多路模拟开关真值表见表1。 图4 沈 阳 大 学
课程设计说明书 NO.4
表1 十六通道的CD4051多路模拟开关真值表 输入状态 选中通道号 A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 沈 阳 大 学
课程设计说明书 NO.5
2、 A/D转换器的选取 AD574是美国模拟器件公司(Analog Devices)推出的单片高速12位逐次逼近型A/D转换器,转换时间<25μs。自带三态缓冲器,可以直接与8位或16位的微机相连,且能与CMOS及TTL电平兼容。由于AD574内置基准电压源及时钟发生器,这使它在不需要任何外部电路和时钟信号的情况下完成一切A/D转换功能。可以采用±12V和±15V两种电源电压,应用非常方便。图5所示为AD574A的内部结构框图。AD574A为28引脚双列直插式封装,其引脚配置如图6所示。 图5 沈 阳 大 学
课程设计说明书 NO.6
3 AD574的引脚功能 图6 VL:数字逻辑部分电源+5V。 12/8:数据输出格式选择信号引脚。当12/8 =1(+5V)时,双字节输出,即12条数据线同时有效输出;当12/8=0(0V)时,为单字节输出,即只有高8位或低4位有效。 CS:片选信号端,低电平有效。 A0:字节选择控制线。在转换期间:A0=0,AD574A进行全12位转换。在读出期间:当A0=0时,高8位数据有效;A0=1时,低4位数据有效,中间4位为“0”,高4位为三态。因此当采用两次读出12位数据时,应遵循左对齐原则。 R/C:读数据/转换控制信号,当R/C=1,ADC转换结果的数据允许被读取;当R/C=0,则允许启动A/D转换。 CE:启动转换信号,高电平有效。可作为A/D转换启动或读数据的信号。 Vcc、VEE:模拟部分供电的正、负电源,为±12V或±15V。 REF OUT:10V内部参考电压输出端。 REF IN:内部解码网络所需参考电压输入端。 沈 阳 大 学
课程设计说明书 NO.7
BIP OFF:补偿调整。接至正负可调的分压网络,以调整ADC输出的零点。 10VIN、20VIN:模拟量10V及20V量程的输入端口,信号的另一端接至AG引脚。 DG:数字公共端(数字地)。 AG:模拟公共端(模拟地)。它是AD574A的内部参考点,AG和DG在封装时已连接在一起。 DB0~DB11:数字量输出。 STS:输出状态信号引脚。转换开始时,STS达到高电平,转换过程中保持高电平。转换完成时返回到低电平。AD574A的控制信号的组合控制功能如表2所示。 表2 AD574A的控制信号的组合控制功能表 CE 0 × 1 1 1 1 1 × 1 0 0 0 0 0 × × 0 0 1 1 1 × × × × 接1脚(+5V) 接地 接地 A0 × × 0 1 × 0 1 工作状态 禁止 禁止 启动12位转换 启动8位转换 12位并行输出有效 高8位并行输出有效 低4位加上尾随4个0有效 必须指出12/8端与TTL电平不兼容,故只能用通过布线接至+5V或0V上。另外A0在数据输出期间不能变化。 如果要求AD574A以独立方式工作,只要将CE、12/8端接入+5V,CS和A0接至0V,将R/C作为数据读出和数据转换启动控制。当R/C=1时,数据输出端出现被转换后的数据,R/C=0时,即启动一次A/D转换。在延时0.5μs后STS=1表示转换正在进行。经过一次转换周期Tc(典型值为25μs)后STS跳回低电平表示A/D转换完毕,可以从数据输出端读取新的数据。 启动AD574A转换的时序图如图7所示,AD574A的读周期时序图如图8所示 。 沈 阳 大 学
课程设计说明书 NO.8
图7 图8 AD574A有单极性和双极性两种模拟信号转换方式,这主要通过改变AD574A引脚8、10、12的外接电路来实现。 图9左侧所示为单极性转换电路,可实现输入信号0~10V或0~20V的转换,其系统模拟信号的地线应与引脚9相连,使其地线的接触电阻尽可能小,图9右侧为双极性转换电路,可实现输入信号-5V~+5V或-10V~+10V的转换。 图9 沈 阳 大 学
课程设计说明书 NO.9
2.2.2 AD574与单片机连接 图10中将转换结束状态线STS与单片机的P1.1相连,故该接口采用查询方式。 由于AD574A片内有时钟,故无需外加时钟信号。由于AD574A内部含有三态锁存器,故可直接与单片机数据总线接口。AD574A是12位向左对齐输出格式,所以将低4位DB3~0接到DB11~8,第一次读出高8位DB11~4,第二次读出低4位,此时DB7~4为0000。 图10中,片选信号由P0.7控制,由于图中高8位地址P2.7~P2.0未使用,故只使用低8位地址,采用寄存器寻址方式。设启动AD574A的地址是7CH,读取高8位数据的地址为7EH,读取低4位数据的地址为7FH。 图10 沈 阳 大 学
课程设计说明书 NO.10
2.2.3单片机模块
1、AT89S51单片机的简介
AT89S51 是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统供给高性价比的解决方案。
AT89S51具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不一样产品的需求。 AT89S51与AT89C51相比,外型管脚完全相同,AT89C51的HEX程序无须任何转换可直接在AT89S51运行,结果一样。AT89S比AT89C51新增了一些功能,支持在线编程和看们狗是其中主要特点。它们之间主要区别在于以下几点:
1.引脚功能:管脚几乎相同,变化的有,在AT89S51中P1.5,P1.6,P1.7具有第二功能,即这3个引脚的第二功能组成了串行ISP编程的接口。
2.编程功能:AT89C51仅支持并行编程,而AT89S51不但支持并行编程还支持ISP再线编程。在编程电压方面,AT89C51的编程电压除正常工作的5V外,另Vpp需要12V,而AT89S51仅仅需要4-5V即可。
3.烧写次数更高:AT89S51标称烧写次数是1000次,实为1000-10000次,这样更有利开始学习者反复烧写,降低学习成本。
4.工作频率更高:AT89C51极限工作频率是24MHZ,而AT89S51最高工作频率是33MHZ,(AT89S51芯片有两中型号,支持最高工作频率分别为24MHZ和33MHZ)从而具有更快的计算速度。
沈 阳 大 学
课程设计说明书 NO.11
5.电源范围更宽:AT89S51工作电压范围,达4-5.5V,而AT89C51在底于4.8V和高于5.3V的时侯则无法正常工作。 6.抗干扰性更强:AT89S51内部集成看门狗计时器(Watchdog Timer),而AT89C51需外接看门狗计时器电路,或者用单片机内部定时器构成软件看门狗来实现软件抗干扰。 2、AT89S51引脚及功能介绍 AT89S51引脚图如下图11所示: 图11
沈 阳 大 学
课程设计说明书 NO.12
AT89S51芯片的40个引脚功能为: VCC: 电源电压。 GND: 接地。 RST: 复位输入。当RST变为高电平并保持2个机器周期时,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISKRTO位缺省为RESET输出高电平打开状态。 XTAL1: 反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2: 来自反向振荡放大器的输出。 P0口: 一组8位漏极开路型双向I/O口。也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1口: 一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输 出一个电流(IIL)。Flash编程和程序校验期间,P1接收低8位地址。P1口部分端口引脚及功能如表3所示。 表3 P1口特殊功能 P1口引脚 P1.5 P1.6 P1.7 特殊功能 MOSI(用于ISP编程) MOSI(用于ISP编程) SCK(用于ISP编程)
沈 阳 大 学
课程设计说明书 NO.13
P2口: 一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的 外部数据存储器时,P2口线上的内容在整个访问期间不改变。Flash编程和程序校验期间,P2亦接收低8位地址。 P3口: 一个带内部上拉电阻的8位双向I/O口。P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写“1”时,它们被内部的上拉电阻把拉到高电并可作输入端口。作输入端口使用时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表3所示。P3口还接收一些用于Flash闪速存储器编程和程序校验期间的控制信号。 表4 P3口特殊功能 P3口引脚 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 特殊功能 RXD(串行输入口) TXD(串行输出口) (外部中断0) (外部中断1) T0(定时器0外部输入) T1(定时器1外部输入) (外部数据存储器写(外部数据存储器读选
沈 阳 大 学
课程设计说明书 NO.14
PSEN/:程序储存允许输出是外部程序存储器的读先通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN/有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN/信号。 EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器,EA端必须保持低电平,需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。Flash存储器编程时,该引脚加上+12V的编程电压VPP。 注:I/O口的读写 P0~P3口都可以作为普通的I/O口来使用。当作为输入口使用时,必须先向该口的锁存器中写入“1”,然后再从引脚缓冲器中读入引脚状态,这样的读入结果才正确。当作为输出口使用时,可能要经常修改输出口各引脚的状态,为此在AT89S51单片机的指令系统中,设置有“读-修改-写”指令。例如,逻辑与指令“ANL P1,A”就属于这类指令。该指令的执行过程是:CPU先读入P1上的数据,然后与累加器A中的数据按位进行逻辑与操作,最后将与的结果送回P1口,完成对P1口各位状态的修改。这类指令中,读入P1口的数据是前一次写入P1口输出锁存器的数据,而不是P1口的实际状态,两者不一定相同。例如,用P1的一根线去驱动一个晶体管的基极,当向此口线写入“1”时,晶体管导通,并把引脚上的电平拉成低电平“0”。这时若从引脚上读取数据(引脚缓冲器),会读错成“0”,而不是先前输出的“1”。为此,在P0~P3口每一根线的结构上都设有一个读锁存器缓冲器,当执行这类指令时,读入的数据时锁存器的输出状态。 3、复位电路设计 RES引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即两个机器周期)以上。若使用频率为6MHz的晶振,则复位信号持续时间应超过4us,才能完成复位。 复位操作有上电自动复位和按键手动复位两种方式。本设计采用上电复位,如图12所示。 沈 阳 大 学
课程设计说明书 NO.15
图12 上电自动复位电路是在加电瞬间电容通过充电来实现的。在通电瞬间,电容C3通过电阻充电RST端出现正脉冲,用以复位。 上电瞬间,RST端的的电位与Vcc相同,随着电容的逐步充电,充电电流减小,RST电位逐渐下降。上电复位所需的最短时间是振荡器建立时间加上二个机器周期,在这段时间里,振荡建立时间不超过10ms。 4、晶振电路设计 AT89S51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器,如图13所示。电容器C1和C2通常取30pF左右,可稳定频率并对振荡频率有微调作用。本设计中采用6MHz的晶振构成单片机的时钟电路。晶振频率也就是振荡电路的脉冲频率,也称振荡频率。(振荡脉冲频率范围为0~24MHz) 图13
沈 阳 大 学
课程设计说明书 NO.16
此振荡器由XTAL1端向内部时钟电路提供一定的频率时钟源信号。另外,振荡器的工作还可由软件控制,当对单片机内电源控制寄存器PCON中的PD位置1时,可停止振荡器的工作,使单片机进入省电工作状态,此振荡器称为内部振荡器。 晶振频率是单片机的一项重要性能指标。因为单片机的时钟信号是通过振荡信号分频得到的,所以竞争频率直接影响时钟信号的频率。晶振频率高,系统的时钟频率就高,单片机运行速度也就快。然而晶振频率高对存储器等的速度和印刷电路板的工艺要求也高。晶振频率不但影响速度,而且对单片机的工作电流也有一定影响,所以在选择晶振频率是,要兼顾速度、功耗和线路工艺。 片内振荡器对构成并联谐振电路的外接电容C1和C2要求并不严格,外接晶体时,C1和C2的典型值为30pF左右。而且,在设计印刷电路板时,晶体(或陶瓷谐振器)和电容应尽可能安装得靠近单片机,以减少寄生电容,保证振荡器的稳定和可靠性。 2.2.4输出电路设计 输出电路采用数码管显示,显示方法为动态扫描显示。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。 显示部分的原理图如下图14所示,利用8255A扩展的4位LED动态显示器接口电路。图中将所有位的段选线相应地并联在一起,PB口作为段数端口,经同相驱动器后接 沈 阳 大 学
课程设计说明书 NO.17
显示器各个极,形成段选线的多路复用,而PA3~PA0作为扫描口线,经反相驱动器75452接显示器公共阴极。在每一时刻使PA3~PA0中有一位为高电平,即4位显示器中仅有一位公共阴极位低电平,其他位为高电平,同时,段选线上输出相应位要显示的字符字型码。这样同一时刻,4位LED中只有选通那一位显示出字符,而其他位熄灭的。同样,下一时刻,只让下一位的选线处于选通状态,而其他位处于关闭状态,同时,在段选线上输出相应位将要显示字符的字型码。如此循环下去,就可以使4位显示出要显示的字符。 图14 沈 阳 大 学
课程设计说明书 NO.18
3、软件系统设计 3.1主程序流程图如图14所示 图14主程序流程图 图15 A/D转换子程序流程图 3.2 A/D转换流程图如图15所示 3.3 A/D转换数据处理程序 本设计中,以查询方式实现A/D转换。 查询方式A/D转换程序如下: ORG 0200H START:MOV DPTR, #9000H MOV P1, #0FFH 沈 阳 大 学
课程设计说明书 NO.19
MOV R0, #07CH MOVX @R0, A LOOP: JB P1.1, LOOP INC R0 INC R0 MOVX MOVX A, @R0 @DPTR, A INC R0 INC DPTR MOVX MOVX HERE: AJMP RET A, @R0 @DPTR, A HERE 3.4显示子程序 根据LED显示器的结构原理,显示不同的字符需要不同的字形码。本设计选用共阴极数码管,由PA口控制LED信号灯的显示。数码管显示的真值表如下表所示: 表4 数码管显示真值表 显示字符 0 1 2 3 4 5 6 7 8 9 A B 共阴极接法 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77H 7CH 共阳极接法 C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H 88H 83H 显示字符 C D E F P U T Y H L “灭” „ 共阴极接法 39H 5EH 79H 71H 73H 3EH 31H 6EH 76H 38H 00H „ 共阳极接法 C6H A1H 86H 8EH 8CH C1H CEH 91H 89H C7H FFH „ 沈 阳 大 学
课程设计说明书 NO.20
LED显示程序为: DISPLAY: MOV DPTR,#NUMTAB MOV R0,#2 DP1: MOV R2,#150 ;设置动态显示次数 LOOP3: MOV A,#0EH ;选通点亮第1位数码管 MOV P0,A MOV A,R1 MOVC A,@A+DPTR MOV P2,A ACALL DIMS SETB P0.0 ;选通点亮第2位数码管 CLR P0.1 MOV A,50H MOVC A,@A+DPTR MOV P2,A CLR P2.7 ACALL DIMS SETB P0.1 ;选通点亮第3位数码管 CLR P0.2 MOV A,51H MOVC A,@A+DPTR MOV P2,A ACALL DIMS SETB P0.2 ;选通点亮第4位数码管 CLR P0.3 MOV A,52H MOVC A,@A+DPTR MOV P2,A ACALL DIMS SETB P0.3 DJNZ R2,LOOP3 DJNZ R0,DP1 RET DIMS: MOV R7,#00 DJNZ R7,$ RET 沈 阳 大 学
课程设计说明书 NO.21
3.5 多路数据采集系统主程序 具体程序如下: ST BIT P3.5 OE BIT P3.4 EOC BIT P3.3 ORG 0000H AJMP START ORG 0030H START: MOV R5,#0 SETT: MOV A,R5 MOV R1,A MOV 50H,A MOV 51H,A MOV 52H,A LCALL DISPLAY INC R5 CJNE R5,#10, SETT ;自检完毕 AD: MOV R1, #00 ;开始检测16路数据 MOV R4, #0C3H MOV P1, #0C3H LCALL WAIT ;检测并显示第1路数据 MOV R4, #0E3H MOV P1, #0E3H LCALL WAIT ;检测并显示第2路数据 沈 阳 大 学
课程设计说明书 NO.22
MOV R4, #0D3H MOV P1, #0D3H LCALL WAIT ;检测并显示第3路数据 MOV R4, #0F3H MOV P1, #0F3H LCALL WAIT ;检测并显示第4路数据 MOV R4, #0CBH MOV P1, #0CBH LCALL WAIT ;检测并显示第5路数据 MOV R4, #0EBH MOV P1, #0EBH LCALL WAIT ;检测并显示第6路数据 MOV R4, #0FBH MOV P1, #0FBH LCALL WAIT ;检测并显示第7路数据 MOV R4, #0C7H MOV P1, #0C7H LCALL WAIT ;检测并显示第8路数据 MOV R4, #0C7H MOV P1, #0C7H LCALL WAIT ;检测并显示第9路数据 MOV R4, #0E7H MOV P1, #0E7H LCALL WAIT ;检测并显示第10路数据 MOV R4, #0D7H MOV P1, #0D7H LCALL WAIT ;检测并显示第11路数据 MOV R4, #0F7H
沈 阳 大 学 课程设计说明书 NO.23
MOV P1, #0F7H LCALL WAIT ;检测并显示第12路数据 MOV R4, #0CFH MOV P1, #0CFH LCALL WAIT ;检测并显示第13路数据 MOV R4, #0EFH MOV P1, #0EFH LCALL WAIT ;检测并显示第14路数据 MOV R4, #0DFH MOV P1, #0DFH LCALL WAIT ;检测并显示第15路数据 MOV R4, #0FFH MOV P1, #0FFH LCALL WAIT ;检测并显示第16路数据 LJMP LOP ;返回并继续循环检测 WAIT: INC R1 ;启动ad,检测数据,数据处理,数据显示调用子程序 SETB TR0 LCALL DIMS CLR P3.5 SETB P3.5 CLR P3.5 JNB EOC,$ SETB OE MOV A,P1 CLR OE LCALL LOOP2
沈 阳 大 学
课程设计说明书 NO.24
CLR TR0 LCALL DISPLAY RET ;数据处理程序 LOOP2: MOV B, #0FFH ;数据处理程序 DIV AB MOV 51H, A MOV 52H, B MOV B, #0AH MUL AB MOV 53H, B MOV 54H, A MOV A, #16 MUL BA MOV 55H, B MOV 56H, A MOV A, 54H ADD A, B MOV 57H, A MOV R0, A RET ;显示子程序 DISPLAY: MOV DPTR,#NUMTAB MOV R0,#2 DP1: MOV R2,#150 ;设置动态显示次数 LOOP3:
沈 阳 大 学
课程设计说明书 NO.25
MOV A,#0EH ;选通点亮第1位数码管 MOV P0,A MOV A,R1 MOVC A,@A+DPTR MOV P2,A ACALL DIMS SETB P0.0 ;选通点亮第2位数码管 CLR P0.1 MOV A,50H MOVC A,@A+DPTR MOV P2,A CLR P2.7 ACALL DIMS SETB P0.1 ;选通点亮第3位数码管 CLR P0.2 MOV A,51H MOVC A,@A+DPTR MOV P2,A ACALL DIMS SETB P0.2 ;选通点亮第4位数码管 CLR P0.3 MOV A,52H MOVC A,@A+DPTR MOV P2,A ACALL DIMS
沈 阳 大 学
课程设计说明书 NO.26
SETB P0.3 DJNZ R2,LOOP3 DJNZ R0,DP1 RET DIMS: MOV R7,#00 DJNZ R7,$ RET NUMTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H 4 系统调试 4.1硬件调试 电路板印刷打完孔后未出现焊盘掉落或短线,但在焊接过程中有一处,即电容与电阻间的铜线有断开,故改用导线连接。电路板焊好后也未出现太大问题,经万用表检测完后证明电路板可用。 4.2 软件调试 检查完硬件电路后,将程序下载到单片机调试,由于程序分析及设计都经过多次修改,符合设计要求,所以最终调试结果证明,本次设计的硬件软件系统都能达到设计要求。 5 心得体会 经过本次设计,我们受益非浅。在设计过程中,我们发现电路原理图及PCB图的设计 是极其重要的一个环节。并且注意到接线环节其实也占周着相当重要的位置,因为我们的设计想法都需要通过接出的电路板才能具体甚至立体的展现出来。只有通过对电路板上电路进行调试才能确定设计理论的正确与否。因而,正确接线是一个相当关键的步骤。我得出的经验是接线要分模块来接,这样才能方便检查提高效率。这两个星期的学习、设计中,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。查找和解决接线过程中出现的问题,不仅需要充足的知识,更需要足够的细心和耐心。 另外,通过这次设计,我们了解并学会了电路板的制作、腐蚀,这是一次很有意义的实践。 虽然,设计中出现不少的难题,但是这次设计却锻炼了我们理论与实践相结合的能力,让我们深触感到团队合作的重要性,也发现了自己的一些不足,在今后的学习过程中将更加努力,提高自己的创新能力和实践能力,以适应社会和时代发展要求。 由于时间紧迫,我们的实力有限,所以有点地方做的仍然不够理想,感谢老师的指教,还望老师多
加指导。 参考文献 [1] 潘新民,王燕芳编著.微型计算机控制技术[M].北京:电子工业出版社,2003,6:37-39. [2] 刘国荣,梁景凯. 计算机控制技术与应用[M]. 北京:机械工业出版社,1999,5:66-76 [3] 李华. MCS-51系列单片机实用接口技术[M]. 北京:北京航空航天大学出版社,1993,8:37-42. [4] 何立民.单片机应用技术选编[M]. 北京: 北京航空航天大学出版社,1995,6:23-32. 沈 阳 大 学
设计时间:
数据采集系统的设计
班 级:自动化3班 学 号:T0756403 姓 名:刘晨 指导教师:李雪飞 2010年12月27日——2010年12月31日
因篇幅问题不能全部显示,请点此查看更多更全内容