摘 要:介绍了PS/2协议及PS/2标准键盘的第2套扫描码和命令集,给出了在单片机系统中支持PS/2键盘的硬件连接方式以及利用KeilC51语言实现的驱动程序设计和部分代码.驱动程序在单片机系统中实现了对PS/2标准104键盘的支持;该程序在AT89C51单片机上运行通过,同时还可以方便地移植到其他单片机或嵌入式系统中.关键词:PS/2协议;PS/2键盘;单片机;驱动程序
上传时间: 2014-01-18
上传用户:归海惜雪
本文详细介绍了利用逻辑加密卡SLE4442 设计IC 卡保险箱(DEMO 板)的过程该保险箱是利用P87LPC764 做处理器另扩展1 片E2PROM 组成的应用系统该保险箱具有如下功能卡号自学习读卡出错计数和非法卡计数达到设定次数保险箱死锁控制该保险箱有权限和功能不同3 种卡(1)用户卡最终用户开箱用权限最低(2)客户卡分配用户卡给指定的保险箱(3)超级卡用于死锁后开箱用权限最高
上传时间: 2013-10-09
上传用户:wang0123456789
使用Stellaris(群星)单片机驱动直流无刷电机 本文简介如何使用Stellaris(群星)单片机驱动直流无刷电机
上传时间: 2013-12-25
上传用户:1234321@q
HT45R3X系列触控IC按键识别SWIP介绍 HOLTEK 用于触控按键的IC 有:HT45R34、HT45R36、HT45R38 等。为了帮助使用者,在利用这些IC 开发项目时,省去重复编写按键检测程序的工作,我们特此写出 SWIP,用于HT45R34,HT45R36,HT45R38 的触摸按键检测功能,使用者只需修改UserSet.inc 中的几个参数,便可实现对HT45R34,HT45R36,HT45R38 的触摸按键检测功能。
上传时间: 2013-11-19
上传用户:zjf3110
本文着重介绍LCD液晶驱动芯片PCF8562的相关知识,以及它级联的典型应用电路及背极输出、段输出的典型波形。
上传时间: 2013-10-20
上传用户:yanyueshen
linux 中断和设备驱动 本章介绍L i n u x内核是如何维护它支持的文件系统中的文件的,我们先介绍 V F S ( Vi r t u a lFile System,虚拟文件系统),再解释一下L i n u x内核的真实文件系统是如何得到支持的。L i n u x的一个最重要特点就是它支持许多不同的文件系统。这使 L i n u x非常灵活,能够与许多其他的操作系统共存。在写这本书的时候, L i n u x共支持1 5种文件系统: e x t、 e x t 2、x i a、 m i n i x、 u m s d o s、 msdos 、v f a t、 p r o c、 s m b、 n c p、 i s o 9 6 6 0、 s y s v、 h p f s、 a ffs 和u f s。无疑随着时间的推移,L i n u x支持的文件系统数还会增加。
上传时间: 2013-11-13
上传用户:zxh122
设计了一种基于C8051F005 单片机控制多路PZT(压电陶瓷)的驱动电路,采用串行数据传输的方法,利用新型数模转换器AD5308 具有8 通道DAC 输出的特性,极大的简化了电路设计,给出了硬件系统设计和软件流程图以及主要的软件模块设计。本电路主要用于自适应光学合成孔径成像相位实时校正系统中。结果表明,该电路可以成功为12 路PZT 提供所需的驱动电压。
上传时间: 2013-10-19
上传用户:pans0ul
STM32的SD卡驱动及液晶驱动源代码
上传时间: 2013-10-31
上传用户:xinzhch
I2C的模拟驱动资料
上传时间: 2013-11-21
上传用户:lht618
AT89C2051驱动步进电机的电路和源码:AT89C2051驱动步进电机的电路和源码 程序:stepper.c stepper.hex/* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */#i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.hregister unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */main(){ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */while(1){ { tick_wait(); /* wait for 10ms elapsed */energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }}cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } }
上传时间: 2013-11-21
上传用户:boyaboy