51单片机-电脑密码锁与系统监控
图一 运行效果图(本来是想弄成动图的,但是缺少这方面的软件)
图二 RIOS 系统架构图
在系统的底部,有六个驱动程序用来控制外围硬件(之前导师问为什么要把它称作驱动而不是实现某些硬件功能的构造函数,在我看来,驱动就是软件和硬件交流的桥梁[虽然驱动是用软件写的],它还提供一系列应用编程接口给上层应用程序或者内核来调用.在这里也一样,每个.C 文件只做属于它应该做的事,并且向上提供编程接口来控制主控芯片的外围硬件,于是习惯性地把它们称之为驱动),内核模块monitor_system_trance_data [这个驱动是用于和RTU 进行信息交互的,关于数据交互的详细的数据包结构和标志在monitor_system_code_trance.h 里面保存着]是基于驱动device_52_trance 拓展的;模块monitor_system_code_password [用于在EEPROM 内读/写密码]是基于驱动device_eeprom 拓展的.最后,monitor_system_chip 把所有接口都汇总起来,构建RIOS 的核心代码,为什么不把它称作内核呢?觉得吧,它只不过是把这么多接口都使用一遍的代码文件,归根到底都还只是"使用别人的东西","只不过是这些代码的用户罢了".
最后还要提及的就是RIOS 使用到的引脚定义:
// P0 给keyboard 进行数据接收用
// lcd_1602 控制引脚
sbit lcdrs=P1^0;
sbit lcdrw=P1^1;
sbit lcden=P1^2;
// P2 是lcd_1602 用来进行数据传输的
//芯片端串行数据传输引脚
sbit data_in=P3^0;
sbit data_out=P3^1;
// AT24C02 EEPROM IIC 总线传输引脚
sbit scl=P3^6;
sbit sda=P3^7;
// 启动PC 端电源引脚(注意,它的原理是通过控制继电器引发主板PWR 端连)
sbit io_switch_elect =P3^5;
// PC 端运行电压检测引脚
sbit io_interrupt_0=P3^2;
完整的代码下载地址(包含:RIOS [Keil v4.0 ]和RTU [Microsoft VC++ 6.0 ]):http://www.51hei.com/f/monitor_system.rar
51单片机电脑密码锁系统监 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)