资源简介
MCU为STM15单片机,实现电磁循迹以及显示屏计时功能,同样适用51单片机,驱动使用L298N,同时,包含上位机,可以通过上位机查看采样电流波形,将车放置轨迹中心,调整左右采样电流大致相等,即可
代码片段和文件信息
/*------------------------------------------------------------------*/
/* --- STC MCU International Limited -------------------------------*/
/* --- STC 1T Series MCU RC Demo -----------------------------------*/
/* --- Mobile: (86)13922805190 -------------------------------------*/
/* --- Fax: 86-0513-550129565501294755012969 ---------------------*/
/* --- Tel: 86-0513-550129285501292955012966 ---------------------*/
/* --- Web: www.GXWMCU.com -----------------------------------------*/
/* --- QQ: 800003751 ----------------------------------------------*/
/* If you want to use the program or the program referenced in the */
/* article please specify in which data and procedures from STC */
/*------------------------------------------------------------------*/
#include “adc.h“
//========================================================================
// 函数: void ADC_Inilize(ADC_InitTypeDef *ADCx)
// 描述: ADC初始化程序.
// 参数: ADCx: 结构参数请参考adc.h里的定义.
// 返回: none.
// 版本: V1.0 2012-10-22
//========================================================================
void ADC_Inilize(ADC_InitTypeDef *ADCx)
{
P1ASF = ADCx->ADC_Px;
ADC_CONTR = (ADC_CONTR & ~ADC_90T) | ADCx->ADC_Speed;
if(ADCx->ADC_Power == ENABLE) ADC_CONTR |= 0x80;
else ADC_CONTR &= 0x7F;
if(ADCx->ADC_AdjResult == ADC_RES_H2L8) PCON2 |= (1<<5); //10位AD结果的高2位放ADC_RES的低2位,低8位在ADC_RESL。
else PCON2 &= ~(1<<5); //10位AD结果的高8位放ADC_RES,低2位在ADC_RESL的低2位。
if(ADCx->ADC_Interrupt == ENABLE) EADC = 1; //中断允许 ENABLEDISABLE
else EADC = 0;
if(ADCx->ADC_Polity == PolityHigh) PADC = 1; //优先级设置 PolityHighPolityLow
else PADC = 0;
}
//========================================================================
// 函数: void ADC_PowerControl(u8 pwr)
// 描述: ADC电源控制程序.
// 参数: pwr: 电源控制ENABLE或DISABLE.
// 返回: none.
// 版本: V1.0 2012-10-22
//========================================================================
void ADC_PowerControl(u8 pwr)
{
if(pwr == ENABLE) ADC_CONTR |= 0x80;
else ADC_CONTR &= 0x7f;
}
//========================================================================
// 函数: u16 Get_ADC10bitResult(u8 channel)
// 描述: 查询法读一次ADC结果.
// 参数: channel: 选择要转换的ADC.
// 返回: 10位ADC结果.
// 版本: V1.0 2012-10-22
//========================================================================
u16 Get_ADC10bitResult(u8 channel) //channel = 0~7
{
u16 adc;
u8 i;
if(channel > ADC_CH7) return 1024; //错误返回1024调用的程序判断
ADC_RES = 0;
ADC_RESL = 0;
ADC_CONTR = (ADC_CONTR & 0xe0) | ADC_START | channel;
NOP(4); //对ADC_CONTR操作后要4T之后才能访问
for(i=0; i<250; i++) //超时
{
if(ADC_CONTR & ADC_FLAG)
{
ADC_CONTR &= ~ADC_FLAG;
if(PCON2 & (1<<5)) //10位AD结果的高2位放ADC_RES的低2位,低8位在ADC_RESL。
{
adc = (u16)(ADC_RES & 3);
adc = (adc << 8) | ADC_RESL;
}
else //10位AD结果的高8位放ADC_RES,低2位在ADC_RESL的低2位。
{
adc = (u16)ADC_RES;
adc = (adc << 2) | (ADC_RESL & 3);
}
retu
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-02-14 12:55 __Previews\
文件 18243 2017-07-09 17:25 __Previews\config.hPreview
文件 3600 2014-05-14 08:23 ADC.c
文件 1294 2013-05-23 16:59 ADC.h
文件 1309 2017-07-07 16:28 ADC.opt.bak
文件 2237 2017-07-06 13:26 ADC.Uv2.bak
文件 98324 2020-05-09 10:17 ADC.uvgui.Administer one
文件 85143 2018-08-07 16:59 ADC.uvgui.Stig1
文件 72219 2017-10-22 22:42 ADC.uvgui.ZR
文件 9888 2019-11-16 08:49 ADC.uvopt
文件 15994 2019-11-16 08:49 ADC.uvproj
文件 1309 2017-07-06 13:26 ADC_Opt.Bak
文件 2104 2013-06-26 22:46 ADC_Uv2.Bak
文件 59881 2019-10-25 12:42 ADC_uvopt.bak
文件 15456 2019-10-19 19:48 ADC_uvproj.bak
文件 1234 2014-01-24 13:25 config.h
文件 1473 2014-04-08 13:57 delay.c
文件 904 2014-01-24 13:24 delay.h
文件 3447 2019-11-16 09:02 FsBSP_1602.c
文件 640 2019-11-16 09:01 FsBSP_1602.h
文件 1811 2019-09-22 20:02 FsBSP_AllLedFlash.c
文件 242 2019-09-22 19:56 FsBSP_AllLedFlash.h
文件 1527 2015-08-09 23:35 FsBSP_Delay.c
文件 142 2019-09-22 20:06 FsBSP_Delay.h
文件 2482 2017-07-07 17:19 judgement.c
文件 3627 2018-10-27 15:51 lcd.c
文件 971 2019-11-09 20:45 lcd.h
目录 0 2020-02-14 12:55 list\
文件 227723 2019-11-28 21:10 list\ADC
文件 3541 2019-11-28 21:10 list\ADC.build_log.htm
文件 14796 2019-11-28 21:10 list\ADC.hex
............此处省略62个文件信息
相关资源
- GPS导航系统仿真源代码+仿真文件+虚拟
- 基于51单片机bmp180测气压温度实测可用
- 基于单片机的智能盆栽设计
- 51单片机-双机串行通信注释版
- 51单片机红外通信
- 基于51单片机的红外循迹小车
- 基于51单片机的自动化灌溉系统程序
- 基于51单片机的RC522rfid门禁系统
- 单片机内部资源的C51编程.ppt
- 51单片机驱动步进电机(汇编语言)
- 51单片机秒脉冲程序
- 51单片机HMC5883和qmc5883来做电子指南针
- Proteus模拟基于51单片机的波形发生器
- 51单片机电子琴设计C程序
- 基于51单片机的电子密码锁keil源码电
- 51单片机测量环境温度
- 51单片机 按键控制流水灯左右两边中
- 基于51单片机的出租车计费系统设计
- 51单片机频率计包括占空比1602显示
- 基于51单片机的自动门系统.zip
- 51单片机入门常用函数
- 基于51单片机温控风扇
- 加湿器源码
- 51单片机的电机测速
- 基于51单片机的数字频率计及proteus仿
- 51单片机开发板原理图经典
- 51单片机控制TC35 之发送TEXT短信
- 51单片机正弦波C程序
- 这是普中科技51单片机原理图
- 基于51单片机红绿灯程序设计
评论
共有 条评论