资源简介
C8051F320的USB驱动程序,含一路ADC采集,内部温度测量,SD卡信息读取功能。
代码片段和文件信息
/*
================================================================================
File Name : main.c
Author : LiYong
Date : 2008-12-9 12:30
Version : 1.0
Description : This file contains the main entry and some harware operations
Note :
================================================================================
*/
#define _MAIN_C_
#include “mytypedef.h“
#include “usb.H“
#include “F32x_USB_Register.h“
#include “sddriver.h“
#include “C8051FMacros.H“
INT8U USB_InBuff[EP1_PACKET_SIZE];
INT8U USB_OutBuff[EP2_PACKET_SIZE];
/*Initialize the system and USB clock*/
void Clock_Init( void );
/*Handle the bootloader data*/
INT8U BootloaderHandler( void );
/*Initial the GPIOs and the crossbar*/
void GPIO_Init( void );
/*Initialize the SPI bus*/
void SPI_Init( void );
/*
================================================================================
Function name : KeyScan( )
Description : Scan the key board and returns the events
Input : None
Output : The events at the keyboard
================================================================================
*/
//P2.3 P2.4P2.5P2.6P2.7
static INT8U KeyStatus = 0xFF;
static INT8U KeyValue = 0;
#define K_NONE 0x00
#define K1_PRESS 0x01
#define K2_PRESS 0x02
#define K3_PRESS 0x03
#define K4_PRESS 0x04
#define K5_PRESS 0x05
#define K6_PRESS 0x06
#define K1_RELEASE 0x10
#define K2_RELEASE 0x20
#define K3_RELEASE 0x30
#define K4_RELEASE 0x40
#define K5_RELEASE 0x50
#define K6_RELEASE 0x60
INT8U KeyScan( void )
{
volatile INT8U btmp;
volatile INT8U x0x2;
P0 |= 0x0F;
P2 |= 0x03;
for(btmp = 0; btmp < 5; btmp ++ );
btmp = ( P0 & 0x0F ) | ( ( P2 & 0x03 ) << 4 );
if( KeyStatus == 0xFF )
{
KeyStatus = btmp;
}
if( KeyStatus == btmp )
{
return K_NONE;
}
btmp ^= KeyStatus; //找出不同的bit
KeyStatus ^= btmp; //btmp和KeyStatus交换
if( btmp & ( 1<<0 ) )
{
if( KeyStatus & ( 1<<0 ) )
{
KeyValue &= ~( 1<<3 );
return K4_RELEASE;
}
else
{
KeyValue |= ( 1<<3 );
return K4_PRESS;
}
}
if( btmp & ( 1<<1 ) )
{
if( KeyStatus & ( 1<<1 ) )
{
KeyValue &= ~( 1<<2 );
return K3_RELEASE;
}
else
{
KeyValue |= ( 1<<2 );
return K3_PRESS;
}
}
if( btmp & ( 1<<2 ) )
{
if( KeyStatus & ( 1<<2 ) )
{
KeyValue &= ~( 1<<1 );
return K2_RELEASE;
}
else
{
KeyValue |= ( 1<<1 );
return K2_PRESS;
}
}
if( btmp & ( 1<<3 ) )
{
if( KeyStatus & ( 1<<3 ) )
{
KeyValue &= ~( 1<<0 );
return K1_RELEASE;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 91545 2005-09-22 10:18 原USB_Control_MCU\APPs\C51L.LIB
文件 16194 2006-10-24 08:09 原USB_Control_MCU\APPs\c8051F320.h
文件 686 2011-01-27 12:38 原USB_Control_MCU\APPs\C8051FMacros.h
文件 10590 2011-02-21 23:47 原USB_Control_MCU\APPs\main.c
文件 3261 2011-01-27 11:37 原USB_Control_MCU\APPs\main.c.bak
文件 672 2009-04-29 18:30 原USB_Control_MCU\APPs\main.h
文件 1753 2009-03-13 11:01 原USB_Control_MCU\APPs\MyTypeDef.h
文件 5253 2008-04-20 21:54 原USB_Control_MCU\APPs\STARTUP.A51
目录 0 2013-02-16 22:03 原USB_Control_MCU\APPs
文件 18902 2013-01-27 16:00 原USB_Control_MCU\Project\List\main.lst
文件 50796 2013-01-27 16:00 原USB_Control_MCU\Project\List\sdcmd.lst
文件 8670 2013-01-27 16:00 原USB_Control_MCU\Project\List\sdcrc.lst
文件 18929 2013-01-27 16:00 原USB_Control_MCU\Project\List\sddriver.lst
文件 12135 2013-01-27 16:00 原USB_Control_MCU\Project\List\STARTUP.lst
文件 60102 2013-01-27 16:00 原USB_Control_MCU\Project\List\USB.lst
文件 94066 2013-01-27 16:00 原USB_Control_MCU\Project\List\USB_Control_MCU.m51
文件 11690 2013-01-27 16:00 原USB_Control_MCU\Project\List\USB_HID_Desc
目录 0 2013-02-16 22:03 原USB_Control_MCU\Project\List
文件 19 2011-02-21 22:12 原USB_Control_MCU\Project\Output\ExtDll.iex
文件 203 2010-03-26 11:45 原USB_Control_MCU\Project\Output\F320Bootloader.plg
文件 31183 2013-01-27 16:00 原USB_Control_MCU\Project\Output\main.obj
文件 43237 2013-01-27 16:00 原USB_Control_MCU\Project\Output\sdcmd.obj
文件 1570 2013-01-27 16:00 原USB_Control_MCU\Project\Output\sdcrc.obj
文件 36229 2013-01-27 16:00 原USB_Control_MCU\Project\Output\sddriver.obj
文件 869 2013-01-27 16:00 原USB_Control_MCU\Project\Output\STARTUP.obj
文件 52186 2013-01-27 16:00 原USB_Control_MCU\Project\Output\USB.obj
文件 161217 2013-01-27 16:00 原USB_Control_MCU\Project\Output\USB_Control_MCU
文件 24673 2013-01-27 16:00 原USB_Control_MCU\Project\Output\USB_Control_MCU.hex
文件 259 2013-01-27 16:00 原USB_Control_MCU\Project\Output\USB_Control_MCU.lnp
文件 196 2013-02-25 22:25 原USB_Control_MCU\Project\Output\USB_Control_MCU.plg
............此处省略38个文件信息
- 上一篇:微型计算机技术孙德文课后答案(三)
- 下一篇:mimo信道矩阵
相关资源
- pl2303 USB转串口驱动解决“运行时错误
- linux usb hid device端测试程序
- SMSC-USB 2240读卡器
- ch340-usb转ttl驱动
- usb摄像头设计原理图
- vas5054usb驱动
- \\基于WDF过滤驱动的USB存储设备监控系
- v4l2 USB摄像头图像采集程序C
- usb控制注册表
- 接口封装库,USB3.0microB,USB-B,SMA,
- 加密狗复制机增强版加密狗复制软件
- 普中pz-isp USB驱动
- cy68013A USB高速数据采集的FPGA程序源码
- labview打开自带摄像头或USB摄像头
- USB端口测试工具
- CyAPI库包括CAPI.lib及CyAPI.hcyioct.h
- USB 的Protel封装
- 计算机使用痕迹深度检查擦除工具源
- USB通信头文件,包括devioctl.h usbioctl
- luvcview_20070512.tar.gz
- USB内核过滤驱动
- linux下基于V4L2/Qt的usb摄像头采集显示
- AD type-c接口原理图库、PCB封装库.rar
- USB转CAN设计原理图
- MINI USB A贴片封装ad& 成品图
- usb2.0-serial驱动
- FT232HL编程指导
- XR21V1410芯片USB转UART应用图很经典的
- PC与USB通信控制tdc_gpx芯片工作与数据
- Custom_hid 官方STM32f10X例程
评论
共有 条评论