STC单片机IO口配置ad带转换的模式

作者&投稿:中叔邓 (若有异议请与网页底部的电邮联系)
使用STC单片机进行AD转换,如何显示出完整的转换结果。~

你哪来的 “转换出来的数据肯定是带小数点”

u16 ADC_VALE = 0;

ADC_VALE = ADC_DATA << 2; //10位AD的高8位
ADC_VALE |= (ADC_LOW2 & 0x03);//10位AD的低2位

这就是最原始的AD采样值,数值范围: 0 ~ 1023

这种情况下电平不确定,高低都有可能。触摸按键一般不是单纯的检测电平的高低。

开漏模式和高阻都可以的,不需要加上拉电阻,内部自动完成的,要注意是带ad的单片机,并且要使用的是P1口,不是随便的iO有adc功能的,12系列的要设置模式,15系列的只要指定是哪个为ad输入就可以了。

就用默认的准双向口模式就可以啊,然后配置P1口用作ADC功能。

手册里有详细的说明


ATmega16L与51系列单片机的异同
常规51的时钟源为12M,经12分频后CPU频率仅为1M,所以AVR单片机的运行速度比51单片机的运行速度要快的多,并且AVR单片机可提供内容1M、2M、4M、8M等可变的CUP频率。2、操作简易度不同:AVR内部自带集成AD转换,更易于对模拟量的处理,这使得AVR单片机的性价比明显高于51单片机。AVRI/O口是真正的双向/O...

电子琴的设计原理
用AT89C51单片机做比较简单配上按键键盘,三极管驱动一个喇叭就能实现,下面是我调试过的单片机程序供参考;DIAN ZI QIN 电子琴 SPK EQU P1.0 FKEY EQU 20H.0 DI EQU 71H GAO EQU 72H KEY_NO EQU 73H NO EQU 74H TC EQU 75H OUTBIT EQU 08002H OUTSEG EQU 08004H IN EQU 08001H ORG 0000H JMP BEGIN ...

单片机程序:两位数码管记秒【加分】
EA=1;\/\/开单片机中断 while(1)\/\/等待中断 {if(int_count){sacn=int_count;if(!(scan%40))\/\/10ms进行一次按键扫描 Key_scan();\/\/调用按键扫描函数 P0=seg[second\/10]\/\/10位输出 P2=seg[second%10]\/\/个位输出 } } } 注意共阴极数码管的连接方式:P0P2口低位到高位分别连接到两个数码...

麻烦你能不能写一个c语言程序 用at89c52单片机要求使用1602液晶显示当 ...
DQ = 1; \/\/DQ复位 DelayUs2x(5); \/\/稍做延时 DQ = 0; \/\/单片机将DQ拉低 DelayUs2x(200); \/\/精确延时 大于 480us 小于960us DelayUs2x(200); DQ = 1; \/\/拉高总线 DelayUs2x(50); \/\/15~60us 后 接收60-240us的存在脉冲 dat=DQ; \/\/如果x=0则初始化成功, x...

探客TC128开关方式是怎样的?
2.金属防水充电口更加安全可靠,美观大方 3.头部金属按键开关,耐磨实用,与外壳无色差 4.金属支撑孔可以配合三脚架,方便固定照明 5.尾部特设强力磁铁,能牢牢吸附于金属表面,也可以卸下吸磁分体,转换为无磁状态 6.核心电路采用恒流芯片,亮度恒定;模式控制采用带记忆功能的单片机,可根据用户习惯记忆...

探客TC01开关方式是怎样的?
2.全球首创金属防水充电口,安全可靠,美观大方 3.金属按键开关,耐磨实用,与外壳无色差 4.连接处采用方牙设计,厚实坚固永不滑丝 5.尾部穿绳孔旁特设人性化小缺口,便于穿绳后稳定倒立 6.核心电路采用恒流芯片,亮度恒定;模式控制采用带记忆功能的单片机,可根据用户习惯记忆常用模式;电路防反接设计...

单片机c语言编程软件有哪些?
windows下首选VS,版本至少vs2005以上,或者用最新的VSCode,不过需要自己配插件,好处是免费,如果做单片机c开发首选eclipse,linux下如果做单片机首选eclipse,其次是clion。eclipse兼容性最好,不过稳定性差一些,vs在win下没有对手,clion用cmake,相比来说大部分c程序用的都是makefile,需要适应一下。Dev...

将AD芯片接在单片机上,AD输出的数字量单片机是怎么处理的,再由DA输出...
AD是模拟量转换成数字量的 芯片, 转换之后,单片机读取到的就是0-255之间的一个数值,在编写程序的时候,根据模拟量的 输入范围 和 0-255,给单片机一个系数,就是说,比如现在要读取温度, 经过温度采集模块之后,温度会转换成电压,然后根据AD转换这个电压,比如单片机读到的是 100, 那么实际温度...

