当前位置:首页 > 单片机 > 单片机
[导读]config.c#include "include.h"// Peripheral specific initialization functions,// Called from the Init_Device() functionvoid Timer0_Init (void){TMOD= 0x01;TH0= TH0_VALUE;TL0= TL0_VALUE;}void ADC_Init(){A

config.c

#include "include.h"

// Peripheral specific initialization functions,
// Called from the Init_Device() function

void Timer0_Init (void)
{
TMOD= 0x01;
TH0= TH0_VALUE;
TL0= TL0_VALUE;

}

void ADC_Init()
{
AMX1SL= 0x00;//
ADC1CF= 0x21;//
ADC1CN= 0x80;//
REF0CN= 0x03;
}

//-------------------------------------------------------------------------------

void PORT_Reset(void)
{
// disable watchdog timer
// disable watchdog timer
WDTCN = 0xde;
WDTCN = 0xad;

//P0MDOUT|=0x10;
XBR0 = 0x04;// CP0EECI0EPCA0ME PCA0ME PCA0ME [UART0]SPI0EN [SMB0EN]

XBR1 = 0x14;// SYSCKET2EXET2EINT1ET1E[INT0E]T0ECP1E

XBR2 = 0x40;// WEAKPUD [XBARE] -T4EXET4E[UART1E] EMIFLE CNVSTE

P0MDOUT|=0x0;
P1MDIN=0x0;//Digital Input Mode
//P1MDOUT=0x0f;//Key Input Drain-out
//P1=0xff;//Key Input

//P2MDOUT=0x00;//CH372 WR RD CS A0 Output
P2MDOUT=0xff;
//P2=0xff;
P2=0xff;

P3MDOUT=0x00;//input
P3=0xff;

P74OUT=0;//P7 CH372 data
P7=0xff;
}//Port_Reset(void)



void SysClk_Reset (void)
{
uint i;// delay counter


//OSCICN = 0x87;//片内晶振


WDTCN = 0xde;// disable watchdog timer
WDTCN = 0xad;

OSCXCN = 0x67;// start external oscillator with
// 11.0592MHz crystal

for (i=0; i <=255; i++) ;// XTLVLD blanking interval (>1ms)

while (!(OSCXCN & 0x80)) ;// Wait for crystal osc. to settle

OSCICN = 0x88;// select external oscillator as SYSCLK
// source and enable missing clock
// detector
}//void SysClk_Reset (void)

void Interrupts_Init()
{
//EIE1= 0x08;//AD0中断
//IT01CF= 0x00;//P00为外部中断0 低电平有效
IE= 0x00;//PS0 T0 enable
EIE2= 0x08;//ADC1 enable
EIP2= 0x08;//ADC1 high class
IT0= 1;//INT0 下降沿中断
IT1= 1;
}

// Initialization function for device,
// Call Init_Device() from your main program
void init_var()
{

Flag8=0;
bfirst=0;
//cnt_send=0;
measurements=0;
sample_mode=0;
send_interval=1;
}

void Uart_Reset(void)
{
//串口0
SCON0=0x50;//[sm00 sm10] sm20 [ren0] tb80 rb80 ti0 ri0

//T2 for 波特率

//baud=SYSCLK/(32*(65536-(RCAP2H:RCAP2L)))
//4800: 0xffd8
// [ 9600: 0xffdc ]
//19200:0xffee
TH2=0xff;
TL2=0xb8;
RCAP2H=0xff;
RCAP2L=0xb8;
//TH2=0xff;
//TL2=0xdc;
//RCAP2H=0xff;
//RCAP2L=0xdc;
T2CON=0x34;//TF2 EXF2 [RCLK0] [TCLK0] EXEN2 [TR2] C/T2 CP/RL2
ClearCommSendBuffer();


}//void Uart_Reset(void);

