摘è¦ï¼š 本文介紹PIC16C924型單片機在酒精濃度檢測儀ä¸çš„æ‡‰ç”¨ï¼Œå¹¶çµ¦å‡ºå¯¦éš›çš„軟件æµç¨‹ã€‚
é—œå¥è©žï¼šå–®ç‰‡æ©Ÿ 酒精濃度檢測
引言
Microchip Technologyå…¬å¸PIC16C924æ˜¯ä¸€ç¨®ä½Žåƒ¹æ ¼ã€é«˜æ€§èƒ½ã€CMOSã€å…¨éœæ…‹ã€å¸¶æœ‰é›†æˆLCD驅動器模塊和5通é“8ä½é«˜é€ŸA/Dçš„8ä½å¾®æŽ§åˆ¶å™¨ã€‚æŒ‡ä»¤ç¸½ç·šå’Œæ•¸æ“šç¸½ç·šåˆ†é–‹çš„å“ˆä½›çµæ§‹å¯å®¹ç´14使Œ‡ä»¤å’Œ8使•¸æ“šã€‚å…©ç´šæŒ‡ä»¤æµæ°´ä½œæ¥ä½¿æ‰€æœ‰ç¨‹åºè·³è½‰æŒ‡ä»¤éœ€2個時é˜å‘¨æœŸå¤–,其余å‡ç‚ºå–®å‘¨æœŸæŒ‡ä»¤ã€‚RISC指令集僅35æ¢æŒ‡ä»¤ã€‚PIC16C924還具有減少外部元件ã€é™ä½Žæˆæœ¬ã€å¢žåŠ ç³»çµ±å¯é 性和é™ä½ŽåŠŸè€—ç‰ç‰¹é»žã€‚ç´«å¤–ç·šå¯æ“¦é™¤åž‹ç”¨äºŽä»£ç¢¼é–‹ç™¼ï¼ŒOTP型用于批é‡ç”Ÿç”¢ã€‚éžå¸¸é©åˆäºŽæ‰‹æŒå¼å„€è¡¨ç‰é™åˆ¶é«”ç©å ´åˆçš„使用。
應用方案
酒精濃度檢測儀的諸多方案ä¸é¸å–以PIC16C924ç‚ºæ ¸å¿ƒçš„æ‡‰ç”¨æ–¹æ¡ˆï¼ˆè¦‹åœ–1ï¼‰ä¸»è¦æ˜¯åŸºäºŽä»¥ä¸‹å¹¾å€‹æ–¹é¢çš„è€ƒæ…®ã€‚é¦–å…ˆï¼Œåƒ¹æ ¼ç¶“æ¿Ÿï¼ŒOTP型僅70元人民幣左å³ï¼Œä¾¿äºŽæŽ§åˆ¶æˆæœ¬ï¼Œæé«˜ç”¢å“çš„å¸‚å ´ç«¶çˆåŠ›ã€‚å…¶æ¬¡ï¼ŒPIC16C924功能強大。由于它內部已集æˆäº†A/D轉æ›å™¨å’ŒLCD驅動器,使得許多硬件的功能å¯ä»¥é€šéŽè»Ÿä»¶ä¾†å¯¦ç¾ï¼Œå¾žè€Œï¼Œä½¿å®ƒçš„外åœé›»è·¯ç°¡å–®ï¼Œç”¢å“的硬件è¨è¨ˆæ›´åŠ ç°¡æ½”ï¼Œç³»çµ±çš„å¯é 性得以æé«˜ã€‚第三,軟件開發方便ã€å¿«æ·ã€‚PIC應用程åºçš„開發å¯é‡‡ç”¨ç¡¬ä»¶ä»¿çœŸå’Œè»Ÿä»¶æ¨¡æ“¬å…©ç¨®è¾¦æ³•,考慮到開發費用與開發進程兩方é¢å› ç´ ï¼Œæˆ‘å€‘é‡‡ç”¨è»Ÿä»¶æ¨¡æ“¬çš„è¾¦æ³•ï¼Œå³å€ŸåŠ©äºŽPC機利用PCI模擬(仿真)調試工具來完æˆã€‚它å…許用戶通éŽè¨ç½®æ–·é»žï¼Œå–®æ¥åŸ·è¡Œç‰åŠŸèƒ½å°ç›®æ¨™ç¨‹åºé€²è¡Œèª¿è©¦ï¼Œåªæ˜¯é€Ÿåº¦ç•¥é¡¯æ…¢äº›ï¼Œå¯¦æ™‚性能ç¨å·®ã€‚鑒于目å‰å¾®æ©Ÿæ€§èƒ½çš„大幅度æé«˜èˆ‡é›†æˆé–‹ç™¼è»Ÿä»¶çš„䏿–·å®Œå–„ï¼Œæ¤æ³•愈顯示出其å¯è²´ä¹‹è™•。我們采用基于WINDOWS9X下的集æˆé–‹ç™¼è»Ÿä»¶ï¼ŒMPLAB4.00。它是目å‰çš„æœ€æ–°ç‰ˆæœ¬ã€‚程åºçš„燒寫采用MICROCHIP代ç†å•†ç¦å·žé«˜å¥‡å…¬å¸çš„PICKIT燒寫器。它包括一塊ISA總線接å£å¡å’Œä¸€å€‹PLCC燒寫æ’座。用燒寫軟件PT.EXE進行PIC16C924的燒寫工作。開發期間采用窗å£EPROM型芯片。
[IMG=酒精濃度檢測儀的原ç†åœ–]/uploadpic/tech/2008/1/2008010910404643948I.jpg[/IMG]
實è¸è‰æ˜Žï¼Œä¸Šè¿°æ‡‰ç”¨è€ƒæ…®æ˜¯å¯è¡Œçš„,而且節約了大é‡çš„é–‹ç™¼æˆæœ¬ï¼Œç¸®çŸäº†é–‹ç™¼å‘¨æœŸã€‚
軟件編寫
軟件所è¦å¯¦ç¾çš„功能是將通éŽç²¾å¯†æ”¾å¤§å™¨çš„傳感器信號進行A/D轉æ›ï¼Œå¹¶æŠŠè½‰æ›åŽçš„æ•¸å—é‡é€²è¡Œä¸€å®šè™•ç†ï¼Œè½‰åŒ–為酒精濃度信號PPM或mg/L,最åŽé€æ¶²æ™¶é¡¯ç¤ºå™¨é¡¯ç¤ºã€‚
主è¦åŠŸèƒ½åŒ…æ‹¬ï¼š
開機自檢
é›»æ± æª¢æ¸¬ï¼Œé›»æºä¸è¶³æ™‚給出顯示。
節電è¨è¨ˆï¼Œ4分é˜å…§æª¢æ¸¬ä¸åˆ°ä¿¡è™Ÿæ™‚,自動關機。
酒精濃度單ä½å¯äº’æ›ï¼ŒPPM與mg/L互æ›ã€‚
音響æç¤ºï¼Œæ¿ƒåº¦é«˜æ™‚é »çŽ‡é«˜ï¼Œæ¿ƒåº¦ä½Žæ™‚é »çŽ‡ä½Žã€‚ä¸”éŸ³éŸ¿å¯éš¨æ„é—œé–‰æˆ–æ‰“é–‹ã€‚
å¯å˜å„²å次測é‡çµæžœï¼ˆå˜å„²æ¬¡æ•¸çš„多少視RAM容é‡è€Œå®šï¼‰
çµæžœå¯é‡å¾©é¡¯ç¤ºæˆ–æ¢å¾©é¡¯ç¤ºã€‚
在程åºçš„編寫éŽç¨‹ä¸ï¼Œè€ƒæ…®åˆ°å¯ç§»æ¤æ€§å’Œä»¥åŽåŠŸèƒ½çš„å‡ç´šï¼Œä»¥åŠèª¿è©¦çš„æ–¹ä¾¿æ€§ï¼Œé‡‡ç”¨æ¨¡å¡ŠåŒ–è¨è¨ˆã€‚也就是說,將程åºçš„æŸä¸€éƒ¨åˆ†æ›æŽ‰ä»¥åŽï¼Œå¯ä»¥ä½œç‚ºç›¸æ‡‰çš„æ¸¬è©¦ç¨‹åºä½¿ç”¨ã€‚比如,將程åºä¸é…’精的PPMå’Œmg/Læ¿ƒåº¦è¡¨æ›æˆé›»å£“與壓力或電壓與濕度的轉æ›è¡¨ï¼Œå‰‡å¯ä»¥å¯¦ç¾å£“力測試或溫度測試。å¦å¤–,除顯示å程åºå¤–,其他的濃度轉æ›å程åºã€é‡å¾©é¡¯ç¤ºå程åºã€æ¢å¾©é¡¯ç¤ºå程åºã€é–‹é—œè²éŸ¿å程åºç‰å¯ä»¥ä»»æ„拿掉而ä¸å½±éŸ¿æ•´å€‹ç¨‹åºçš„æ£å¸¸é‹è¡Œã€‚下é¢çµ¦å‡ºç¨‹åºä¸ç”¨åˆ°çš„å„寄å˜å™¨çš„定義åŠä¸»ç¨‹åºå’Œå„å程åºçš„æµç¨‹åœ–ã€‚
******************
1IST =P16C924
#INCLUDE
****VARIABLE DEFINITIONS
GO EQU 0X02
LCDEN EQU 0X07
COUNT1L EQU 0X70 ;LOW BIT REGISTER1 OF DALAY TIME
COUNT1H EQU 0X71 ;HIGH BIT—————————————————
COUNT2L EQU 0X72 ;LOW BIT REGISTER2 OF DALAY TIME
COUNT2H EQU 0X73 ;HIGH BIT—————————————————
REMRCO EQU 0X74 ;REGISTER OF REPEAT MEASURE COUNT
CONCEF EQU 0X75 ;REGISTER OF CONCENTRATION FLAG
INDEXL EQU 0X76 ;INDEX OF PPM TABLE OR mg/L TABLE
INDEXH EQU 0X77 ;UPPER BIT OF INDEX
SEGMENT EQU 0X78 ;REGISTER OF LCD CODE TABLE (7 SEGMENT)
MPMTMP EQU 0X79 ;TEMPORAPY REGISTER OF PPM OR mg/L
REMRAD EQU 0X7A ;FIST ADDRESS OF OF REPEAT MEASURE TABLE
TIME1 EQU 0X7B ;COUNTER1 OF TEST WAITING
TIME2 EQU 0X7C ;COUNTER2 OF TEST WAITING
ADTEPM1 EQU 0X7D ;REGISTER OF ADRES TEMPERRARY
RMCTMP EQU 0X7F ;REGISTER OF REMRCO TEMPORARY
URDPPNT EQU 0X21 ;URD OF RDP POINT
URDPFLG EQU 0X22 ;URD OR RDP FLAG
;
;PORTB 7 6 5 4 3 2 1 0
; SND URD RDP CNC LBD PRM CSP LB0
;
;SND:SOUND LBO:LOW BATTERY OUT
;URD:RESUME DISPLAY RDP:REPEAT DISPLAY CNC:CONCENTRATION CONVERT
;LBD:LOW BATTERY DETECT PRM:PERMIT MEASURE CSP:CLOSE POWER
主程åºé™¤å®ŒæˆåŸºæœ¬çš„åˆå§‹åŒ–è¨ç½®å¤–,還實ç¾é›»æ± 電力檢測和å°å„å程åºçš„調用見圖2。
[IMG=é›»æ± é›»åŠ›æª¢æ¸¬å’Œå°å„å程åºçš„調用圖]/uploadpic/tech/2008/1/2008010910405027199A.jpg[/IMG]
çµæŸèªž
å„åç¨‹åºæµç¨‹é™äºŽç¯‡å¹…æ¤è™•å¾žç•¥ã€‚ç¸½ä¹‹ï¼Œä¾æ“šä¸Šè¿°æµç¨‹åœ–所編程åºåœ¨æˆ‘å€‘ç ”åˆ¶çš„é…’æª¢å„€ç”¢å“ä¸é‹è¡Œè‰¯å¥½ï¼Œå®Œæˆé”åˆ°äº†å„€å™¨åŠŸèƒ½æ‰€éœ€è¦æ±‚,å¯é æ€§å¥½ï¼Œæ•…éšœçŽ‡ä½Žï¼Œå› æ¤ï¼Œç¨‹åºçš„開發是æˆåŠŸçš„ã€‚