1、其系统的模块组成部分如下:ADC0809数据转换模块8051单片机复位7295驱动显示晶振撤消修改1.3系统设计 基于单片机的多通道数据采集系统其设计要分为两部分组成,一是硬件电路设计,二是软件设计,故其系统设计分两部分分别介绍。但是在试验时,我们是利用试验箱进行试验的,故单片机基本电路在实验箱上已被设计好,在实验时仅须注意数码管显示电路与AD转换电路即可。 A.硬件电路设计: 数码管显示电路是利用7295A芯片直接与单片机相连,当接收到单片机的控制指令时,直接驱动8位共阴数码管,显示单片机发送的数据。 HD7279A是一片具有串行接口,可同时驱动8位共阴数码管(或64只独立LED)的智能显示
2、驱动芯片,该芯片还可同时连接多达64键的键盘矩阵。HD7279A内部含译码器,可直接接受16进制码。(1) 其具体连接电路图如下所示:abcdefgdpVDDNCVSSCSCLKDATAKEYCLK0RCRESETDIG7DIG6DIG5DIG4DIG3DIG2DIG1DIG0DPSASBSCSDSESFSG7279A25242322212019181716151413121110123456789262728VCC20080C51单片机P2.7P1.6P1.7P1.3R303.3KC3015PF 注意在实验时,要将系统各跳线器接在初始设置状态(参见附录)(JT40打在左边,JD18打在右边)
3、,J2的P3.0,P3.1打在右边。这样7279才能准确驱动数码管显示单片机发送的数据。其工作时时序电路如下所示:(2) AD转换电路:AD转换电路是利用芯片ADC0809,将其与单片机直接相连。单片机直接读取经过其转换的数字量信号,再将其发送到7279芯片,驱动数码管直接显示单片机输出的信号。 实验ADC0809电路如下图所示。实验采用外设与存储器同一编址,在使用中可直接将外设当作数据存储器访问。第0路ADC地址为2f00H(即:CS AD信号对应A15A3为0010 1111 0000 0)。EOC(A/D转换结束信号输出端)取反后接单片机P1.7,若采用查询方式完成模/数转换,只需查询P
4、1.7即可。本实验CLOCK信号由CPLD Lattice3128分频产生(12MHz晶振12分频)。B.软件设计:其软件设计部分主要就是数码管显示部分和AD转换部分的程序设计。(1) 数码管显示程序:数码管显示电路的时序,其程序流程图为:变量定义堆栈指针初始化IO口 初始化延时7279复位显示字符送A调用SEND 子程序程序代码如下:CLK BIT P1.6DAT BIT P1.7CS BIT P2.7ORG 000HJMP STARTORG 100HSTART: MOV SP,#2FH ;定义堆栈 MOV P1,#11011011B ;I/O口初始化 MOV R7,#50START_DEL
5、AY: MOV R6,#255START_DELAY1:DJNZ R6,START_DELAY1 DJNZ R7,START_DELAY MOV A,#10100100B ;发复位指令 CALL SEND SETB CS XIANSHI:MOV A,#10000010b CALL SEND MOV A,#00000111bMOV A,#10000001b MOV A,#00001000bMOV A,#10000000b MOV A,#00001001bhh:JMP XIANSHISEND: MOV R0,#8 CLR CS CALL LONG_DELAYSEND_LOOP: MOV C,ACC
6、.7 MOV DAT,C SETB CLK RL A CALL SHORT_DELAY CLR CLK DJNZ R0,SEND_LOOP CLR DAT RETLONG_DELAY: MOV R7,#80DELAY_LOOP: DJNZ R7,DELAY_LOOPSHORT_DELAY:MOV R7,#6SHORT_LP: DJNZ R7,SHORT_LPEND(2) AD转换程序:由AD转换的时序电路,其软件流程图如下:ALE与START接在一起,MOV DPTR, #02f00H ; A/DNOPMOVX DPTR,A ; 启动查询P1.7即可:JNB P1.7,$MOVX A,DPTR
7、 ; 读入结果1.4程序代码 ADHEX DATA 050H DBUF DATA 060H BIT_COUNT DATA 070H TIMER DATA 072H TIMER1 DATA 073H TIMER2 DATA 074HDATA_IN DATA 020H DATA_OUT DATA 021H CLK BIT P1.6 DAT BIT P1.7 ORG 0000H LJMP MAIN ORG 0100H MAIN: clr a setb p1.7 MOV R0,#DBUF MOV DPTR,#02f00H ; NOP MOVX DPTR,A ; 启动转换 JNB P1.7,$ MOVX
8、 A,DPTR ; MOV R7,A MOV ADHEX,A CALL MUL500 ; ADHEX*500/256 CALL HB2 ; 转换成bcd CALL TODISP ; 拆开显示 CALL DISPLAY CALL delayDISPLAY: ANL P2,#00H ; CS7279有效 MOV DATA_OUT,#10100100B ; A4H,复位命令CALL SEND MOV DATA_OUT,#11001000B ; 译码方式0,0位显示 MOV DATA_OUT,DBUF CALL SEND MOV DATA_OUT,#11001001B ; 译码方式0,1位显示 MOV DATA_OUT,DBUF+1 MOV DATA_OUT,#11001010B ; 译码方式0,2位显示
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1