收藏 分销(赏)

基于aduc848的数字密码锁报告.doc

上传人:精*** 文档编号:2490271 上传时间:2024-05-30 格式:DOC 页数:30 大小:435.27KB
下载 相关 举报
基于aduc848的数字密码锁报告.doc_第1页
第1页 / 共30页
基于aduc848的数字密码锁报告.doc_第2页
第2页 / 共30页
基于aduc848的数字密码锁报告.doc_第3页
第3页 / 共30页
基于aduc848的数字密码锁报告.doc_第4页
第4页 / 共30页
基于aduc848的数字密码锁报告.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、湖南大学电气与信息工程学院本科生课程设计题目:数字密码锁课程:单片机课程设计专业:电气工程及其自动化班级:电自班目录一、任务及设计要求- 3 -二、系统原理框图- 3 -三、硬件原理图- 3 -(一)ADuC848的简要介绍(针对本设计所选择的型号)- 3 -(二)单片机引脚分布- 3 -(三)电源模块- 3 -(四)数码管硬件连接- 3 -(五)蜂鸣器和红外发送- 3 -(六)复位与下载- 3 -(七)按键输入- 3 -(八)振荡电路- 3 -四、程序- 3 -(一)主程序- 3 -(二)密码修改流程图- 3 -(三)计时主程序流程图- 3 -(四)计时中断子程序流程图:- 3 -(五)蜂鸣

2、器中断子程序流程图- 3 -(六)蜂鸣器控制程序- 3 -(七)键盘扫描程序流程图- 3 -(八)程序清单- 3 -五、使用说明书- 3 -(一)键盘按键分布- 3 -(二)按键功能说明- 3 -六、心得体会- 3 -参考文献- 3 -一、 任务及设计要求1)设计一多位电子密码锁,输入密码用“F”表示,输入密码正确,绿灯亮(或显示其它标志、蜂鸣器替代),输入密码错误,红灯亮(或显示其它标志、蜂鸣器替代)2)具有确定键和取消键,在未确定之前可以取消,重新输入3)连续输入三次错误密码,红灯闪烁,报警电路动作,键盘锁定4)具有密码重置、修改功能5)具有密码输入等待操作时间限制功能,超过限定时间报警6

3、)显示北京时间,时间可调整7)可利用蜂鸣器添加提示音二、 系统原理框图ADuc848驱动电路报警电路振荡电路数码管显示44键盘输入复位电路时钟模块三、 硬件原理图(一) ADuC848的简要介绍(针对本设计所选择的型号)1、 详细情况请参考芯片手册。2、 8051-based core、5V供电电压;3、 可以通过串口在线下载程序和单步、断点、运行到某一行等方式调试程序;4、 16位8通道-ADC,片内有1.25V参考电压、buffer和PGA;5、 12位电压输出DAC、Dual 16-BIT -DAC;6、 32kbyte程序存储器、4kbyte用户信息Flash存储器、256RAM+20

4、48XRAM(byte);7、 PLL(12.58 MHz max)(片外只需接32.768kHz晶振);8、 316位定时/计数器、看门狗定时器;9、 11中断源(2优先级)、11位堆栈指针;10、 24I/O+8模拟或数字输入;11、 UART、SPI和I2C、高速115200波特率发生;12、 Power supply monitor、上电复位、Dual 200A激励电流源。(二) 单片机引脚分布1. Pin14:(P1.0P1.3)作为矩阵式键盘或独立按键的输入,P1口只能用于输入,默认用于模拟输入,作为数字输入使用时应先往P1口相应引脚写0,这里可以用P0&=0xf0。若P2、P3、

