2021-11-23 13:06:20 索煒達電子 931
項目編號:E2415
文件大?。?4M
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡要概述
一、功能介紹:
1、輸入6位密碼,即可開鎖。
2、輸入7次純數(shù)字,系統(tǒng)會自動恢復(fù)初始狀態(tài)。
3、沒有輸入完6位密碼,按下確認鍵,系統(tǒng)不會應(yīng)答。
4、密碼輸入錯誤三次,鎖定鍵盤并且蜂鳴器提醒10秒。
5、輸入錯誤可以退格、清零。
6、開機后12864模塊會有60秒定時顯示,沒操作鍵盤60秒后,清除數(shù)據(jù)并且恢復(fù)初始狀態(tài)。如果在記時期間有按鍵按下,這停止倒計時,并且在沒有操作鍵盤8秒左右,重新開啟倒計時12864休眠功能。
7、在功能模式下可以修改密碼,也可以做其他功能選擇(其他功能你們根據(jù)自身能力添加)。
8、程序有密碼數(shù)值存儲在數(shù)組,可用于顯示等操作。(修改密碼時可以顯示)
9、有人體感應(yīng)模塊,感應(yīng)到有人嗎,并且12864處于關(guān)屏休眠模式下,即可打開12864屏幕。
10、有外部存儲器24C02,支持修改密碼,密碼斷電不丟失。
11、步進電機模塊。
12、繼電器模塊。
13、溫度模塊,倒計時期間可以測量7805和1117芯片溫度或者外部溫度,并實時顯示。
二、資料展示
1.原理圖
2.PCB印制電路板
因為自己做的板,所以在布線的時候那那么專業(yè),能用就好。
3.實物圖
外觀大概就這樣,工作狀態(tài)
4、說明
我是用的KT板面上貼了一層貼紙,把這些弄到了一起,自己準備在包裝一下,做一個密碼箱完全沒有問題??梢杂脕矸欧抛约旱男∶孛?,哈哈哈 。
5、代碼
代碼太多了,我就不寫出來咯,自行可以去程序里面看。在資料里有單獨的DS18B20、24c02、定時器的一些單一代碼,直接修改一下就能移植。有些代碼的注釋沒有修改到,是錯誤的??吹臅r候注意一下就好。
三、最后說幾句
1、有電子相關(guān)專業(yè)的同學們,可以用這個作為設(shè)計,可以去掉步進電機,再添加一個指紋模塊后,應(yīng)該能行。
2、我原本想用指紋模塊來控制步進電機來打開老式的拉鎖,現(xiàn)在我還沒有試,不知道能不能成功。
3、因為我的按鍵模塊、12864模塊、DS18B20之間的gpio口有點干擾,因為矩陣鍵盤的列需要輸入探測是用了一整個GPIO的操作函數(shù),所以用了它后,另外兩個它也會受到影響。
4、資料里包含了四個文件夾,PCB設(shè)計、程序、串口調(diào)試工具、資料(相關(guān)芯片,外設(shè)的資料)
實物圖:
目錄│文件列表:
├ PCB設(shè)計
│ ├ History
│ │ │ STM32項目.~(1).PcbDoc.Zip
│ │ │ STM32項目.~(2).PcbDoc.Zip
│ │ └ STM32項目.~(3).PcbDoc.Zip
│ ├ 工程
│ │ │ STM32改.PcbDoc
│ │ │ STM32改.PcbDocPreview
│ │ │ STM32項目.PrjPcb
│ │ │ STM32項目.SchDoc
│ │ │ STM32項目.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項目.~(1).PcbDoc.Zip
│ │ │ STM32項目.~(1).PrjPcb.Zip
│ │ │ STM32項目.~(1).SchDoc.Zip
│ │ │ STM32項目.~(12).PcbDoc.Zip
│ │ │ STM32項目.~(13).PcbDoc.Zip
│ │ │ STM32項目.~(14).PcbDoc.Zip
│ │ │ STM32項目.~(14).PrjPcb.Zip
│ │ │ STM32項目.~(15).PcbDoc.Zip
│ │ │ STM32項目.~(15).PrjPcb.Zip
│ │ │ STM32項目.~(16).PcbDoc.Zip
│ │ │ STM32項目.~(16).PrjPcb.Zip
│ │ │ STM32項目.~(17).PcbDoc.Zip
│ │ │ STM32項目.~(17).PrjPcb.Zip
│ │ │ STM32項目.~(18).PcbDoc.Zip
│ │ │ STM32項目.~(19).PcbDoc.Zip
│ │ │ STM32項目.~(2).PcbDoc.Zip
│ │ │ STM32項目.~(2).PrjPcb.Zip
│ │ │ STM32項目.~(20).PcbDoc.Zip
│ │ │ STM32項目.~(21).PcbDoc.Zip
│ │ │ STM32項目.~(26).SchDoc.Zip
│ │ │ STM32項目.~(27).SchDoc.Zip
│ │ │ STM32項目.~(28).SchDoc.Zip
│ │ │ STM32項目.~(29).SchDoc.Zip
│ │ │ STM32項目.~(3).PcbDoc.Zip
│ │ │ STM32項目.~(3).PrjPcb.Zip
│ │ │ STM32項目.~(30).SchDoc.Zip
│ │ │ STM32項目.~(31).SchDoc.Zip
│ │ │ STM32項目.~(32).SchDoc.Zip
│ │ │ STM32項目.~(33).SchDoc.Zip
│ │ │ STM32項目.~(34).SchDoc.Zip
│ │ │ STM32項目.~(35).SchDoc.Zip
│ │ │ STM32項目.~(36).SchDoc.Zip
│ │ │ STM32項目.~(37).SchDoc.Zip
│ │ │ STM32項目.~(38).SchDoc.Zip
│ │ │ STM32項目.~(39).SchDoc.Zip
│ │ │ STM32項目.~(4).PcbDoc.Zip
│ │ │ STM32項目.~(4).PrjPcb.Zip
│ │ │ STM32項目.~(40).SchDoc.Zip
│ │ │ STM32項目.~(41).SchDoc.Zip
│ │ │ STM32項目.~(42).SchDoc.Zip
│ │ │ STM32項目.~(43).SchDoc.Zip
│ │ │ STM32項目.~(44).SchDoc.Zip
│ │ │ STM32項目.~(45).SchDoc.Zip
│ │ │ STM32項目.~(46).SchDoc.Zip
│ │ │ STM32項目.~(47).SchDoc.Zip
│ │ │ STM32項目.~(48).SchDoc.Zip
│ │ │ STM32項目.~(49).SchDoc.Zip
│ │ │ STM32項目.~(5).PcbDoc.Zip
│ │ │ STM32項目.~(5).PrjPcb.Zip
│ │ │ STM32項目.~(50).SchDoc.Zip
│ │ │ STM32項目.~(51).SchDoc.Zip
│ │ │ STM32項目.~(52).SchDoc.Zip
│ │ │ STM32項目.~(53).SchDoc.Zip
│ │ │ STM32項目.~(54).SchDoc.Zip
│ │ │ STM32項目.~(55).SchDoc.Zip
│ │ │ STM32項目.~(56).SchDoc.Zip
│ │ │ STM32項目.~(57).SchDoc.Zip
│ │ │ STM32項目.~(58).SchDoc.Zip
│ │ │ STM32項目.~(59).SchDoc.Zip
│ │ │ STM32項目.~(6).PcbDoc.Zip
│ │ │ STM32項目.~(6).PrjPcb.Zip
│ │ │ STM32項目.~(60).SchDoc.Zip
│ │ │ STM32項目.~(61).SchDoc.Zip
│ │ │ STM32項目.~(7).PcbDoc.Zip
│ │ │ STM32項目.~(7).PrjPcb.Zip
│ │ │ STM32項目.~(8).PcbDoc.Zip
│ │ │ STM32項目.~(8).PrjPcb.Zip
│ │ │ STM32項目.~(9).PcbDoc.Zip
│ │ └ STM32項目.~(9).PrjPcb.Zip
│ └ 庫
│ │ 按鍵和顯示組合.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