void Init_Device(void)
{
SysClk_Reset();
PORT_Reset();
Timer0_Init();
ADC_Init();
Uart_Reset();
Interrupts_Init();
//init_var();
}


ch372.c

// ------------------------------------------------------------------------------------------------------


#include


#define ERR_SUCCESS0x00// 操作成功
#define ERR_PARAMETER0x10// 参数错误
#define ERR_UNSUPPORT0x80// 命令不支持
#define ERR_UNDEFINED0xFF// 未定义的错误


//#define THIS_FIRMWARE_VER0x10// 固件版本号
//#define THIS_APP_SYS_VER0x10// 应用系统版本号
//#define THIS_APP_SYS_STR"RA50"// 应用系统描述字符串


#define OP_CMD1// 命令操作码
#define OP_DATA0// 数据操作码
#define DELAY_TIMES2// 延时2微秒
#define DELAY_CNT_NUMS16*DELAY_TIMES// 延时2微秒所需的时钟周期数(对于22.1184MHz晶振,每个微秒包含22.1184个时钟周期)
//#define MY_USB_VENDOR_ID0x4348// USB设备制造商标识
//#define MY_USB_PRODUCT_ID0x5537// USB设备产品标识


sbitUSB_CS=P2^4;
sbitUSB_INT=P3^0;
sbitUSB_A0=P2^3;
sbitUSB_WR=P2^1;
sbitUSB_RD=P2^2;
sfrUSB_DATA=0x96;
//#define get_usb P7
//#define set_usb(dat1) P7=dat1

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

USB是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。它自推出以来,已成功替代串口和并口,成为21世纪大量计算机和智能设备的标准扩展接口和必备...

关键字: usb通信 usb芯片

1 USB通信技术   USB(Universal Serial Bus)是一种目前通用的串行总线技术,它是通过PCI总线和PC的内部系统数据线连接,实现数据的传送,具有即插即用的功能,

关键字: usb总线 at89c51 usb通信

  1 引言   自动测试系统ATS(AutomaTIc Test System)集成测试所需的全部激励与测量设备,计算机高效完成各种模式的激励及响应信号的采集、存储与分析,对被测单元进

关键字: 自动测试 usb通信

  摘要: 介绍了基于单片机C8051F020 搭建的多台电机控制平台,硬件电路简单可靠,功率电路采用场效应管自行搭建,通用性较强,通过改写软件,可直接用于其它小功率电机的驱动控制系统。

关键字: c8051f020 单片机 步进电动机

pic单片机功能较强,现实中的诸多器件均可借助pic单片机完成。由此可见,pic单片机的使用意义较大。关注本网站的朋友都知道,小编曾带来诸多pic单片机相关文章。如果你对pic单片机比较感兴趣,可在阅读完本文后翻阅往期文...

关键字: ad转换 pic单片机 单片机

随着计算机技术和测控技术的不断发展,在以单片机为核心的数据采集系统中,需要实现单片机和计算机之间的数据交换,并以此来发挥单片机和计算机各自的长处,提升整个系统的性能价格比。在计算机网络和工业控制系统中,经常需要采用串行通...

关键字: c8051f020 rs485 串行通信

功能:STC12C2052AD AD转换C程序 +PWM输出功能 成功使用。

关键字: ad转换 stc12c2052ad 单片机

#include#define uchar unsigned char#define uint unsigned intsbit cs=P3^0;sbit wr=P3^1;void delayms(uint x){uin...

关键字: 51单片机 ad转换 at89c52

#include#define uchar unsigned char#define uint unsigned int#define PORT P3#define dula_h P2|=0x40#define dula...

关键字: 51单片机 ad转换 at89c52

在单片机系统设计中,LCM(液晶显示模块)人机交互界面的设计往往是很重要的一个环节。LCM可以用于智能仪器上的显示设定参数、状态提示符、检测结果和待输入参数等功能。本文

关键字: c8051f020 电源技术解析 按键系统 电解质分析仪
关闭
关闭