丽水学院
课程设计与制作报告
题目数字闹钟的设计与制作
指导教师吴晓飞
院系计算机与信息工程学院
专业电子信息工程专业
班级电信082本
学号0810*******
姓名郑俭
2011年 6 月 27 日
项目二:数字闹钟的设计与制作
一、设计任务
用单片机设计并制作一数字闹钟。要求: 1.具有显示时、分、秒的功能; 2.具有校时、校分的功能
3.具有整点报时和可调的闹时功能。
二、硬件电路设计及描述
2.1 数字闹钟电路总体设计
数字闹钟应包括秒信号发生器、时间显示电路、按键电路、供电电源以及闹钟指示电路等几部分。
按键功能说明:K1,设置时间和闹钟的小时;K2,设置小时以及设置闹钟的开关;K3,设置分钟和闹钟的分钟;K4;设置完成退出。
电子闹钟的主电路主要涉及到CPU 电路和按键按钮电路。主机的设计具体地说有:1)系统时钟电路设计;2)系统复位电路设计;3)按键与按钮电路设计;4)闹钟声指示电路设计。
数字闹钟的系统框图如图1所示。
图1 数字闹钟的系统框图
2.2 电路原理图
图2中6位共阳数码管采用动态显示方式,考虑到单片机引脚的输出电流有限,为了保证数码管的亮度,在位选端增加了三极管9012用于电流放大。在段选端增加了限流电阻。键盘电路由4个按键组成,按键功能自行定义。发声电路采用了蜂呜器,为使蜂呜器声音达到一定的分贝,增加了一个三极管驱动电路。 2.3 系统时钟电路设计
复位、时钟等电路
按钮电路
CPU
6位数码管显示电路
闹铃声指示电路
电源系统
对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳定运行。但由于原理图中的C1、C2电容起着系统时钟频率微调和稳定的作用,因此,在本闹钟系统的实际应用中一定要注意正确选择参数(30±10 PF ),并保证对称性(尽可能匹配),选用正牌厂家生产的瓷片或云母电容,如果可能的话,温度系数要尽可能低。实验表明,这2个电容元件对闹钟的走时误差有较大关系。
XTAL2
18
XTAL1
19
ALE 30EA
31
PSEN 29RST
9
P0.0/AD039P0.1/AD1
38P0.2/AD2
37P0.3/AD336P0.4/AD435P0.5/AD5
34P0.6/AD6
33P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78
P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD
17
P3.6/WR 16P3.5/T115P2.7/A15
28P2.0/A821P2.1/A922P2.2/A10
23P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1
AT89C51
+5V
R1-R85.1K*8
+5V
R17-22 5.1K*6
T19012
T29012
T39012
T49012
T59012
T69012
C130pF
C230pF
+5V
C3
20uF
R291k
R28300
D1
LED
R235.1k
T78550
BUZ1
R24 5.1K
R25 5.1K
R26 5.1K
R27 5.1K
C40.01uF
C5
10uF R9-16 510*8
图2 数字闹钟电路原理图
2.4 系统复位电路的设计
智能系统一般应有手动或上电复位电路。复位电路的实现通常有两种方式:1)RC 复位电路;2)专用μP监控电路。前者实现简单,成本低,但复位可靠性相对较低;后者成本较高,但复位可靠性高,尤其是高可靠重复复位。对于复位要求高、并对电源电压进行监视的场合,大多采用这种方式。
本次课程设计采用了上电按钮电平复位电路。
2.5 闹钟指示电路设计
闹钟指示可以有声或光两种形式。本系统采用声音指示。关键元件是蜂鸣器。蜂鸣器有无源和有源两种,前者需要输入声音频率信号才能正常发声,后者则只需外加适当直流电源电压即可,元件内部已封装了音频振荡电路,在得电状态下即起振发声。市场上的有源蜂鸣器分为3V、5V、6V等系列,以适应不同的应用需要。闹钟电路是用比较器来比较计时系统和定时系统的输出状态,如果计时系统和定时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号混合,送到放大电路驱动扬声器发声,从而实现定时闹响的功能。其电路设计参见系统原理图。2.6 数字闹钟的显示电路设计
本次课程设计采用了6位数码管显示电路。在6位LED显示时,为了简化电路,降低成本,采用动态显示的方式, 6个LED显示器共用一个8位的I/O, 6位LED数码管的位选线分别由相应的P2. 0~P2. 5控制,而将其相应的段选线并联在一起,由一个8位的I/O口控制,即P0口。译码显示电路将“时”、“分”、“秒”计数器的输出状态转化成七段显示译码器译码,通过6位LED 七段显示器显示出来。到达定时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现闹钟。校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整的。
三、软件设计流程及描述
3.1 概述
软件设计的重点在于秒脉冲信号的产生、显示的实现、以及按键的处理等方面。基于软件的秒脉冲信号通常有延时法和定时中断法。延时法一般采用查询方式,在延时子程序前后必然需要查询和处理的程序,导致误差的产生,因此其秒脉冲的精度不高;中断法的原理是,利用单片机内部的定时器溢出中断来实现。例如,设定某定时器每50ms中断1次,则20次的周期为1s。本系统中所使用的晶振频率为12MHZ。
3.2 主模块的设计
主模块是系统软件的主框架。结构化程序设计一般有“自上而下”和“自下而上”两种方式,“自上而下”法的核心就是主框架的构建。它的合理与否关系到程序最终的功能的多少和性能的好坏。本系统的主模块的程序框图如下图3所示。
3.3 基本显示模块设计
程序流程如图4所示。
显示模块设计的重点是由显示代码取得相应的段码,显示段码数据的并行发送,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此
走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED 显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。 图3 主模块程序框图
图4 显示模块程序框图
3.4 时间设定模块设计
时间设定模块的设计要点是按键的去抖处理与“一键多态”的处理。即只涉及4个键完成了6位时间参数的设定。软件法去抖动的实质是软件延时,即检测到某一键状态变化后延时一段时间,再检测该按键的状态是否还保持着,如是则作为按键处理,否则,视为抖动,不予理睬。去抖中的延时时间一般参考资料多描述为10ms 左右,实际应用中,应大于20ms ,否则,会导致按一次作多次处理,影响程序正常执行。“一键多态”即多功能键的实现思想是,根据按键时刻的系统状态,决定按键采取何种动作,即何种功能。其流程图如图5所示。
CPU系统初始化 定时0初始化 中断初始化 串口初始化 显示待机指示符 设定闹铃时间 判设置闹铃时间否?
显示刷新
启动走时 有关变量初始化 刷新显示 判时或分变化否?
秒指示
判1秒到否?
闹铃 判是否到闹铃时间?
延时
Y
Y
Y Y
将16进制时分秒数据转化为BCD显示代码
关显示以免显示抖动
通过串口将时分秒数据传入数码管
打开显示
图5 时间设定模块程序框图
3.5 闹钟功能的实现
闹钟功能的实现涉及到两个方面:闹钟时间设定和是否闹钟判别与相应处理。闹钟时间设定模块的设计可参照时间设定模块,这里着重阐述闹钟判别与处理模块的设计问题。闹钟判别与闹钟处理的关键在于判别何时要进行闹钟。当时十位、时个位、分十位、分个位中任一位发生改变(进位)时,就必须进行闹钟判别。译码显示电路将“时”、“分”、“秒”计数器的输出送到七段显示译码驱动器译码驱动,通过六个七段LED 显示器显示出来。闹钟电路根据计时系统的输出状态产生一脉冲信号,然后加上一个高频或低频信号送到放大电路驱动蜂鸣器发声实现报时。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”、“秒”显示数字进行校对调整。其流程图如图6所示。
设置键吗? 设置模块初始化
将在编参数送显示缓冲区 闪烁标志为真?
将当前位的显示代码置暗代码 调基本显示模块刷新显示
设置键吗?
当前编辑位下移(下一位)
当前编辑的是分各位? 结束设定
+键吗?
根据当前位的性质分别进行
+1处理(含上下限判断)
N
N
N
N
N
时十位、个位,分十位、个位改变了
设置闹铃标志
是否设置了闹铃
清除闹铃标志
判当前时间是设定时间
中断返回
中断返回
Y N
Y
闹铃判别处理
Y Y N N
N
图6 闹钟模块程序框图
四、源程序代码
K1 EQU P1.0 ;定义4个按键 K2 EQU P1.1 K3 EQU P1.2 K4 EQU P1.3
ORG 0000H LJMP MAIN ORG 000BH LJMP TIME
ORG 0200H MAIN: MOV SP,#50H
MOV P1,#0FH ;按键高电平
MOV 20H,#00H ;时钟秒、分、时计时单元 MOV 21H,#00H MOV 22H,#00H
MOV 48H,#00H ;闹钟秒、分、时计时单元 MOV 49H,#01H MOV 50H,#01H
MOV 25H,#00H ;定义一个标志位
MOV 30H,#00H ;时钟秒、分、时显示单元 MOV 31H,#00H
初始化 显示
计时 闹钟标志
响铃 读键 定时 调时
修改值 有无闹钟 定时比较
判断
MOV 32H,#00H
MOV 33H,#00H
MOV 34H,#00H
MOV 35H,#00H
MOV 36H,#01H ;闹钟秒、分、时显示单元 MOV 37H,#00H
MOV 38H,#01H
MOV 39H,#00H
MOV TMOD,#01H ;选择定时器T0,16位模式 MOV TH0,#3CH ;定时50ms初值
MOV TL0,#0B0H
MOV IE,#10000111B ;开中断T0,EA=1
SETB TR0 ;T0启动计数
MOV R2,#14H ;计数循环20次
MOV P2,#00H
LOOP:LCALL TIMEPR0 ;调用时钟与闹钟时间比较 LCALL DISPLAY1 ;调用时钟显示子程序
JB K1,M1 ;判断K1键是否按下
LCALL XIAOZHEN1 ;调用消抖程序
MOV C,25H.0
JC A1
A1: CLR 25H.0
LCALL SETTIME ;调用设置时钟子程序
LJMP LOOP
M1: JB K2,M2 ;判断K2键是否按下
LCALL XIAOZHEN2 ;调用消抖程序
MOV C,25H.0
JC A2
A2: CLR 25H.0
LCALL SETATIME ;调用设置闹钟子程序
LJMP LOOP
M2: JB K4,M3 ;判断K4键是否按下
A3: LCALL XIAOZHEN3 ;调用消抖程序
MOV C,25H.0
JC A4
A4: CLR 25H.0
M3: LJMP LOOP
SETTIME: ;设置时钟子程序
L0: LCALL DISPLAY1 ;调用时钟显示子程序
JB K2,L1 ;判断是否时加1
LCALL XIAOZHEN4
MOV C,25H.0
A5: CLR 25H.0
INC 22H
MOV A,22H
CJNE A,#18H,G012 ;判断是否到24小时 MOV 22H,#00H ;到了,则时清0
MOV 34H,#00H
MOV 35H,#00H
LJMP L0
L1: JB K3,L2 ;判断是否分加1 LCALL XIAOZHEN5
MOV C,25H.0
JC A6
A6: CLR 25H.0
INC 21H
MOV A,21H
CJNE A,#3CH,G011 ;判断是否到60分 MOV 21H,#00H ;到了,则分清0
MOV 32H,#00H
MOV 33H,#00H
LJMP L0
G011:MOV B,#0AH ;把分的2位分开显示 DIV AB
MOV 32H,B
MOV 33H,A
LJMP L0
G012:MOV B,#0AH ;把时的2位分开显示 DIV AB
MOV 34H,B
MOV 35H,A
LJMP L0
L2: JB K4,L0 ;判断是否返回
LCALL XIAOZHEN3
MOV C,25H.0
JC AX
AX: CLR 25H.0
RET
SETATIME: ;设置闹钟子程序
LCALL DISPLAY2 ;调用闹钟显示程序
N0: LCALL DISPLAY2
JB K3,N1 ;判断是否时加1
LCALL XIAOZHEN6 ;调用消抖程序
MOV C,25H.0
A7: CLR 25H.0
INC 50H
MOV A,50H
CJNE A,#24,G022 ;判断24小时到了吗 MOV 50H,#00H ;到了,则时清0
MOV 38H,#00H
MOV 39H,#00H
LJMP N0
N1: JB K1,N2 ;判断是否分加1
LCALL XIAOZHEN7
MOV C,25H.0
JC A8
A8: CLR 25H.0
INC 49H
MOV A,49H
CJNE A,#60,G021 ;判断60分到了吗 MOV 49H,#00H ;到了,则分清0
MOV 36H,#00H
MOV 37H,#00H
LJMP N0
G021:MOV B,#0AH ;把分的2位分开显示 DIV AB
MOV 36H,B
MOV 37H,A
LJMP N0
G022:MOV B,#0AH ;把时的2位分开显示 DIV AB
MOV 38H,B
MOV 39H,A
LJMP N0
N2: JB K4,N0 ;判断是否返回
LCALL XIAOZHEN3
MOV C,25H.0
JC A9
A9: CLR 25H.0
RET
TIMEPR0: MOV A,20H ;时钟与闹钟秒比较
MOV B,48H
CJNE A,B,BK
MOV A,21H ;时钟与闹钟分比较
MOV B,49H
CJNE A,B,BK
MOV A,22H ;时钟与闹钟时比较 MOV B,50H
CJNE A,B,BK
SETB 25H.0
MOV C,25H.0
JC XX
XX: LCALL TIMEOUT ;调用闹钟子程序BK: RET
TIMEOUT: ;闹钟子程序
X1: LCALL BZ
LCALL DISPLAY2 ;调用闹钟显示程序 CLR 25H.0
JB K4,X1 ;判断是否返回 RET
BZ: CLR P3.7 ;蜂鸣器响
MOV R7,#250
T2: MOV R6,#124
T3: DJNZ R6,T3
DJNZ R7,T2
SETB P3.7
JB K4,XY ;判断是否返回 LCALL XIAOZHEN3
MOV C,25H.0
JC XY1
XY: RET
XY1: LJMP LOOP
XIAOZHEN1:LCALL DISPLAY1 ;消抖动
JB K1,XIAOZHEN1
MOV C,K1
JC XIAOZHEN1
LCALL DELAY
MOV C,K1
JC XIAOZHEN1
STOP1: MOV C,K1
JNC STOP1
LCALL DELAY
MOV C,K1
JNC STOP1
LCALL DELAY
MOV C,K1
JNC STOP1
SETB 25H.0
RET
XIAOZHEN2: LCALL DISPLAY2 ;调用闹钟显示程序 JB K2,XIAOZHEN2
MOV C,K2
JC XIAOZHEN2
LCALL DELAY
MOV C,K2
JC XIAOZHEN2
STOP2: MOV C,K2
JNC STOP2
LCALL DELAY
MOV C,K2
JNC STOP2
SETB 25H.0
RET
XIAOZHEN3: LCALL DISPLAY1 ;调用时钟显示程序 JB K4,XIAOZHEN3 ;消抖动
MOV C,K4
JC XIAOZHEN3
LCALL DELAY
MOV C,K4
JC XIAOZHEN3
STOP3: MOV C,K4
JNC STOP3
LCALL DELAY
MOV C,K4
JNC STOP3
SETB 25H.0
RET
XIAOZHEN4: LCALL DISPLAY1 ;消抖动
JB K2,XIAOZHEN4
MOV C,K2
JC XIAOZHEN4
LCALL DELAY
MOV C,K2
JC XIAOZHEN4
STOP4: MOV C,K2
JNC STOP4
LCALL DELAY
MOV C,K2
JNC STOP4
SETB 25H.0
RET
XIAOZHEN5: LCALL DISPLAY1 ;消抖动
JB K3,XIAOZHEN5
MOV C,K3
JC XIAOZHEN5
LCALL DELAY
MOV C,K3
JC XIAOZHEN5
STOP5: MOV C,K3
JNC STOP5
LCALL DELAY
MOV C,K3
JNC STOP5
SETB 25H.0
RET
XIAOZHEN6: LCALL DISPLAY2 ;调用闹钟显示程序 JB K3,XIAOZHEN6 ;消抖动
MOV C,K3
JC XIAOZHEN6
LCALL DELAY
MOV C,K3
JC XIAOZHEN6
STOP6: MOV C,K3
JNC STOP6
LCALL DELAY
MOV C,K3
JNC STOP6
SETB 25H.0
RET
XIAOZHEN7: LCALL DISPLAY2 ;调用闹钟显示程序 JB K1,XIAOZHEN7
MOV C,K1
JC XIAOZHEN7
LCALL DELAY
MOV C,K1
JC XIAOZHEN7
STOP7: MOV C,K1
JNC STOP7
LCALL DELAY
MOV C,K1
JNC STOP7
SETB 25H.0
RET
TIME: PUSH ACC ;时钟程序
PUSH PSW
MOV TH0,#3CH ;定时50ms初值
MOV TL0,#0B0H
DJNZ R2,RET0 ;判断是否到1秒
MOV R2,#14H
MOV A,20H
CLR C
INC A
CJNE A,#3CH,G01 ;判断60秒到了吗
MOV 20H,#0 ;到了,则秒清0
MOV 30H,#0
MOV 31H,#0
MOV A,21H
INC A
CJNE A,#3CH,G02 ;判断60分到了吗
MOV 21H,#0H ;到了,则分清0
MOV 32H,#0
MOV 33H,#0
MOV A,22H
INC A
CLR P3.7 ;整点报时
MOV R1,#0FFH
QQQ: DJNZ R1,QQQ
SETB P3.7
CJNE A,#18H,G03 ;判断24小时到了吗 MOV 22H,#00H ;到了,则时清0
MOV 34H,#0
MOV 35H,#0
AJMP RET0
G01: MOV 20H,A ;把秒的2位分开显示 MOV B,#0AH
DIV AB
MOV 31H,A
MOV 30H,B
AJMP RET0
G02: MOV 21H,A ;把分的2位分开显示 MOV B,#0AH
DIV AB
MOV 33H,A
MOV 32H,B
AJMP RET0
G03: MOV 22H,A ;把时的2位分开显示 MOV B,#0AH
DIV AB
MOV 35H,A
MOV 34H,B
AJMP RET0
RET0: POP PSW
POP ACC
RETI
DISPLAY1: MOV R0,#30H ;时钟显示程序
MOV R3,#0DFH ;位字位,先点亮最低位
MOV A,R3
MOV DPTR,#DSEG1 ;字型表头地址→DPTR
PLAY1: MOV P2,A
MOV A,@R0 ;取显示数据
MOVC A,@A+DPTR ;取出字形码
MOV P0,A ;送出显示
LCALL DL1 ;调用延时子程序
INC R0 ;数据缓冲区地址加1
MOV A,R3
JNB ACC.0,LD1 ;扫描到最左面的显示器了吗? RR A ;没有到,右移1位
MOV R3,A
LJMP PLAY1
DISPLAY2: MOV R0,#36H ;闹钟显示程序
MOV R3,#0F7H ;位字位,先点亮最低位
MOV A,R3
MOV DPTR,#DSEG1 ;字型表头地址→DPTR
PLAY2: MOV P2,A
MOV A,@R0 ;取显示数据
MOVC A,@A+DPTR ;取出字形码
MOV P0,A ;送出显示
LCALL DL1 ;调用延时子程序
INC R0 ;数据缓冲区地址加1
MOV A,R3
JNB ACC.0,LD1 ;扫描到最左面的显示器了吗? RR A ;没有到,右移1位
MOV R3,A
LJMP PLAY2
LD1: RET
DELAY: MOV R4,#14H ;延时子程序1
DL00: MOV R5,#0FFH
DL11: DJNZ R5,DL11
DJNZ R4,DL00
RET
DL1: MOV R7,#05H ;延时子程序2
DL: MOV R6,#0FFH
DL6: DJNZ R6,$
DJNZ R7,DL
RET
DSEG1: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H ;码表
DB 92H, 82H, 0F8H, 80H, 90H
DB 88H, 83H, 0C6H, 0A1H, 86H
DB 8EH, 0BFH, 0FFH
END
五、仿真与调试
程序在仿真过程中,遇到了很多问题。比如刚刚开始时,数码管不显示数据,查阅数码管和三极管相关资料后,发现是数码管位选端P2口送数送反了。之后发现整点报时不能用,延长蜂鸣器响的时间后,恢复正常。后来闹钟响时,返回键K4无效,咨询过吴老师后发现,在闹钟响的那一分钟内,都满足闹铃的条件,所以蜂鸣器是一直在响。在时钟和闹钟的比较程序中,不只比较分和时,把秒的比较也加进去,这样就解决了问题。
硬件调试过程中,加上+5V电压后,出现了一个小问题,时钟走的太快,与现实时间不太符合。经过检查程序后,发现定时器初值赋值错了,改正后,调试正常,所有要求的功能都能实现。
六、总结
经调试,本次作品能够显示时、分、秒,并且具有校时、校分的功能、整点报时和可调的闹时功能,所有要求的功能都能实现。
课程设计心得体会:经过将近10天的课程设计,我完成了一个数字闹钟的设计与制作,并且实现了所有的功能。这段时间我认真查阅相关方面的资料,比如AT89C51单片机与共阳数码管的功能,并且学会去使用它们。此外,通过本次课程设计,对于硬件电路的工作原理有了进一步系统的学习,同样就有了进一步的认识,使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能提高自己的实际动手能力和独立思考的能力。当然,在此过程中也看到了一些自己的不足,比如在一些程序的细节部分,自己还是会有一些茫然,这里很感谢吴老师一次次的耐心教导。总之,通过本次课程设计,使我巩固了自身的专业知识,并且动手能力得到了很大的锻炼与提高。
实物与各按键功能如图7所示。
图7 实物图
图7中,K1对应P1.0口, K2对应P1.1口,K3对应P1.2口,K4对应P1.3口。数码管的第1—第6位分别由P2.0—P2.5口控制,数码管的段位A —DP 分别由P0.0—P0.7口控制,蜂鸣器由P3.7口控制。
七、参考文献
[1] 李朝青. 单片机原理及接口技术. 北京:北京航空航天大学出版社,2005
[2] 楼然苗,李光飞. 单片机课程设计指导. 北京:北京航空航天大学出版社,2007年 [3] 康华光,陈大钦. 电子技术基础(模拟部分). 北京:高等教育出版社,2006 [4] 胡翔骏. 电路分析(第2版). 北京:高等教育出版社,2007
时钟和闹钟的小时显示
时钟和闹钟的分钟显示
时钟的秒显示
K1:进入设置时钟状态,设置闹钟的分钟
K2:进入设置闹钟状态,设置时钟的小时
K3:设置时钟的分钟,设置闹钟的小时
K4:设置完成退出,闹钟退出
表1 元器件清单
名称值封装编号数量
一、电阻器
19
炭膜电阻 5.1K AXIAL0.5 R1-R78
R17-R27炭膜电阻510 AXIAL0.5 R9-R16 8 炭膜电阻300 AXIAL0.5 R28 1 炭膜电阻10K AXIAL0.5 R29 1
二、电容器
瓷片电容30PF RAD0.2 C1-C2 2 瓷片电容0.01UF RAD0.2 C4 1 电解电容20UF RAD0.1 C3 1 电解电容10UF RAD0.1 C5 1
三、集成块
89系列单片机AT89S52 DIP40 U1 1
四、晶体管
三极管 PNP(9012)TO-92B T1-T6 6
三极管 PNP(8850)TO-92B T7 1
五、蜂鸣器
蜂鸣器 BELL AXIAL0.3 BUZ1 1
六、晶振
晶振12MHZ RAD0.2 Y1 1
七、发光器件
发光二极管LED RAD0.1 D1 1 4位数码管(共阳)SMG4 J1 1 2位数码管(共阳)SMG2 J2 1
八、插座及开关
40脚基座DIP40 1 轻触开关6X6 SW—PB S1—S17 17 油纸 1 单面覆铜板 2 导线 3 20排导线 2
6套8列插针SIP8 X1-X3
JP1-JP3
图8 最小系统原理图
图9 扩展系统原理图