5、P0口要作为输入,则应往相应引脚写1。2. Pin5、6:AVDD、AGND,模拟电源输入。3. Pin7、8:外部参考电压接入,Pin7接AGND。片内DAC有2.5V内部参考,ADC有1.25V内部参考。4. Pin9、10:(P1.4、P1.5)两路AD输入,可做差分输入,需要设置ADC的寄存器。5. Pin11、12:(P1.6、P1.7)各200uA激励电流源,可配合RTD等做应用。6. Pin13:两路AD输入做普通输入时的电压参考端,AD输入电压不能低于此引脚电压。7. Pin14:片内DAC输出。8. Pin15:复位引脚。9. Pin16、17:单片机RS232接口的RXD(

6、P3.0)TXD(P3.1)。10. Pin18:(P3.2)外部中断0,用于红外接收和PS/2接口。11. Pin19:(P3.3)LCD1602,LCD12864A的EN引脚,控制第一位数码管。12. Pin20、21:DVDD、DGND数字电源输入。13. Pin22:(P3.4)PS/2接口的data信号。14. Pin23:(P3.5)LCD1602和LCD12864A的RW。15. Pin24:(P3.6)LCD1602和LCD12864A的RS。16. Pin25:LCD12864A的CS1。17. Pin26:IIC接口时钟信号。18. Pin27:IIC接口data信号。19

7、. Pin28:(P2.0)SPI接口时钟信号。20. Pin29:(P2.1)SPI接口MOSI信号、控制第6位数码管的位码。21. Pin30:(P2.2)SPI接口MISO信号、控制第7位数码管的位码。22. Pin31:(P2.3)SPI接口SS信号、控制第8位数码管的位码;P2.03也作为4X4矩阵式键盘的扫描输出信号、步进电机的控制信号、数码管第数码管第6、7、8位位码。但是SPI、4X4矩阵式键盘、步进电机、数码管第6、7、8位功能不能同时实现。23. Pin32、Pin33:接外部32.768KHz晶振。24. Pin34、Pin35:DVDD、DGND。25. Pin36:(

8、P2.4)LCD12864A的CS2。26. Pin37:(P2.5)内部PWM模块输出,控制红外LED。27. Pin38:(P2.6)内部PWM模块输出,控制蜂鸣器。28. Pin39:(P2.7)内部PWM模块的外部时钟输入(也可以用内部时钟)。29. Pin40:EA,低电平有效,正常使用时拉低。30. Pin41:PSEN,在此引脚电平为低时按复位键进入debug模式,可以下载和调试程序。31. Pin42:ALE。32. Pin47、Pin48:DGND、DVDD。33. Pin43、44、45、46、49、50、51、52:P0口、LCD1602和LCD12864的数据总线,数码

9、管的段码。(三) 电源模块本学习板共有如下3种供电方式:1. 5V电源适配器供电(开关往上拨、插针1下面两脚接跳线帽)。将开关sw4第2、3脚接通(开关往上拨),电源网络DVDD连接到插针1第2脚的输出,将插针1的第1、2脚(插针1下面两脚)接跳线帽,DVDD直接连接到电源适配器输入端,即为5V电源适配器供电模式。2. 712V电源适配器供电(开关往上拨、插针1上面两脚接跳线帽)将开关sw4第2、3脚接通(开关往上拨),电源网络DVDD连接到插针1第2脚的输出,将插针1的第2、3脚(插针1上面两脚)接跳线帽,DVDD连接到稳压芯片7805的输出,而7805的输入端连接到电源适配器输入端,即为7

10、12V的电源适配器经7805给学习板供电的模式。3. USB供电(开关往下拨)。将开关sw4第1、2脚接通(开关往下拨),电源网络DVDD连接到USB电源输入端。对DVDD网络和AVDD网络设了测试点,方便调试。(四) 数码管硬件连接关键网络名解释:1. DS07:数码管段码。2. BIT07:数码管位码。3. MOTORAD:步进电机驱动信号。4. DISCTRL04:显示控制信号,控制数码管低5位。5. D08:单片机P0口。本设计采用共阴极数码管,段码由PNP三极管驱动,位码由NPN型三极管驱动。引脚复用:数码管低5位(板上为右边5位)的位码由DISCTRL04控制,可单独使用,高3位的

11、位码控制信号与SPI信号,电机驱动信号,4X4矩阵式键盘复用,使用数码管高3位时参与复用的其他功能则不能使用。插针配置:若要使用数码管第40位(板上为右边5位),可以接通插针8,为减少功耗,不用请断开。若要使用数码管第75位(板上为左边3位),可以分别接通插针57和9,为减少功耗,不用请断开。(五) 蜂鸣器和红外发送本设计中采用无源电磁式蜂鸣器,蜂鸣器由PWM1(P2.6)控制,红外二极管由PWM0(P2.5)控制。PWM1和PWM0均为片内PWM模块的输出。蜂鸣器和红外LED的驱动均采用普通NPN三极管。为方便调试,对该模块中的信号设了测试点,具体位置参见附图1。插针配置:若要使用蜂鸣器,可

