1、目 录第1节 引 言 1 1.1 抢答器的概述 1 1.2 本设计主要任务 1 1.3 系统主要功能 1第2节 系统硬件设计 32.1 芯片的选择 32.2 工作原理 32.3 系统的硬件构成及功能 32.3.1抢答器的电路图32.3.2单元电路设计 52.3.3定时电路设计 72.3.4报警电路设计 7第3节 系统软件设计 93.1 系统主程序设计 93.2 抢答器的源程序 9第4节 技术指标及故障处理 204.1 主要技术参数 204.2 使用说明 204.3 常见故障 21 结束语22 参考文献 23 八路扫描式抢答器第1节 引 言当今的社会竞争日益激烈,选拔人才,评选优胜,知识竞赛之类
2、的活动愈加频繁,那么也就必然离不开抢答器。而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。本抢答器通过十分巧妙的设计仅用两块数字芯片便实现了数显抢答的功能,与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。因此,我们制作了这款简易八路抢答器屏弃了成本高,体积大,而且操作复杂。我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,因而本抢答器具有显示直观,不需要人干预的特点。而且在显示时抢答器会发出叮咚声使效果更为生动。工厂、学校和电视台
3、等单位常举办各种智力竞赛, 抢答记分器是必要设备。1.1八路扫描式抢答器的概述本文介绍的八路数显抢答器具有电路简单、成本较低、操作方便、灵敏可靠等优点,经使用效果良好, 具有较高的推广价值。无线遥控抢答器,它由8个发射器和1个接收器组成,可用于8组或8组以下的智力竞赛中。比赛前,将参赛组从0至7编号,每组发给对应的一个发射器。将接收器放于各组中央或前方。主持人按一下启动键后,抢答开始。此后,哪一组最先按下发射器上的抢答键,接收器就立即显示该组的组号并锁定,同时发出3次清脆的“叮咚”声。以后,按下任何一路抢答键均不起反映。只有主持人再次按动启动键后,才能进行下一次抢答该电路由直流稳压电源、抢答器
4、、超时报警与电子计分四部分组成。1.2本设计任务及要求任务:设计一个供8名选手参加八路扫描式抢答器。1.3系统主要功能 每名选手有一个抢答按钮,按钮的编号与选手的编号相对应,抢答器具有第一个抢答信号的鉴别和数据锁存、显示的功能。抢答开始后,若有选手按抢答按钮,刚该选手指示灯亮,并在数码管上显示相应编号,扬声器发出音响提示。同时,电路应具备自锁功能,禁止其他选手再抢答,优先抢答选手的编号一直保持到主持人将系统清0 为止。抢答器具有计分、显示功能。预置分数可由主持人设定,并显示在每名选手的计分牌上,选手答对加10分,答错扣10分。抢答器具有定时抢答的功能。一次抢答的时间由主持人设定,在主持人发出抢
5、答指令后,定时器立即进行减计时,并在显示器上显示,同时扬声器发出短暂声响,声响时间持续0.5s左右。选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器显示选手编号和抢答时刻的时间,并保持到主持人将系统清0为止。第2节 系统硬件设计2.1芯片的选择本设计使用到的元器件包括:8051芯片、数码LED显示器、七段LED数码管的译码。2.2工作原理基于这个设计的上述要求,根据功能要求,须设计有抢答电路、译码显示电路、主持人控制电路、定时电路、报警电路,各个电路都有其自己的功能。通过复位按键FW,电路进入就绪状态,等待抢答。首先由主持人根据题目的难易程度,可以用“JIA SHI”和“JIAN
6、SHA”两个按键,设定时间在(0S-99S)之间,然后再由主持人发布抢答命令(按下KS按键)同时发光二极管随即变亮,当看到二极管亮,进入倒计时状态和抢答状态。在电路中“S1-S8”为8路抢答器的8个按键,如果有人按下按键,程序就会判断是谁先按下的,然后从P2口输出抢答者号码的七段码值,经GAL16V8驱动,送到码管显示,并封锁键盘,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。如果在设定的时间中没有一个人按下按键,一到时间,则产生报警信号已经超时,不可以抢答。当要进行下一次的抢答时,由主持人先按一下复位按键FW,电路复位,进入下一次抢答的就绪状态。2.3系统的硬件构成
7、及功能2.3.1 抢答器的电路框图 如图11、1所示为电路框图。其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置,“开始”状态,宣布“开始”抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作清除和开始状态开关。图11.1抢答器框图图11.2抢答电路的接口电路2.3.2 单元电路设计(1)抢答器电路参考电路如图11.2所示。该电路完成两个功能:一是分辨出
8、选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。工作过程:开关S置于“清除”端时,RS触发器的 端均为0,4个触发器输出置0,使74LS148的 0,使之处于工作状态。当开关S置于开始时,抢答器处于等待工作状态,当有选手将键按下时(如按下S5),74LS148的输出 经RS锁存后,1Q=1, =1,74LS48处于工作状态,4Q3Q2Q=101,经译码显示为5。此外,1Q1,使74LS148 =1,处于禁止状态,封锁其他按键的输入。当按键松开即按下时,74LS148的 此时由于仍为1Q1,使=1,所以74LS148仍处于禁止状态,确保不会出二次按
9、键时输入信号,保证了抢答者的优先性。如有再次抢答需由主持人将S开关重新置,“清除”然后再进行下一轮抢答。74LS148为8线3线优先编码器,表11、1为其功能表。图11.2抢答器电路表10.174LS148的功能真值表(2)时序控制电路设计时序控制电路是抢答器设计的关键,它要完成以下功能:a.主持人将控制开关拨到开始位置时,扬声器发声,抢答电路和定时电路进人正常抢答工作状态。 b.当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路停止工作。(3)复位电路的设计当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位*作。如果RST持续为高电
10、平,单片机就处于循环复位状态。根据应用的要求,复位*作通常有两种基本形式:上电复位和上电或开关复位。8051的复位方式可以是自动复位,也可以是手动复位,见下图。此外,RESET/Vpd还是一复用脚,VCC掉电期间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。2.3.3 定时电路设计为了达到抢答的合理性、完整性、可控性,需根据题目的难易程度的不同设定相应的抢答时间。所以本设计设置了抢答定时电路。它包括两个按键,一个是加(JIA SHI)、另一个是减(JIAN SHI),该两个按键由主持人用于在发布开始命令之前设定时间(可以设定在00S-99S),每按一下“JIA SHI”按键就会在原
11、来的数字的基础上加上一,如果是按的“JIAN SHI”按键就会在原来的数值上减去一。图11.3可预置时间的定时电路 由节目主持人根据抢答题的难易程度,设定一次抢答的时间,通过预置时间电路对计数器进行预置,计数器的时钟脉冲由秒脉冲电路提供。可预置时间的电路选用十进制同步加减计数器74LS192进行设计,具体电路如图11、3所示。2.3.4 报警电路设计报警电路用于报警,当遇到报警信号时,发出警报。一般喇叭是一种电感性图11.4报警电路图。8051驱动喇叭的信号为各种频率的脉冲。因此,最简单的喇叭驱动方式就是利用达林顿晶体管,或者以两个常用的小晶体管连接成达林顿架势。在右图中电阻R为限流电阻,在此
12、利用晶体管的高电流增益,以达到电路快速饱和的目的。不过,如果要由P0输出到此电路,还需要连接一个10K的上拉电阻。选手在设定的时间内抢答时,实现:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次*作清除和开始状态开关。图面是数字抢答器的报警电路图。其中555构成多谐振荡器,振荡频率fo143(RI2R2)C,其输出信号经三极管推动扬声器。PR为控制信号,当PR为高电平时,多谐振荡器工作,反之,电路停振。图11.4报警电路第3节 系统软件设计3.1系统主程序设计为了能够达到抢答的公平、公正、合理,应该在主持人发布
13、抢答命令之前必须先设定抢答的时间,所以应该得根据题目的难易程度事先设定时间,因而在编开始抢答前的程序得先编写设定时间的程序,在硬件电路中可以看到有两个按键(JIAN SHI 和 JIAN SHI)所以按下硬件的这两个按键相应的在软件进行对数据的加减。当时间设好了之后,主持人发布抢答命令按下KS按键同时二极管变亮,程序开始打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。当在扫描到有人按下了键,马上关闭T0、调用显示程序、封锁键盘。3.2抢答器的源程序一、八路扫描式抢答器参考程序清单P1.0-P1.7为八路抢答输入 数码管段选P0口,位选P2口,蜂鸣器输出为P3.6口。P3.0为
14、开始抢答,P3.7为停止。K EQU 20H;抢答开始标志位;将P1口与P2口互换,P3.0-P1.0,P3.1-P1.7 RING EQU 22H;响铃标志位 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040HMAIN:MOV R1,#0FH;初设抢答时间为15s MOV R2,#0AH;初设答题时间为10s MOV TMOD,#11H;设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FF
15、H;越高发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H;50ms为一次溢出中断 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1;允许四个中断,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置 TH1/TL1就可以了;*查询程序*START:MOV R5,#0BHMOV R4,#0BHMOV R3,#0BH ACALL DISPLAY;未开始抢答时候显示FFFJB P3.0,NEXT ACALL DELAYJB P3.0,
16、NEXT;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询ACALL BARK;按键发声MOV A,R1 MOV R6,A;送R1-R6,因为R1中保存了抢答时间 SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答 MOV R3,0AH;抢答只显示计时,灭号数AJMP COUNT;进入倒计时程序,查询有效抢答的程序在COUNT里面NEXT:JNB P1.0,FALSE0JNB P1.1,FALSE1 JNB P1.2,FALSE2 JNB P1.3,FALSE3 JNB P1.4,FALSE4 JNB P1.5,FALSE5 JNB P1.6,FALSE6JNB P1.7
17、,FALSE7 AJMP START;*非法抢答处理程序*FALSE0: ACALL BARK;按键发声 MOV R3,#00H AJMP ERRORFALSE1: ACALL BARK;按键发声 MOV R3,#01H AJMP ERRORFALSE2: ACALL BARK MOV R3,#02H AJMP ERRORFALSE3: ACALL BARK MOV R3,#03H AJMP ERRORFALSE4: ACALL BARK MOV R3,#04H AJMP ERRORFALSE5: ACALL BARK MOV R3,#05H AJMP ERRORFALSE6: ACALL B
18、ARK MOV R3,#06H AJMP ERROR;*INT0(抢答时间R1调整程序) *INT0SUB: MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY;先在两个时间LED上显示R1 JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCO JNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECO JNB P3.7,BACK0;P3.7为确定键,如按下跳到BACKO AJMP INT0SUB INC0: MOV A,R1 CJNE A,#63H,ADD0;如果不是99,R2加1
19、,如果加到99了,R1就置0,重新 加起。 MOV R1,#00H ACALL DELAY1 AJMP INT0SUB ADD0: INC R1 ACALL DELAY1 AJMP INT0SUB DEC0: MOV A,R1 JZ SETR1;如果R1为0, R1就置99, DEC R1 ACALL DELAY1 AJMP INT0SUBSETR1: MOV R1,#63H ACALL DELAY1 AJMP INT0SUBBACK0: RETI ;*INT1(回答时间R2调整程序)* INT1SUB:MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B
20、MOV R3,#0AH ACALL DISPLAY JNB P3.4,INC1 JNB P3.5,DEC1 JNB P1.7,BACK1 AJMP INT1SUB INC1: MOV A,R2 CJNE A,#63H,ADD1 MOV R2,#00H ACALL DELAY1 AJMP INT1SUB ADD1: INC R2 ACALL DELAY1 AJMP INT1SUB DEC1:MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP INT1SUB SETR2: MOV R2,#63H ACALL DELAY1 AJMP INT1SUB BACK1: R
21、ETI ;*倒计时程序(抢答倒计时和回答倒计时都跳到改程序)* COUNT: MOV R0,#00H;重置定时器中断次数 MOV TH1,#3CH MOV TL1,#0B0H;重置定时器RECOUNT:MOV A,R6;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6 MOV B,#0AH DIV AB;除十分出个位/十位 MOV 30H,A;十位存于(30H) MOV 31H,B;个位存于(31H) MOV R5,30H;取十位 MOV R4,31H;取个位 MOV A,R6 SUBB A,#07H JNC LARGER;大于5s跳到LARGER,小于等于5s会提醒 MOV A,R0
22、 CJNE A,#0AH,FULL;1s中0.5s向下运行 CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK;下面系1s的情况,响并显示号数并清R0,重新计 SETB RING MOV A,R6 JZ QUIT;计时完毕 MOV R0,#00H DEC R6;一秒标志减1 AJMP CHECKLARGER: MOV A,R0 CJNE A,#14H,CHECK;如果1s向下运行,否者跳到查停/显示 DEC R6;计时一秒R6自动减1 MOV R0,#00HCHECK: JNB P1.7,QUIT;如按下停止键退出 ACALL DISPLAY JB OK,AC
23、COUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用) AJMP RECOUNTACCOUT: JNB P1.0,TRUE0JNB P1.1,TRUE1 JNB P1.2,TRUE2 JNB P1.3,TRUE3 JNB P1.4,TRUE4 JNB P1.5,TRUE5 JNB P1.6,TRUE6JNB P1.7,TRUE7 AJMP RECOUNTQUIT: CLR OK;如果按下了停止键执行的程序 CLR RING AJMP START;*正常抢答处理程序*TRUE0: ACALL BARK; 按键发声 MOV A,R2;抢答时间R2送R6 MOV R6
24、,A MOV R3,#00H CLR OK;因为答题的计时不再查询抢答,所以就锁了抢答 AJMP COUNTTRUE1: ACALL BARK;按键发声 MOV A,R2 MOV R6,A;抢答时间R2送R6 MOV R3,#01H CLR OK;因为答题的计时不再查询抢答,所以就锁了抢答 AJMP COUNTTRUE2: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#02H CLR OK AJMP COUNTTRUE3: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#03H CLR OK AJMP COUNTTRUE4: ACALL
25、 BARK; MOV A,R2 MOV R6,A MOV R3,#04H CLR OK AJMP COUNTTRUE5:ACALL BARK;MOV A,R2 MOV R6,A MOV R3,#05H CLR OK AJMP COUNTTRUE6:ACALL BARK;MOV A,R2 MOV R6,A MOV R3,#06H CLR OK AJMP COUNTTRUE7:ACALL BARK;MOV A,R2 MOV R6,A MOV R3,#07H CLR OK AJMP COUNT;*犯规抢答程序*ERROR: MOV R0,#00HMOV TH1,#3CHMOV TL1,#0B0HMO
26、V 34H,R3;犯规号数暂存与(34H)HERE:MOV A,R0CJNE A,#0AH,FLASH;0.5s向下运行-灭并停响 CLR RING MOV R3,#0AH MOV R4,#0AHMOV R5,#0AH;三灯全灭 AJMP CHECK1FLASH:CJNE A,#14H,CHECK1;下面系1s的情况,响并显示号数并清R0,重新计SETB RING MOV R0,#00H MOV R3,34H;取回号数 MOV R5,#0BH MOV R4,#0BH;显示FF和号数 AJMP CHECK1CHECK1: JNB P3.7,QUIT1 ACALL DISPLAY AJMP HER
27、EQUIT1: CLR RING CLR OK AJMP START;*显示程序*DISPLAY:MOV DPTR,#DAT1;查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出, MOV A,R5 MOVC A,A+DPTR MOV P2,#01H MOV P0,A ACALL DELAY MOV DPTR,#DAT2 MOV A,R4 MOVC A,A+DPTR MOV P2,#02H MOV P0,A ACALL DELAY MOV A,R3 MOVC A,A+DPTR MOV P2,#04H MOV P0,A ACALL DELAY RETDAT1:DB 00H,06h,5
28、bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H;灭,1,2,3,4,5,6,7,8,9,灭,FDAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H;第一个为零,其他与上相同,因为十位如果为零显示熄灭;*加减时间延时(起到不会按下就加N个数)*DELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAY DJNZ 35H,LOOP0 RET;延时(显示和去抖动用到) DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1 DJ
29、NZ 32H,LOOP RET;*发声程序*BARK: SETB RING ACALL DELAY1 ACALL DELAY1 CLR RING;按键发声 RET;*TO溢出中断(响铃程序)* T0INT: MOV TH0,#0ECH MOV TL0,#0FFH JNB RING,OUT; CPL P3.6;RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音OUT: RETI;*T1溢出中断(计时程序) *T1INT: MOV TH1,#3CH MOV TL1,#0B0H INC R0 RETI END第4节 技术指标及故障处理4.1主要技术参数电源电压:交流220V10% 工作
30、功耗:交流5W倒计时范围:1-99秒可设4.2抢答器使用说明开展竞赛活动时,请先布置好场地,将抢答按钮装于参赛桌上,每组按钮的二条线根据实际场地大小,连上合适长度,分别接到3.5MM的组别插头上,然后再将插头插入机后插座中8个组中。(1) 开机按电源开关,显示屏左边的抢答指示灯亮,数码管显示。(2) 设定抢答倒计时时间在显示屏左边的抢答指示灯亮,数码显示时,按+、-键可以设定抢答倒计时时间,在1-99秒之间设定,按住+或-键不放,可以快速累加或累减。设定好以后按一下抢答计时键。(3) 设定答题倒计时时间按一下答题计时键。显示屏显示0闪烁,进入等待状态。(4) 测试各组抢答按键试按一下各组的抢答
31、按钮,应立即显示该组的组别数字,同时机内喇叭发出叮咚的提示音,按取消键,返回0闪烁状态。(5) 启动抢答倒计时,开始抢答0闪烁状态下,当主持人宣布抢答开始时,马上按一下抢答计时键,屏幕显示所设定的抢答倒计时时间并开始倒计时,提示倒计时时间马上临近结束。倒计时到0以后,仪器发出叮咚的结束提示音,同时显示屏返回0闪烁待命状态。在抢答倒计时中,如果有参赛组抢答,仪器屏幕立即显示该组的组别号,同时发出叮咚的抢答成功提示音。需要返回0待命状态,按取消键即可。(6) 启动答题倒计时0闪烁状态下,或有参赛组抢答成功后,需要开始答题的计时时,按答题计时键,屏幕显示所设定的答题倒计时时间并开始倒计时,提示倒计时
32、时间马上临近结束。倒计时到0以后,仪器发出丁冬的结束提示音,同时显示屏返回0闪烁待命状态。(7) 提前取消倒计时无论是抢答还是答题的倒计时时间,需要提前退出,只要按一下取消键,即可返回到0闪烁待命状态。(8) 重设倒计时时间需要重新设置倒计时时间,可按倒计时重设键,屏幕显示。左边抢答计时指示灯点亮,即可重新设定倒计时时间,设定方法与前面相同。 (9) 主机控制加/减分答题完毕后,可给抢答组酌情评分,加分直接按对应抢答组再按预设的分数进行加减即可(预设有1分和10分),每按一次得分或扣分键,给加或减5分, 如主持人评定抢答有误,应于扣分,则可按上述方法 按扣分键,本屏将显示扣分分数, 如- 10
33、;如果操作有误,多按了得分键或扣分键,也可用按相反的计分键来修改分数。(10) 违规抢答当主持人读题过程中,而未宣布抢答开始时按下抢答按钮。主显示屏将显示该违规组号,及发出提示音。及该组的红灯亮起。4.3常见故障开机无显示解决办法: A、查电源插座是否插好;B、仪器后板的保险丝是否烧断; C、 POWER开关是否有接触不良。结束语首先,我坦白地和老师说这篇不是完全我自己写的。我是通过网上和书上查询结合起来写的。说实话,一开始真的很苦恼,我不知道从何写起,而且老师又说这个和成绩联系一起。第一次尝试写这方面的应用设计论文,无从下手的我,甚至想过放弃,也怪老师为什么要为难我们。但是最后想到比尔盖茨给
34、青年人的19个忠告那本书里写着:志向、信念与目标是人生卓越的基石,要追求成败就不要害怕失败。仔细想想自己怎么能被一篇论文而退缩呢?不去尝试我就永远不会写,永远不会进步,永远只能被困难吓倒。在写这篇文章中,我明白老师的苦心,是想锻炼我们,面对以后的毕业设计能得到更大的提高与进步。老师,对于当初的想法我表示抱歉,也同时衷心感谢老师对我们关心和鼓励。虽然文章中有很多不足,但是在学习的过程中苦中带甜,而且巩固了很多软件学习。这次学习给我留下了深刻的印象,使我受益匪浅。而且对于论文的总体构思也有了很多经验,相信自己经过这一次的训练与学习,对于今后会更加努力,做得最好。这个八路扫描式抢答器,如果采用进口单
35、片机主控,响应迅速,判别精确。带大屏幕显示屏,高亮管数字显示抢答的组别号、倒计时时间。可以分辨正常抢答与偷答的情况,并会发出两种不同的声音提示。可分别设定抢答、答题两种不同的倒计时时间。倒计时启动后屏幕有数字显示,倒计时结束后有叮咚声音提示。每组可带大屏幕分数显示,组分结果一目了然。流线型外壳,精美时尚。直接进行加减分,全场观众共参与。灯光提示,结果更明确。广泛适用于学校、教育部门、企事业工会组织、工厂公司、俱乐部等单位组织举办各种知识、技能竞赛及文娱活动时作抢答之用。参考文献:1 张伟,单片机原理及应用,机械工业出版社,20052 张鑫,单片机原理及应用,电子工业出版社,20053 曹国清,数学电路与逻辑设计中国矿业大学出版社,20044 任致程,经典集成电路400例机械工业出版社,20025 薛栋梁,单片机原理及应用,中国水利水电出版社,20016 吴金戎,沈庆阳等,8051单片机实践与应用,清华大学出版社,20017 谢筑森,张辉等,单片机开发与典型应用设计,中国科学技术大学出版社,1997