一、功能要求
1.有4个功能键,分别用来选择输出:三角波、锯齿波、梯形拨、方波。
2.按下某个功能键,进入中断,在中断程序中查询、确定是哪个功能键,并输出对应的波形。
3.显示器2位,显示功能号01、02、03、04,代表输出三角波、锯齿波、梯形拨、方波。
二、设计任务
1、 完成单片机最小系统电路设计。
2、 完成按键电路设计。
3、 完成D/A转换及接口电路的设计。
4、 完成显示电路的设计。
电路图如下:(proteus 仿真通过)
其一仿真图:
三、源程序
ORG 0000H
START: LJMP MAIN
ORG 0003H ;外部中断入口
LJMP INSER ;转到中断服务程序
ORG 0030H
MAIN: MOV DPTR,#7FFFH ;DAC0832地址
SETB EX0 ;允许中断
SETB IT0 ;负边沿触发方式
SETB EA ;开中断
HERE: JB 20H.0,ST ;锯齿波处理
JB 20H.1,TRI ;三角波处理
JB 20H.2,SQ ;方波处理
JB 20H.3,TXB ;梯形波处理
SJMP HERE ;等待中断
INSER: JNB P1.0, LL1 ;中断服务程序,查询按键
SJMP L1
LL1: MOV 20H,#00H SETB 20H.0 ;设置锯齿波标志
SJMP RT
L1: JNB P1.2, LL2
SJMP L2
LL2: MOV 20H,#00H
SETB 20H.1 ;设三角梯波标志
SJMP RT
L2: JNB P1.4, LL3
SJMP L3
LL3: MOV 20H,#00H
SETB 20H.2 ;设置方波标志