12、以接通插针3,为减少功耗,不用请断开。若要使用红外二极管,可以接通插针4,为减少功耗,不用请断开。(六) 复位与下载进入下载或调试模式的步骤为:1. 按住BTN1(down or debug按键)不要放开;2. 按下BTN2(reset按键),然后放开BTN2(reset按键);3. 放开BTN1(down or debug按键)。这样单片机就进入了调试模式,可以下载或调试程序。(七) 按键输入由于P1口(用于行扫描)内部无上拉电阻,为使无键按下时行信号为高电平,故将行信号接上拉电阻,电阻大小10K即可。引脚复用:P2.0P2.3为4X4矩阵式键盘列扫描信号,又复用作步进电机控制信号,SPI信

13、号、P2.1P2.3还复用为数码管第5、6、7位位码控制信号。参与复用的一项功能使用时,其他参与复用的功能则不能使用。插针配置:插针10上面两脚接跳线帽,4X4矩阵式键盘输入,行扫描信号为P1.0P1.3,列扫描信号为P2.02.3。插针10下面两脚接跳线帽,独立按键输入,该模式有4个独立按键可用,按键扫描所用端口为P1.0P1.3。这4个按键为4X4矩阵键盘的左边4个按键。(八) 振荡电路AduC848片内有I2C模块,并有独立的引脚SCLOCK和SDATA。板上的RTC时钟芯片DS1307和EEPROM芯片AT24C08均使用了I2C总线。板上设置了I2C接口,方便MCU与板外的I2C设备

14、进行通信。对SCLOCK和SDATA设置了测试点。四、 程序(一) 主程序开始密码锁界面检测命令键设置时间S4显示时间检测命令键输入密码N密码正确Y第一个亮N第二个亮N+1N=3报警YN修改密码修改密码键(二) 密码修改流程图(三) 计时主程序流程图(四) 计时中断子程序流程图:(五) 蜂鸣器中断子程序流程图(六) 蜂鸣器控制程序(七) 键盘扫描程序流程图(八) 程序清单BUF EQU 75HBUF1 EQU 73HSBF EQU 72H;存放秒MBF EQU 71H;存放分HBF EQU 70H;存放时ORG 0000HLJMP STARTORG 0BH ;定时器0中断入口LJMP CLOC

15、KORG 1BH ;定时器1中断入口LJMP INT_0ORG 200HSTART: MOV R5,#00H MOV A,#00H MOV 60H,A ;清楚计时模式所有显示单元 MOV 61H,A MOV 62H,A MOV 63H,A MOV 64H,A MOV 65H,A MOV 66H,A MOV 67H,A MOV 68H,A MOV 69H,A ANL TMOD,#0F0H ;设置TMOD ORL TMOD,#01H MOV TL0,#00H ;TI装初值 MOV TH0,#40H MOV BUF1,#00H ;清零 MOV SBF,#00H MOV MBF,#00H MOV HB

16、F,#00H MOV 58H,#01H ;置闹钟小时初值 MOV 59H,#00H;置闹钟分初值 SETB ET0 ;开定时器0 SETB EA ;开总中断 SETB TR0 ;启动T0 MOV 74H,#00H ;判断模式 MOV 39H,#00H ;密码输入是否正确 MOV 38H,#00H ;是否按下reset键 MOV 29H,#00H ;是否显示闹钟时间START1: MOV A,#06H ;初始化密码 MOV 35H,A MOV A,#05H MOV 34H,A MOV A,#04H MOV 33H,A MOV A,#03H MOV 32H,A MOV A,#02H MOV 31H

17、,A MOV A,#01H MOV 30H,AMAIN: MOV BUF,#10H ;密码输入缓存 MOV 76H,#00H ;音乐播放次数 MOV 37H,#00H ;记录输入数字的个数 MOV 36H,#06H MOV R0,#40H;清输入密码存储单元CLEAR:MOV R0,#00H INC R0 DJNZ 36H,CLEAR LCALL DS1 ;调用显示子程序MAIN1: LCALL KEY ;调用键盘扫描程序JMP MAIN1KEY: MOV P2,#0E0H ;全扫描,各列线都送低电平 MOV P1,#00H MOV A,P1 ;读回各行线电平值 ORL A,#0F0H ;只读

