2021-11-23 13:06:20 索煒達(dá)電子 871
項(xiàng)目編號(hào):E2415
文件大?。?4M
源碼說(shuō)明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡(jiǎn)要概述
一、功能介紹:
1、輸入6位密碼,即可開鎖。
2、輸入7次純數(shù)字,系統(tǒng)會(huì)自動(dòng)恢復(fù)初始狀態(tài)。
3、沒有輸入完6位密碼,按下確認(rèn)鍵,系統(tǒng)不會(huì)應(yīng)答。
4、密碼輸入錯(cuò)誤三次,鎖定鍵盤并且蜂鳴器提醒10秒。
5、輸入錯(cuò)誤可以退格、清零。
6、開機(jī)后12864模塊會(huì)有60秒定時(shí)顯示,沒操作鍵盤60秒后,清除數(shù)據(jù)并且恢復(fù)初始狀態(tài)。如果在記時(shí)期間有按鍵按下,這停止倒計(jì)時(shí),并且在沒有操作鍵盤8秒左右,重新開啟倒計(jì)時(shí)12864休眠功能。
7、在功能模式下可以修改密碼,也可以做其他功能選擇(其他功能你們根據(jù)自身能力添加)。
8、程序有密碼數(shù)值存儲(chǔ)在數(shù)組,可用于顯示等操作。(修改密碼時(shí)可以顯示)
9、有人體感應(yīng)模塊,感應(yīng)到有人嗎,并且12864處于關(guān)屏休眠模式下,即可打開12864屏幕。
10、有外部存儲(chǔ)器24C02,支持修改密碼,密碼斷電不丟失。
11、步進(jìn)電機(jī)模塊。
12、繼電器模塊。
13、溫度模塊,倒計(jì)時(shí)期間可以測(cè)量7805和1117芯片溫度或者外部溫度,并實(shí)時(shí)顯示。
二、資料展示
1.原理圖
2.PCB印制電路板
因?yàn)樽约鹤龅陌澹栽诓季€的時(shí)候那那么專業(yè),能用就好。
3.實(shí)物圖
外觀大概就這樣,工作狀態(tài)
4、說(shuō)明
我是用的KT板面上貼了一層貼紙,把這些弄到了一起,自己準(zhǔn)備在包裝一下,做一個(gè)密碼箱完全沒有問(wèn)題??梢杂脕?lái)放放自己的小秘密,哈哈哈 。
5、代碼
代碼太多了,我就不寫出來(lái)咯,自行可以去程序里面看。在資料里有單獨(dú)的DS18B20、24c02、定時(shí)器的一些單一代碼,直接修改一下就能移植。有些代碼的注釋沒有修改到,是錯(cuò)誤的??吹臅r(shí)候注意一下就好。
三、最后說(shuō)幾句
1、有電子相關(guān)專業(yè)的同學(xué)們,可以用這個(gè)作為設(shè)計(jì),可以去掉步進(jìn)電機(jī),再添加一個(gè)指紋模塊后,應(yīng)該能行。
2、我原本想用指紋模塊來(lái)控制步進(jìn)電機(jī)來(lái)打開老式的拉鎖,現(xiàn)在我還沒有試,不知道能不能成功。
3、因?yàn)槲业陌存I模塊、12864模塊、DS18B20之間的gpio口有點(diǎn)干擾,因?yàn)榫仃囨I盤的列需要輸入探測(cè)是用了一整個(gè)GPIO的操作函數(shù),所以用了它后,另外兩個(gè)它也會(huì)受到影響。
4、資料里包含了四個(gè)文件夾,PCB設(shè)計(jì)、程序、串口調(diào)試工具、資料(相關(guān)芯片,外設(shè)的資料)
實(shí)物圖:
目錄│文件列表:
├ PCB設(shè)計(jì)
│ ├ History
│ │ │ STM32項(xiàng)目.~(1).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(2).PcbDoc.Zip
│ │ └ STM32項(xiàng)目.~(3).PcbDoc.Zip
│ ├ 工程
│ │ │ STM32改.PcbDoc
│ │ │ STM32改.PcbDocPreview
│ │ │ STM32項(xiàng)目.PrjPcb
│ │ │ STM32項(xiàng)目.SchDoc
│ │ │ STM32項(xiàng)目.SchDocPreview
│ │ └ History
│ │ │ STM32改.~(1).PcbDoc.Zip
│ │ │ STM32改.~(12).PcbDoc.Zip
│ │ │ STM32改.~(13).PcbDoc.Zip
│ │ │ STM32改.~(14).PcbDoc.Zip
│ │ │ STM32改.~(2).PcbDoc.Zip
│ │ │ STM32改.~(3).PcbDoc.Zip
│ │ │ STM32改.~(4).PcbDoc.Zip
│ │ │ STM32改.~(5).PcbDoc.Zip
│ │ │ STM32改.~(6).PcbDoc.Zip
│ │ │ STM32改.~(7).PcbDoc.Zip
│ │ │ STM32改.~(8).PcbDoc.Zip
│ │ │ STM32改.~(9).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(1).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(1).PrjPcb.Zip
│ │ │ STM32項(xiàng)目.~(1).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(12).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(13).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(14).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(14).PrjPcb.Zip
│ │ │ STM32項(xiàng)目.~(15).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(15).PrjPcb.Zip
│ │ │ STM32項(xiàng)目.~(16).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(16).PrjPcb.Zip
│ │ │ STM32項(xiàng)目.~(17).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(17).PrjPcb.Zip
│ │ │ STM32項(xiàng)目.~(18).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(19).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(2).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(2).PrjPcb.Zip
│ │ │ STM32項(xiàng)目.~(20).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(21).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(26).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(27).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(28).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(29).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(3).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(3).PrjPcb.Zip
│ │ │ STM32項(xiàng)目.~(30).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(31).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(32).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(33).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(34).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(35).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(36).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(37).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(38).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(39).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(4).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(4).PrjPcb.Zip
│ │ │ STM32項(xiàng)目.~(40).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(41).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(42).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(43).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(44).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(45).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(46).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(47).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(48).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(49).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(5).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(5).PrjPcb.Zip
│ │ │ STM32項(xiàng)目.~(50).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(51).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(52).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(53).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(54).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(55).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(56).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(57).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(58).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(59).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(6).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(6).PrjPcb.Zip
│ │ │ STM32項(xiàng)目.~(60).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(61).SchDoc.Zip
│ │ │ STM32項(xiàng)目.~(7).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(7).PrjPcb.Zip
│ │ │ STM32項(xiàng)目.~(8).PcbDoc.Zip
│ │ │ STM32項(xiàng)目.~(8).PrjPcb.Zip
│ │ │ STM32項(xiàng)目.~(9).PcbDoc.Zip
│ │ └ STM32項(xiàng)目.~(9).PrjPcb.Zip
│ └ 庫(kù)
│ │ 按鍵和顯示組合.ERR
│ │ 按鍵和顯示組合.ERRPreview
│ │ 按鍵和顯示組合.LibPkg
│ │ 按鍵和顯示組合.PcbLib
│ │ 按鍵和顯示組合.SchLib
│ ├ History
│ │ │ 按鍵和顯示組合.~(1).LibPkg.Zip
│ │ │ 按鍵和顯示組合.~(1).PcbLib.Zip
│ │ │ 按鍵和顯示組合.~(1).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(2).LibPkg.Zip
│ │ │ 按鍵和顯示組合.~(28).PcbLib.Zip
│ │ │ 按鍵和顯示組合.~(29).PcbLib.Zip
│ │ │ 按鍵和顯示組合.~(30).PcbLib.Zip
│ │ │ 按鍵和顯示組合.~(31).PcbLib.Zip
│ │ │ 按鍵和顯示組合.~(32).PcbLib.Zip
│ │ │ 按鍵和顯示組合.~(33).PcbLib.Zip
│ │ │ 按鍵和顯示組合.~(34).PcbLib.Zip
│ │ │ 按鍵和顯示組合.~(35).PcbLib.Zip
│ │ │ 按鍵和顯示組合.~(36).PcbLib.Zip
│ │ │ 按鍵和顯示組合.~(37).PcbLib.Zip
│ │ │ 按鍵和顯示組合.~(38).PcbLib.Zip
│ │ │ 按鍵和顯示組合.~(55).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(56).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(57).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(58).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(59).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(60).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(61).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(62).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(63).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(64).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(65).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(66).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(67).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(68).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(69).SchLib.Zip
│ │ │ 按鍵和顯示組合.~(8).PcbLib.Zip
│ │ └ 按鍵和顯示組合.~(9).PcbLib.Zip
│ └ Project Outputs for 按鍵和顯示組合
│ └ 按鍵和顯示組合.IntLib
└ 程序
└ LCD12864
├ CONTROL
│ │ 12864.c
│ │ 12864.h
│ │ 18B20.c
│ │ 18b20.h
│ │ 24c02.c
│ │ 24C02.h
│ │ buzzer.c
│ │ buzzer.h
│ │ ds18b20.c
│ │ ds18b20.h
│ │ Infrared.c
│ │ Infrared.h
│ │ KEY.c
│ │ KEY.h
│ │ key_control.c
│ │ key_control.h
│ │ led.c
│ │ led.h
│ │ Relay.c
│ │ Relay.h
│ │ ULN2003.c
│ └ ULN2003.h
├ CORE
│ │ core_cm3.c
│ │ core_cm3.h
│ └ startup_stm32f10x_hd.s
├ OBJ
│ └ LCD12864.hex
├ STM3210x_FWLIB
│ ├ inc
│ │ │ misc.h
│ │ │ stm32f10x_adc.h
│ │ │ stm32f10x_bkp.h
│ │ │ stm32f10x_can.h
│ │ │ stm32f10x_cec.h
│ │ │ stm32f10x_crc.h
│ │ │ stm32f10x_dac.h
│ │ │ stm32f10x_dbgmcu.h
│ │ │ stm32f10x_dma.h
│ │ │ stm32f10x_exti.h
│ │ │ stm32f10x_flash.h
│ │ │ stm32f10x_fsmc.h
│ │ │ stm32f10x_gpio.h
│ │ │ stm32f10x_i2c.h
│ │ │ stm32f10x_iwdg.h
│ │ │ stm32f10x_pwr.h
│ │ │ stm32f10x_rcc.h
│ │ │ stm32f10x_rtc.h
│ │ │ stm32f10x_sdio.h
│ │ │ stm32f10x_spi.h
│ │ │ stm32f10x_tim.h
│ │ │ stm32f10x_usart.h
│ │ └ stm32f10x_wwdg.h
│ └ src
│ │ misc.c
│ │ stm32f10x_adc.c
│ │ stm32f10x_bkp.c
│ │ stm32f10x_can.c
│ │ stm32f10x_cec.c
│ │ stm32f10x_crc.c
│ │ stm32f10x_dac.c
│ │ stm32f10x_dbgmcu.c
│ │ stm32f10x_dma.c
│ │ stm32f10x_exti.c
│ │ stm32f10x_flash.c
│ │ stm32f10x_fsmc.c
│ │ stm32f10x_gpio.c
│ │ stm32f10x_i2c.c
│ │ stm32f10x_iwdg.c
│ │ stm32f10x_pwr.c
│ │ stm32f10x_rcc.c
│ │ stm32f10x_rtc.c
│ │ stm32f10x_sdio.c
│ │ stm32f10x_spi.c
│ │ stm32f10x_tim.c
│ │ stm32f10x_usart.c
│ └ stm32f10x_wwdg.c
├ SYSTEM
│ ├ delay
│ │ │ delay.c
│ │ └ delay.h
│ ├ sys
│ │ │ sys.c
│ │ └ sys.h
│ ├ time
│ │ │ time.c
│ │ └ time.h
│ └ usart
│ │ usart.c
│ └ usart.h
└ USER
│ icc.c
│ icc.h
│ LCD12864.uvguix.admin
│ LCD12864.uvguix.Coolguyisme
│ LCD12864.uvoptx
│ LCD12864.uvprojx
│ main.c
│ stm32f10x.h
│ stm32f10x_conf.h
│ stm32f10x_it.c
│ stm32f10x_it.h
│ system_stm32f10x.c
│ system_stm32f10x.h
├ DebugConfig
│ │ Target_1_STM32F103C8.dbgconf
│ └ Target_1_STM32F103C8_1.0.0.dbgconf