用串口调试助手发送成功,单片机却失败是怎么回事?求高手解决!
你现在用单片机发送,应该送到 PC 机,用串口助手看看,发送的,都对不对。

F1中原来的TC和现在的ECU和KERS在赛车上起什么作用?
。。。按错发送了 续上取消TC的原因呢大概有两点 : 1、考虑到F1的耗费实在太巨大了,近几年一直在提倡节约成本。 2、增强比赛的可看性。以往有了TC以后车手在驾驶赛车的时候特别是起步和过弯,不大考虑引擎的节奏控制等,完全依赖TC的电脑控制,这样对于车手的操控技能、驾驶技术没办法得到很好的体现...

许昌县19233131996: 请教stc12c5a60s2单片机的端口设置问题.我知道p1口可以设为ad转换功能,但是因为现在管 -
漳若麝香: 绝对可以,要配置P1口为AD功能,是有寄存器设置的.找到AD配置寄存器,选择并开启指定的AD通道.

许昌县19233131996: stc单片机系列有没有四十个引脚 带AD转换的??.?急用求大神帮忙 -
漳若麝香: 有的,STC89系列的和AT89系列的一样的,后面带AD的也有 比如STC5A60S2这个DIP封装40脚的,带有12位AD,也带有2个独立串口,最高时钟33MHZ,非常好用的一个芯片,内部还带有eeprom,看门狗之类的东西,价格比51还便宜,并且还有内部晶振.说的比较乱,但是功能是有的,你可以在STC官网上看下选型表,里面有详细介绍的.

许昌县19233131996: 现有一个stc14w401as单片机,片内支持ad转换,请问输入模拟信号如何赋值给变量a? 这个程序如何写? -
漳若麝香: 是STC15W401AS,没有14W的.模拟信号加到输入端后,需要启动转换,由内部的AD电路转换成数字量,才能赋值给变量.模拟信号是不能赋值的,也不需要赋值的.去STC官网上,去下载有关STC单片机的技术资料,就有详细的说明了,也有相应的例子程序.

许昌县19233131996: 五一单片机的ad口在哪里怎么用 最好有文档
漳若麝香: 首先 选择一款带有 AD 转换的单片机 比如 STC90C58AD 然后通过设置寄存器 设置某个IO口为AD口.

许昌县19233131996: STC单片机怎么在采集温度时设置AD转换程序啊 -
漳若麝香: 如果是用温度电阻,则是用ADC模拟方式采集电压数据;然后再转换成对应的温度;如果是用其他芯片类的,如18B20,则是用数据方式直接得到温度值.2种都需要CPU参与,都需要软件支持,即编程工作;前者普通方式,简单、常用;后者更直接、准确;但其程序相对复杂一些.

许昌县19233131996: 推荐一款带10位AD转换精度的单片机,I/O口大约25个左右 -
漳若麝香: 可选51核心的STC12C5410AD系列单片机,10位AD,27个I/O口 ,具体可到宏晶科技网站查询

许昌县19233131996: STC单片机自带AD转换,接负电压会显示什么结果?是会显示0的值,还是显示一个乱码数?? -
漳若麝香: 这种状态,只要电压< 0V AD转换结果 为 0 ,也就是没有意义,有损坏 IO 口的可能性. 但也不一定,因为有时 不小心 电源接反 也有不坏的,不建议. 对于显示 只要单片机 没有损坏 就不会影响.

许昌县19233131996: STC的51单片机自带有AD转换,和PCF8591T AD芯片相比的话,哪个更好一些? -
漳若麝香: 用STC的51单片机自带有AD转换肯定更方便,因为是单片机内部集成,没有外围器件,只需要一根信号线,而且AD转换是10位的,精度更高,缺点就是占用单片机资源较多 用PCF8591T AD芯片,还需要搭建外围检测电路,而且IIC两条线与单片机相连,因为有IIC协议,占用单片机资源也不少,AD转换是8位,精度较低 综合对比,用STC的51单片机自带有AD转换更好一些,PCF8591T AD芯片是针对像AT89C51这样内部没有AD转换的单片机使用的

许昌县19233131996: 如何用stc单片机内部ad采集多路交流信号 -
漳若麝香: 用stc单片机内部ad采集多路交流信号,有两种办法: 一、用两个AD转换芯片,两路模拟量分别接一个.用单片机控制两个AD芯片同时启动转换,这样基本可以实现采集到同一时刻的两路模拟量值. 二、用两个采样保持器(LF398),来暂...

许昌县19233131996: 你好,我使用STC12C5410AD进行AD转换,将模拟电压信号从外界输入转换成数字信号输出,想请教C程序怎么写? -
漳若麝香: uchar get_AD_result(uchar channel) { uchar AD_finished=0;ADC_RES = 0;channel &= 0x07;ADC_CONTR = AD_SPEED; _nop_(); ADC_CONTR |= channel;_nop_(); ADC_CONTR |= 0x80;delay(1);ADC_CONTR |= 0x08;AD_finished = 0; ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网