18、低四位 CPL A ;所读值置反 JNZ IN ;不是全0说明有键按下 RET ;无键按下返回IN: ACALL DELAY1 ;调延时,等待按合抖动过去 MOV R2,#04H ;R2做计数器,存待扫描行数 MOV R4,#7FH ;R4做指针,指示待扫描行数 MOV R7,#00H ;R7用于决定键号,初值置以0SCAN: MOV A,R4 RL A MOV R4,A ;以上三条调整待扫描行 MOV P2,A ;逐行扫描,被扫描行送低电平 MOV P1,#00H MOV A,P1 ;读回各列线电平值 MOV R3,#04H ;R3做记数器,存被扫描行的待查列数NEXT: RRC A ;调整

19、待查列 JNC FIND ;被查列为低电平,被按键找到,转FIND INC R7 ;未找到,键号加一 DJNZ R3,NEXT ;被扫描行的待查列数不为0,转回NEXT DJNZ R2,SCAN ;未找到所按键,返回 RETFIND: MOV BUF,R7 MOV P2,#0E0HLOOSEN:MOV A,P1 ORL A,#0F0H CPL A JNZ LOOSEN ;以上几条重复全扫描,等待所按键松按 MOV A,R7 ;松按后才考虑键处理,保证每按键一次,只处理一次,本条为取所按键号 ADD A,#0F6H JC ORDERNUM: MOV A,#01H ;键号小于等于9,是数字键,转N

20、UM,执行数字键处理程序 XRL A,74H ;判断模式 JZ X0 ;计时模式则不处理数字按键 CLR C INC 37H MOV A,#0F9H ADD A,37H JC MAIN1 ;输入够6个数字则等待命令键 LCALL DS1 ;调用显示子程序 MOV A,R7 XCH A,45H ;存输入的密码 XCH A,44H XCH A,43H XCH A,42H XCH A,41H XCH A,40H RETORDER: MOV A,#01H ;键号大于9,是命令键,转ORDER,执行命令键处理程序 XRL A,74H JZ ORDER1 ;判断模式 MOV A,R7 XRL A,#0AH

21、 JZ X15 ;重置 MOV A,R7 XRL A,#0BH JZ X16 ;重置确认 MOV A,R7 XRL A,#0CH JZ X9 ;输入密码确认,判断正误 MOV A,R7 XRL A,#0DH JZ X2 ;清零 MOV A,R7 XRL A,#0EH JZ X1 ;初始化密码 MOV A,R7 XRL A,#0FH JZ X5 ;显示时间X1: LJMP START1X2: LJMP MAINX3: LJMP MAIN2X5: MOV 74H,#01H ;进入计时模式 MOV 29H,#00H LJMP MAIN3X9: LJMP COMPX15: LJMP RESETX16:

22、 LJMP SET0X0: LJMP KEYORDER1: MOV A,R7 XRL A,#0AH JZ X6 ; 分钟加一 MOV A,R7 XRL A,#0BH JZ X7 ; 小时加一 MOV A,R7 XRL A,#0CH JZ X11 ;闹钟分加一 MOV A,R7 XRL A,#0DH JZ X12 ;闹钟小时加一 MOV A,R7 XRL A,#0EH JZ X13 ;显示闹钟时间 MOV A,R7 XRL A,#0FH JZ X8 ;回到等待密码输入 JMP X0X6: MOV A,MBF ADD A,#01H DA A MOV MBF,A CJNE A,#60H,X10 MO

23、V MBF,#00H MOV A,HBF ADD A,#01H DA A MOV HBF,A CJNE A,#24H,X10 MOV HBF,#00H RETX7: MOV A,HBF ADD A,#01H DA A MOV HBF,A CJNE A,#24H,X10 MOV HBF,#00H RETX11: MOV A,59H ADD A,#01H DA A MOV 59H,A RETX12: MOV A,58H ADD A,#01H DA A MOV 58H,A RETX13: MOV 29H,#01H LJMP MAIN3 X8: MOV 74H,#00H ;进入输密码模式 MOV 29

