STC12 P1接ADC时5v会啤酒二发倒灌时间到系统里

STC12C5A60S2单片机,单片机用的是10M晶振,5V电压,现要求用PWM的P1.4引脚来输出3.3V的电压,请问怎么弄_突袭网-提供留学,移民,理财,培训,美容,整形,高考,外汇,印刷,健康,建材等信息
STC12C5A60S2单片机,单片机用的是10M晶振,5V电压,现要求用PWM的P1.4引脚来输出3.3V的电压,请问怎么弄
来源:互联网 时间: 10:42:16
&&为了解决用户可能碰到关于"STC12C5A60S2单片机,单片机用的是10M晶振,5V电压,现要求用PWM的P1.4引脚来输出3.3V的电压,请问怎么弄"相关的问题,突袭网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"STC12C5A60S2单片机,单片机用的是10M晶振,5V电压,现要求用PWM的P1.4引脚来输出3.3V的电压,请问怎么弄"相关的详细问题如下:首先想知道占空比怎么设置,是70%吗?那PCA的时钟周期怎么选择?怎么确定要用几位的PWM?八位够吗?===突袭网收集的解决方案如下===解决方案1:这个方法不好,第一不稳定,第二3.3V波形质量不高,要附加的滤波电路,为什么不用1117之类的呢 pwm频率越高滤波越容易,但是控制精度会降低了.这个方法不好,第一不稳定,第二3.3V波形质量不高,要附加的滤波电路,为什么不用1117之类的呢 pwm频率越高滤波越容易,但是控制精度会降低了. STC12C5A60S2是国内STC 公司推出的增强型指令、管脚完全兼容,具有双... 公司推出的C8051F 系列单片机中的一款用于USB 设备的小型单片机(满足 USB2.0 协议...STC89C指令周期为12T,STC12C指令周期为1T,也就是说同样用12M的外部晶振STC89C系列指令周期为12M/12T=1us,而STC12C系列为12M/1T=0.083us,因此在执行同样的循...STC12C5A60S2第二复位引脚, 其功能是 让用户 可以用控制 单片机 当供电电压 低于 一定值时 产生复位,如果电压恢复 后 重新启动程序 运行,可以设置成为 低电压中断,或者 复...舵机由周期20ms的脉冲控制,其中0.5ms-2ms高电位控制0-180°舵角。我想发射高电位0.5ms低电位19.5ms的脉冲方波。 我想法是令P2.1管脚置1延迟0.5ms在令P2.1管脚置0延...但是达不到那么高的频率嘛,至少要三四个周期才能处理完一个方波的嘛 可以考虑直接用晶体输出,如果仅是要信号,用有源晶体,或者直接从单片机的晶体引脚1出来经过一个门...1.单片机设置过外部晶振,需要连接有外部晶振才能下载程序2.单片机P3.0或P3.1口坏。3.单片机坏4.下载线有问题5.下载软件有问题单片机有8K的flash,512字节的SRAM,系统时钟是晶振频率的12分频.12C5A60S2属于是... 2K的SRAM,双串口,8个通道的10位高数ADC,采样速度可达到25万次/秒,2路PWM波可当...如STC12C5A60S2。 电子大赛是要做电路板焊接吗,那电路板呢?单片机用插脚的,还是... 引脚也稍有不同的,但都有说明书。 晶振一个:11.0592M,STC12C5A60S2单片机内部有...为您准备的相关内容:
你可能还关注
淘宝折扣专区君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于51单片机的粮仓温湿度检测系统毕业设计
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口stc12c5a60s2 P1口PWM和SPI以及ADC能同时开启吗_百度知道
stc12c5a60s2 P1口PWM和SPI以及ADC能同时开启吗
想用stc12c5a60s2单片机做一个设计,需同时用到ADC、SPI、PWM这三个模块这个单片机能同时支持三个模块工作吗?
我有更好的答案
io口不复用就可以
采纳率:56%
为您推荐:
其他类似问题
stc12c5a60s2的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。STC12C5A60S2(ADC查询法 10位模式)+1602显示
单片机&嵌入式
单片机应用
嵌入式操作系统
学习工具&教程
学习和开发单片机的必备工具
(有问必答)
(带你轻松入门)
电子元件&电路模块
当前位置: >>
>> 浏览文章
STC12C5A60S2(ADC查询法 10位模式)+1602显示
通道0接单片机电源,通道1接地线。
源程序:一共3个文件:
LCD1602display.h
#ifndef _LCD1602DISPLAY_H_
#define _LCD1602DISPLAY_H_
#define uchar unsigned char
#define uint unsigned int
//************************LCD引脚定义
sbit LCM_RS=P3^5;
sbit LCM_RW=P3^6;
sbit LCM_E=P3^7;
//**************************延时
void delay();
//**************************初始化
void InitLCM();
//****************************读状态
uchar ReadStatusLCM();
//******************************读数据
uchar ResdDataLCM();
//***************************写指令
void WriteCommandLCM(uchar WCLCM, Busy);
//***************************写数据
void WriteDataLCM(uchar WDLCM);
//******************************显示1个字符
void DisplayOneChar(uchar X,uchar Y,uchar DData);
//******************************显示字符串
void DisplayListChar(uchar X,uchar Y,uchar code &*DData);
STC12(ADC flag).h&
#ifndef _STC12_ADC_FLAG_H_
#define _STC12_ADC_FLAG_H_
#define uchar unsigned char
#define uint unsigned int
#define FOSC & &L
#define BAUD & &9600
/********************************************************************
& & & & & & & & & & & & & & &初始化设置
*********************************************************************/
sfr ADC_CONTR & = & 0xBC; & & & & & //ADC 控制寄存器
sfr ADC_RES & & = & 0xBD; & & & & & //ADC 转换结果寄存器
sfr ADC_RESL & &= & 0xBE; & & & & & //ADC 低2位结果寄存器
sfr P1ASF & & & = & 0x9D; & & & & & //P1口模拟功能控制寄存器
/********************************************************************
& & & & & & & & & & & & & & & ADC 数据转换函数
*********************************************************************/
#define ADC_POWER & 0x80 & & & & & &//ADC 电源控制位
#define ADC_FLAG & &0x10 & & & & & &//ADC 转换结束标志位
#define ADC_START & 0x08 & & & & & &//ADC 开始转换控制位
#define ADC_SPEEDLL 0x00 & & & & & &//540 个时钟周期转换一次
#define ADC_SPEEDL &0x20 & & & & & &//360 个时钟周期转换一次
#define ADC_SPEEDH &0x40 & & & & & &//180 个时钟周期转换一次
#define ADC_SPEEDHH 0x60 & & & & & &//90 个时钟周期转换一次
//**********************************延时函数
void Delay1(uint n);
//******************************ADC初始化函数
void Init_ADC();
//***********************************ADC数据转换函数
uint Get_ADC_Result(uchar ch);
//************************************ADC数据计算函数
float Count(uchar ch);
LCD1602display.c&
#include &reg52.h&
#include &intrins.h&
#include &LCD1602display.h&
//********************延时
void delay(uchar z)
&uchar i,j;
&for(i=z;i&0;i--)
& for(j=110;j&0;j--);
//**********************LCM初始化
void InitLCM()
&WriteCommandLCM(0x38,0); &//三次显示模式设置,不检测忙信号
&delay(1);
&WriteCommandLCM(0x38,0);
&delay(1);
&WriteCommandLCM(0x38,0);
&delay(1);
&WriteCommandLCM(0x38,1); &//显示模式设置:16&2显示,5&7点阵,8位数据接口
&WriteCommandLCM(0x0c,1); &//显示模式设置:显示开,无光标
&WriteCommandLCM(0x06,1); &//显示模式设置:光标右移,字符不移
&WriteCommandLCM(0x01,1); &//清屏幕指令,将以前的显示内容清除
//*********************读状态
uchar ReadStatusLCM()
&P0 = 0x80;&
&LCM_RS = 0;
&LCM_RW = 1;
&LCM_E = 1;
&while (P0 & 0x80); //检测忙信号
&return(0);
//***********************读数据
/*uchar ResdDataLCM()
&LCM_RS=1;
&LCM_RW=1;
//**********************写指令
void WriteCommandLCM(uchar WCLCM, Busy)
&if(Busy) ReadStatusLCM();
&P0=WCLCM;
&LCM_RS=0;
&LCM_RW=0;
//***********************写数据
void WriteDataLCM(uchar WDLCM)
&ReadStatusLCM();
&P0=WDLCM;
&LCM_RS=1;
&LCM_RW=0;
//*************************显示字符
void DisplayOneChar(uchar X,uchar Y,uchar DData)
&if(Y) X|=0X40; & //Y=1显示第二行,Y=0显示第一行
&WriteCommandLCM(X,1); //X用来选择哪一位,1是用来忙检测
&WriteDataLCM(DData); //DData用来写数据
//**************************显示字符串
void DisplayListChar(uchar X,uchar Y,uchar code *DData)
&uchar ListL
&ListLength=0;
&while(DData[ListLength]!='\0')
& if(X&=15)
& &DisplayOneChar( X,Y,DData[ListLength]);
& &ListLength++;
STC12(ADC flag).c&
#include &reg52.h&
#include &intrins.h&
#include &STC12(ADC flag).h&
& & & & & &&
//**********************************延时函数(n=1: 1T 8.65ms,12T 59.9ms)
void Delay1(uint n)
& & while (n--)
& & & & x = 5000;
& & & & while (x--);
//******************************ADC初始化函数
void Init_ADC()
& & P1ASF = 0 & & & & & & & & & & &//设置P1口为开漏模式,使用AD功能
& & ADC_RES = 0; & & & & & & & & & & & //AD数据寄存器高8位清空
&ADC_RESL= 0; & & & &//AD数据寄存器低2位清空
& & ADC_CONTR = ADC_POWER | ADC_SPEEDLL; &//打开AD电源,转换周期540
& & Delay1(2); & & & & & & & & & & & &//延时
//***********************************ADC数据转换函数
uint Get_ADC_Result(uchar ch)
& & ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START |//开始转换
& & _nop_(); & & & & & & & & & & & & &//延时一个机器周期
& & _nop_(); & & & &//延时一个机器周期
& & _nop_(); & & & &//延时一个机器周期
& & _nop_(); & & & &//延时一个机器周期
& & while (!(ADC_CONTR & ADC_FLAG)); &//等待转换结束(ADC_FLAG=0时一直等待,直到变为1跳出)
& & ADC_CONTR &= ~ADC_FLAG; & & & & & //关闭AD转换
& & return (ADC_RES*4+ADC_RESL); & & & & & &//返回数据(10位AD值,ADC_RES高8位+ADC_RESL低2位)
//************************************ADC数据计算函数
float Count(uchar ch)
&temp=(float)Get_ADC_Result(ch)*4.60/1024; //4.85为参考电压,1024个&门&,10位AD
//***********************(ma)STC12C5A60S2(ADC查询法 10位模式)+1602显示*************************************************************
//***************************************************************************************************
#include &reg52.h&
#include &intrins.h&
#include &STC12(ADC flag).h&
#include &LCD1602display.h&
#define uchar unsigned char
#define uint unsigned int
uchar code string1[]={&The voltage is :&};
//*****************************显示函数
void show()
&DisplayListChar(0,0,string1);
&DisplayOneChar(1,1,(int)Count(0)+0x30); & & //个位
&DisplayOneChar(2,1,'.');
&DisplayOneChar(3,1,(int)(Count(0)*100)%100/10+0x30); //十分位
&DisplayOneChar(4,1,(int)(Count(0)*100)%100%10+0x30); //百分位
&DisplayOneChar(5,1,'V');
&DisplayOneChar(8,1,(int)Count(1)+0x30); & & //个位
&DisplayOneChar(9,1,'.');
&DisplayOneChar(10,1,(int)(Count(1)*100)%100/10+0x30); //十分位
&DisplayOneChar(11,1,(int)(Count(1)*100)%100%10+0x30); //百分位
&DisplayOneChar(12,1,'V');&
//*******************************主函数
void main()
&InitLCM(); &//液晶初始化
& & Init_ADC(); &//AD转换初始化
& & while (1)
【】【】【】【】
上一篇:下一篇:
CopyRight @
单片机教程网
, All Rights ReservedSTC12的ADC程序_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
STC12的ADC程序
&&STC12的ADC程序。
你可能喜欢

我要回帖

更多关于 5v卡时间 的文章

 

随机推荐