#ifndef _SYSTEM_H_ #define _SYSTEM_H_ #include#include #include #include #include #include #include /*=============================================================== 作品名: _SYSTEM_H_(系统头文件) 作者: 广西名族大学物理与电子工程学院09电(2)班 风子(Only) 完成日期: 2011年2月18日 ============================================================ 该头文件为stc12c5a60s2型号单片机的系统头文件目前版本(V1.0)包含intrins,
delay,Lcd_1602 ADC,PWM,EPROM等头文件 各个函数调用语句有: ================================================================== intrins.h(位操作函数头文件) temp=_crol_(temp,n);//其中temp为要操作数,n为位移量如 temp=_crol_(0x01,1);
执行后为temp=0x02; ============================================================= delay.h(延时函数头文件) delay_s(n);// 延时n秒 delay_ms(n);//延时n毫秒 ============================================================ Lcd_1602.h(1602液晶驱动头文件) 默认P0口为数据接口 RS为P2^2,EN为P2^3,
可自行定义可在主程序文件直接宏定义 如: #define Lcd_Date_Port P3 #define RS P2^5 #define EN P2^6 Lcd_Init();//液晶初始化函数 Lcd_Locate(x,y);//液晶定位函数x为行数,y为列数 Lcd_Char('a');//显示单个字符 Lcd_String("ABCD");//显示字符串 Lcd_Number(123);//显示小于65535的数据 Lcd_N_Number(123,3);//显示指定位数的数据 Lcd_Float(123.123);//显示保留三位浮点数 ==================================================== ADC.h(stc单片机内部10位8通道ADC转换头文件) 使用前必须将其初始化 如有: ADC_Init();//初始化ADC Get_ADC(n);//取第n通道的ADC值(带函数返回值函数) AD_Average(n);
//取第n通道的AD电压均值(平均1000次后的值)(带函数返回值函数)(默认5V参考电压) ========================================================= PWMM.h(可调制脉冲产生头文件) Module_0L//模块0低八位寄存器(占空比调节参数) Module_0H//模块0高八位寄存器 Module_1L//模块1低八位寄存器 Module_1H//模块1高八位寄存器 如: Module_0L=Module_0H=128;//占空比为50% Pwm_Clock(n); //n=0,1,2,3,4,5,6,7共八种模式 //n=0 系统时钟/12 //n=1 系统时钟/2 //n=2 定时器0溢出脉冲,通过改变溢出率可改变PWM频率 //n=3 P1.2(P4.1)脚输入的外部时钟(最大速率=时钟/2) //n=4 系统时钟 //n=5 系统时钟/4 //n=6 系统时钟/6 //n=7 系统时钟/8 Pwm_Work_Mode(module,mode);//为工作模式函数定义 //module为PCA模块选择,分别有0,1,2,其中2为模块0,与1两路同时工作 //mode 为PCA/PWM模式选择,分别有0,1,2,3,4,5,6,7,8, mode CCAPMn 0 0x42 普通8位PWM, 无中断 1 0x53 PWM输出由(下降沿)高变低可产生中断 2 0x63 PWM输出由(上升沿)低变高可产生中断 3 0x73 PWM输出由低变高或由高变低都可产生中断 4 0x21 16位CEXn上升沿触发捕捉功能。 5 0x11 16位CEXn下降沿触发捕捉功能。 6 0x31 16位CEXn边沿(上、下沿)触发捕捉功能。 7 0x49 16位软件定时器。 8 0x4d 16位高速脉冲输出。 Pwm_Work_Mode(0,8);//模块0的16位高速脉冲输出 ============================================================ EPROM.h(断电储存函数头文件) Byte_Read(unsigned int Byte_Read_Addr);//读取 Byte_Delete(unsigned int Byte_Delete_Addr );//擦除 Byte_Write(unsigned int Byte_Write_Addr,unsigned char Original_Data);
//写入 //其中X_X_Addr为存储器地址,Original_Data当前数值 ===============================================*/ #endif
上一篇:基于SPI总线的51单片机多机互连编程技术
下一篇:stc单片机可调PWM程序
推荐阅读最新更新时间:2024-03-16 13:06