24、H,#00H LJMP MAINX10: RETX4: LJMP MAINRESET: MOV 37H,#00H MOV A,39H CLR C RRC A JNC X4 MOV 38H,#01H ;按下重置键置一 JMP X4SET0: MOV 37H,#00H ;设置密码 MOV A,38H ;是否按下RESET CLR C RRC A JNC X4 MOV R2,#06H MOV R0,#40H MOV R1,#30HE1: MOV A,R0 ;把40H-45H的内容给30H-35H XCH A,R1 INC R0 INC R1 DJNZ R2,E1 CALL DELAYE2: JMP

25、X4COMP: MOV 37H,#00H MOV R1,#45H ;判断密码正误 MOV R0,#35H MOV R2,#06HC1: MOV A,R1 XRL A,R0 JNZ C2 DEC R1 DEC R0 DJNZ R2,C1 MOV R5,#00H MOV 39H,#01H;正确置一LCALL DS2 JMP C3C2: MOV 39H,#00H ;错误清零 LCALL DS3 INC R5 MOV A,R5 MOV R5,ACJNE R5 ,#03H,C3 LCALL DS4 JMP X3 ;报警C3: JMP X4 DS1: ;显示程序 MOV P3,#80H MOV A,37H

26、 LCALL TABLE MOV P0,A LCALL DELAY;延时 RETDS2: MOV P3,#08H ;正确显示 JMP DS5DS3: MOV P3,#20H ;错误显示 JMP DS5DS4: MOV P3,#40H ;报警显示DS5: MOV A,#03H MOV P0,A LCALL DELAY ;延时 RETTABLE: INC A MOVC A,A+PC RETDB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,19H,11H,0C1H,63H,85H,61H,71H,0FFHDELAY:MOV R6,#00H ;延时程序DEL11:DJNZ

27、R6,DEL11 RETMAIN3:DS9: MOV A,29HJZ BEIJNAOZ: MOV R0,#69H ;显示闹钟时间 JMP WEI BEIJ: MOV R0,#63H ;显示北京时间WEI: MOV R2,#08HDS8: MOV P3,R2 MOV A,R0 LCALL TABLE ;BCD码转换成段码 MOV P0,A LCALL DELAY1 ;延时 DEC R0 CLR C MOV A,R2 RLC A MOV R2,A CJNE R2,#10H,LL RLC A MOV R2,ALL: CJNE R2,#00H,DS8;四位显示完了吗?没完则继续扫描显示 MOV A,2

28、9HJZ SHIJ MOV R0,#69H MOV A,59H LCALL GET MOV R0,#67H MOV A,58H LCALL GET JMP BIJIAOSHIJ: MOV R0,#65H MOV A,SBF ;存入秒 LCALL GET MOV A,MBF ;存入分 LCALL GET MOV A,HBF ;存入时 LCALL GETBIJIAO:LCALL KEY ;调用键盘扫描程序 MOV A,58H ;比较闹钟时间和实际时间 MOV R6,HBF XRL A,R6 JNZ DS9 MOV A,59H MOV R6,MBF XRL A,R6 JNZ DS9 LJMP MAI

29、N2 SJMP DS9GET: MOV 53H,A ;压缩型BCD码转换成非压缩型BCD码 ANL A,#0FH ;取低4位 MOV R0,A DEC R0 MOV A,53H SWAP A;取高4位 ANL A,#0FH MOV R0,A DEC R0 RETCLOCK: MOV TL0,#00H ;定时器0中断子程序 MOV TH0,#40H PUSH PSW ;保护现场 PUSH ACC INC BUF1 MOV A,BUF1 CJNE A,#20H,QUIT;20次为一秒 MOV BUF1,#00H MOV A,SBF ADD A,#01H DA A MOV SBF,A CJNE A,

30、#60H,QUIT;60秒为1分 MOV SBF,#00H MOV A,MBF ADD A,#01H DA A MOV MBF,A CJNE A,#60H,QUIT ;60分为1小时 MOV MBF,#00H MOV A,HBF ADD A,#01H DA A MOV HBF,A CJNE A,#24H,QUIT MOV HBF,#00HQUIT: POP ACC ;恢复现场 POP PSW RETIDELAY1: MOV 47H,#01H ;延时程序DEL110: MOV 48H,#0AHDEL12: MOV 49H,#18HDEL13: DJNZ 49H,DEL13 DJNZ 48H,DE

