新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)-電腦密碼鎖與系統(tǒng)監(jiān)控

51單片機(jī)-電腦密碼鎖與系統(tǒng)監(jiān)控

作者: 時(shí)間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
由于最近比較閑,所以沒有什么事情好做,于是想起了去年臺(tái)風(fēng)的一晚上和博記約定要搞個(gè)輸入密碼才可以啟動(dòng)電腦的硬件,不過后來因許多原因而不了了之,今憶起往事,所以才把它做好,到時(shí)候回去和同學(xué)們?cè)诖笈艡n里吹水也有東西來吹.鑒于這個(gè)系統(tǒng)的代碼量較大,在此只給出代碼的下載地址和片上系統(tǒng)(RIOS )的系統(tǒng)架構(gòu)圖,如果你還有什么好的想法的話可以在此基礎(chǔ)上加已改進(jìn).現(xiàn)在,監(jiān)控系統(tǒng)不單止是可以支持輸入密碼啟動(dòng)電腦,還支持接收上位機(jī)(RTU )的監(jiān)控系統(tǒng)性能的數(shù)據(jù),當(dāng)然,也可以在線修改RIOS 啟動(dòng)密碼..



圖一 運(yùn)行效果圖(本來是想弄成動(dòng)圖的,但是缺少這方面的軟件)

本文引用地址:http://m.butianyuan.cn/article/201612/324226.htm


圖二 RIOS 系統(tǒng)架構(gòu)圖

在系統(tǒng)的底部,有六個(gè)驅(qū)動(dòng)程序用來控制外圍硬件(之前導(dǎo)師問為什么要把它稱作驅(qū)動(dòng)而不是實(shí)現(xiàn)某些硬件功能的構(gòu)造函數(shù),在我看來,驅(qū)動(dòng)就是軟件和硬件交流的橋梁[雖然驅(qū)動(dòng)是用軟件寫的],它還提供一系列應(yīng)用編程接口給上層應(yīng)用程序或者內(nèi)核來調(diào)用.在這里也一樣,每個(gè).C 文件只做屬于它應(yīng)該做的事,并且向上提供編程接口來控制主控芯片的外圍硬件,于是習(xí)慣性地把它們稱之為驅(qū)動(dòng)),內(nèi)核模塊monitor_system_trance_data [這個(gè)驅(qū)動(dòng)是用于和RTU 進(jìn)行信息交互的,關(guān)于數(shù)據(jù)交互的詳細(xì)的數(shù)據(jù)包結(jié)構(gòu)和標(biāo)志在monitor_system_code_trance.h 里面保存著]是基于驅(qū)動(dòng)device_52_trance 拓展的;模塊monitor_system_code_password [用于在EEPROM 內(nèi)讀/寫密碼]是基于驅(qū)動(dòng)device_eeprom 拓展的.最后,monitor_system_chip 把所有接口都匯總起來,構(gòu)建RIOS 的核心代碼,為什么不把它稱作內(nèi)核呢?覺得吧,它只不過是把這么多接口都使用一遍的代碼文件,歸根到底都還只是"使用別人的東西","只不過是這些代碼的用戶罷了".

最后還要提及的就是RIOS 使用到的引腳定義:
// P0 給keyboard 進(jìn)行數(shù)據(jù)接收用
// lcd_1602 控制引腳
sbit lcdrs=P1^0;
sbit lcdrw=P1^1;
sbit lcden=P1^2;
// P2 是lcd_1602 用來進(jìn)行數(shù)據(jù)傳輸?shù)?br /> //芯片端串行數(shù)據(jù)傳輸引腳
sbit data_in=P3^0;
sbit data_out=P3^1;
// AT24C02 EEPROM IIC 總線傳輸引腳
sbit scl=P3^6;
sbit sda=P3^7;
// 啟動(dòng)PC 端電源引腳(注意,它的原理是通過控制繼電器引發(fā)主板PWR 端連)
sbit io_switch_elect =P3^5;
// PC 端運(yùn)行電壓檢測(cè)引腳
sbit io_interrupt_0=P3^2;

完整的代碼下載地址(包含:RIOS [Keil v4.0 ]和RTU [Microsoft VC++ 6.0 ]):http://www.51hei.com/f/monitor_system.rar



評(píng)論


技術(shù)專區(qū)

關(guān)閉