第41题[问答题] 难度系数(一般)
某MCS-51单片机系统使用8031为主芯片,主频6M,要求用74LS138为译码器,扩展一片2764(8K EPROM)存放系统程序;扩展一片6264(8K RAM)存放数据,地址范围要求:4000H~5FFFH;一片ADC0809,地址范围要求:8000H~9FFFH;一片DAC0832,地址范围要求:C000H~DFFFH。要求:(假设已有+5v 和-5v的基准电源可供选择使用)。
1.设计出此系统的硬件原理图,补充所必需的逻辑电路;(8分)
2.利用上述硬件,设计一个8路巡检仪,每个通道每100ms采样1次,所得结果依次存入片外6264中,存满停止,请编写相应程序。(8分)
3.当51的P1口8个管脚分别连接8个按钮开关,设计一个子程序,检测P1口的按钮开关状态,取按钮开关所对应的AD通道号的采样值,从DA输出,(设8路AD采样值存储在40H-47H),请编写相应程序。(设按钮按下时为低电平)(4分)
4.简述如果系统扩展的不是6264,而是1片16KRAM,74LS138应如何进行片选。(2分)
(说明:第②、③小题程序为独立编写)
必须很简单
参考答案:
(1) 2764,6264,0809,0832的地址信号各1分
51和2764,6264,0809,0832的数据和地址总线2分,
WR,RD,PSEN,ALE的连接2分
(2) 采样时间2分
程序和必要的说明6分
MAIN: MOV R6, #00H
MOV R7, #00H
MOV TH0, #3CH
MOV TL0, #0B0H
SETB TR0
WAIT: JBC TF0, WAIT
MOV TH0, #3CH
MOV TL0, #0B0H
MOV R0, #8
MOV R1,#0
A_D: MOV DPH, #80H
MOV DPL, R1
MOVX @DPTR, A
JB P3.2, $
JNB P3.2, $
MOVX A, @DPTR
MOV DPH, R6
MOV DPL, R7
MOVX @DPTR, A
INC DPTR
MOV R6, DPH
MOV R7, DPL
INC R1
DJNZ R0, A_D
CJNE R6, #20H, WAIT
AJMP $
(3) 按钮程序2分
DA输出 2分
BUTTON: MOV P1, #0FFH
MOV A, P1
JNZ BUTTON
LCALL DELAY20MS
MOV A, P1
JNZ BUTTON
MOV R0, #3FH
LOOP: INC R0
RRC A
JC LOOP
MOV A, @R0
MOV DPTR, #0C000H
MOVX @DPTR, A
RET
(4) 138两个输出管脚连接一个与门,与门输出作为16K RAM的片选信号。