31、L12 DJNZ 47H,DEL110 RETMAIN2: MOV P3,#00HMOV A,76H CJNE A,#01H,JI CLR TR1LJMP MAINJI: INC 76H ANL TMOD,#0FH ORL TMOD,#10H SETB ET1 ;开T1中断 SETB EA ;开总中断 MOV DPTR,#TONE MOV A,#00HLOP: MOVC A,A+DPTR JZ MAIN2 ;遇到结束标志则重新开始 MOV R5,A MOV TH1,A INC DPTR MOV A,#00HMOVC A,A+DPTR MOV R6,A MOVTL1,R6 SETBTR1 INC

32、DPTR MOVA,#00H MOVCA,A+DPTR MOVR2,A ;延时LOOP1:MOVR3,#80HLOOP2:MOVR4,#0FFHLOOP3:DJNZR4,LOOP3 DJNZR3,LOOP2 DJNZR2,LOOP1 INCDPTR MOVA,#00H LJMPLOPINT_0:PUSHDPH PUSHDPL PUSHACCCPLP2.6 MOVTH1,R5 ;重装 MOVTL1,R6 SETBTR1POPACCPOPDPL POPDPH RETITONE:/DB0FCH,2FH,04H,0FCH,99H,04H,0FCH,0F8H,04H,0FDH,22H,04H;1234

33、/DB0FDH,73H,04H,0FDH,0BCH,04H,0FDH,0FAH,04H,0FEH,17H,04H ;5671 DB 0FCH,2FH,04H,0FCH,99H,04H,0FCH,0F8H,04H, 0FCH,2FH,04H ;两只老虎 DB 0FCH,2FH,04H,0FCH,99H,04H,0FCH,0F8H,04H, 0FCH,2FH,04H DB 0FCH,0F8H,04H,0FDH,22H,04H,0FDH,073H,08H DB 0FCH,0F8H,04H,0FDH,22H,04H,0FDH,073H,08H DB 0FDH,073H,03H,0FDH,0BCH,01

34、H, 0FDH,073H,03H,0FDH,22H,01H,0FCH,0F8H,04H,0FCH,2FH,04H DB0FDH,073H,03H,0FDH,0BCH,01H, 0FDH,073H,03H,0FDH,22H,01H,0FCH,0F8H,04H,0FCH,2FH,04H DB0FCH,2FH,04H,0FDH,073H,04H,0FCH,2FH,08H DB0FCH,2FH,04H,0FDH,073H,04H,0FCH,2FH,08H,00H,00H,00HEND五、 使用说明书(一) 键盘按键分布C840D951EA62FB73(二) 按键功能说明按键ABCDEF密码模式密码重置

35、重置确认输入确认清除输入初始化密码进入计时模式计时模式分加一小时加一闹钟分加一闹钟小时加一显示闹钟时间进入密码模式计时模式数字键无效。开机进入密码输入界面,显示0,等待按键,每按下一个数字键显示的数字加一,记录输入数字的个数,只能输入六个数字,然后等待确认。密码正确则第一个数码管显示0,错误则第二个显示0,连续错误三次报警。密码输入界面按下F键进入计时显示界面,可进行时分调整,按下E键显示闹钟时间(为防止闹钟误动作,初始设置为01:00),可调整时分。六、 心得体会在本次单片机课程设计过程中,我获益良多,虽然遇到了很多困难,但通过学习都成功的克服。在初期考虑算法和显示的过程中有过不少想法,也经

36、历过彷徨不知所措的过程,但一旦坐下来开始对程序进行思考,并开始一步步的往下做,就发现其实程序可以变成一块一块的子程序,使得我对设计有了新的认识,并使程序变得清晰明了。不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。程序的设计思想的精巧的重要性,是不管怎么说都不为过的,好的设计可以让大家很快的明白你的思想,而且很方便的来实现它。良好的编程习惯,它可以使你的程序很方便的被别人阅读,也很方便的被更改,所以可以的话,尽可能多的写出注释,没有人会闲你写的太多。在设计数字密码锁时,我有了很多经验教训,一个实验的失败也许跟你的设计思路没有太大关联,更多的是细节致使实验失败。在编程时其实编到

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服