iic协议如何配合stc15stc单片机机AD转换使用

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
实验三stc15系列单片机内部双通道10位ad转换程序(Experiment three stc15 Series MCU internal double channel 10 bit AD conversion program).doc 17页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
实验三stc15系列单片机内部双通道10位ad转换程序(Experiment three stc15 Series MCU internal double channel 10 bit AD conversion program)
你可能关注的文档:
··········
··········
实验三stc15系列单片机内部双通道10位ad转换程序(Experiment three stc15 Series MCU internal double channel 10 bit AD conversion program)
/*T8 connects T3 and T2; or T8 meets T3, T7 meets T2; potentiometer potentiometer R36 changes the internal 10 bit AD conversion of 0 and 1 channels of electricity
Press Vin0 or Vin1, sampling period 5 send AD voltage with Multimeter in T8 (to T6) according to sixteen, 0
The channel digital quantity is displayed by the LCD (1 lines); the 1 channel digital quantity is displayed by LCD (2 lines); the 0 channel corresponds to the theoretical value on the left
5 digital tube display (1 symbol bit, 2 integer, 2 decimal places); 1 channel corresponding to the theoretical value on the right
5 digital tube display (1 bit, 2 bit integer, decimal 2); 2 of channels need appropriate delay.
#include &15f2k.h&
#include &absacc.h&
#define, u8c, unsigned, char, code//, unsigned, 8 bit character short definition defined in code
#define U8 unsigned char / / unsigned 8 bit character type definitions and abbreviations
#define U16 unsigned int / / unsigned 16 bit integer abbreviation definition
#define, writecmd, XBYTE[0xECFF]//1602 write instruction port address, E positive pulse, a falling edge (A12=0), R/W=A9=0 write, and RS=A8=0 write instructions
#define readstate XBYTE[0xEEFF]//1602 read status port address, E positive pulse, high level (A12=0), R/W=A9=1 read, RS=A8=0 read status
The #define writedata XBYTE[0xEDFF]//1602 writes the data port address, the E positive pulse has the falling edge (A12=0), the R/W=A9=0 writes, and the RS=A8=1 reads the data
#define Displayseg XBYTE[0x7FFF]// digital code segment code latch write port address (A15=0)
#define Displaybit XBYTE[0xBFFF]// digital tube bit code latch write port address (A14=0)
#define LCD_CLR 0x01 / / DDRAM screen, clear the content is empty, AC=00H
#define LCD_MODE 0x38 / / 001DLNF** mode set, DL=1 is 8, N=1 data interface, two line display, F=0 dot matrix character is 5*7
#define LCD
正在加载中,请稍后...基于STC单片机的硬件电路设计-嵌入式系统-与非网
2.3按键电路
由于Io口资源有限,而STCl2C5410AD自带AD转换,因此采用AD转换做按键扫描,按键电路如图6.其中BUTTON网络标号连至单片机的P1.0AD转换口。
图6 按键电路
2.4液晶显示电路
液晶显示电路示于图7,因为STC12C5410AD单片机的Io口有限,而1602液晶屏需要8个数据口,因此使用了一个74HC164芯片将串口的输入转为并口的输出,并且加入了一个74LS273锁存器芯片防止在串行移入的过程中将不需要的数据送入1602液晶屏,导致显示错误。
图7 液晶电路
2.5日历时钟电路
日历时钟电路示于图8,采用的是Dallas公司推出的DS1302芯片,是IIC接口的芯片。STC12C5410AD单片机没有IIC通信口,是用两个IO口通过软件来模拟IIC接口。DS1302_SCLK和DS1302_DATA两个网络标号连接到STC12C5410AD单片机的P2.2和P2.3口,在这两个u上各加了一个10K的。RST_DS1302网络标号连接到P0.0,用来复位DS1302芯片。
图8 日历时钟电路
2.6测温电路
测温电路示于图9,采用的是Dallas公司的单总线数字式温度传感器DS18B20,因此小需要加入模数转换电路,直接将它的DQ脚接到单片机的一个IO口就可以了。
图9 测温电路
图10 FLASH电路
2.7 FLASH电路
电路如图10所示,AT25F512是SPI接口的Flash芯片。STC12C5410AD自带SPI通讯端口,SCK、MISO、MOSI和Ss网络标号分别连接到单片机的P1.7、P1.6、P1.5和P0.3口,都加入了一个10K的上拉电阻。
2.8 DA转换电路
DA转换电路示于图11,利用单片机自带的PWM功能来实现DA转换。
图11 DA转换电路
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
随着电子和传感技术的快速发展,温度的测量和控制在民用、工业以及航空航天技术等领域,等到了广泛应用. 小型的、低功耗的、廉价的、可靠性高的温度传感器引起了人们的广泛关注。
发表于: 16:04:14
设计一简易电子琴,要求能够发出1、2、3、4、5、6、7等七个音符。
发表于: 15:40:30
无人飞行器自主飞行技术多年来一直是航空领域研究的热点,并且在实际应用中存在大量的需求,主要优点包括:系统制造成本低,在执行任务时人员伤害小,具有优良的操控性和灵活性等。
发表于: 16:11:39
由于涉及编程,学习ARM单片机系统对于从事电子电路的设计者来说是有些困难的,学习知识不难,难的是理清其中的开发思路,找到一个好的起点。本文就将从这一步入手,为大家介绍初次接触ARM开发应该从哪几方面来理清开发思路。
发表于: 17:04:47
这世界真是疯了,貌似有人连FPGA原理是什么都不知道就开始来学习FPGA了。
发表于: 16:39:27
IM 闪存科技公司(IMFT)是美光与英特尔在2005年为了生产NAND 闪存而联合成立的公司,产品开发从72nm NAND开始,2015年,该联营体开发出了一种新的3D XPoint存储技术。
发表于: 10:04:35
THIEF RIVER FALLS, Minnesota, USA – Cypress Semiconductor Corp.、SparkFun 和全球电子元器件分销商 Digi-Key 携手合作,联合推出了一款物联网开发平台。
发表于: 17:50:07
受惠于数据中心对服务器内存需求强劲,今年首季服务器内存仍供不应求,价格硬挺,涨幅也最大,对即将切入市场的南亚科 (2408)是一大利多。
发表于: 10:55:04
财经部落格《Seeking Alpha》专栏作家指出,在苹果下调 iPhoneX 产量,以及大陆半导体公司预计在 2019 年将完成内存厂设置,内存的供需出现变化,在产能预期可提升的情况下,全球 DRAM 的平均售价将降低。
发表于: 09:37:25
微软去年发表了采用ARM架构处理器的Windows 10连网装置,最近更多细节出炉,不只不支持x86程序,也无法执行特定OpenGL版本的游戏
发表于: 09:36:27
与非门科技(北京)有限公司 All Rights Reserved.
京ICP证:070212号
北京市公安局备案编号: 京ICP备:号网站已改版,请使用新地址访问:
AD stc15f2k60s2单片机实现ad转换 SCM 开发 243万源代码下载- www.pudn.com
&文件名称: AD& & [
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 138 KB
&&上传时间:
&&下载次数: 0
&&提 供 者:
&详细说明:stc15f2k60s2单片机实现ad转换-stc15f2k60s2 SCM ad conversion
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&AD转换(DA用pwm)&&.................\17&&.................\..\ExtDll.iex&&.................\..\Last Loaded ex4-17.DBK&&.................\..\STARTUP.A51&&.................\..\STARTUP.LST&&.................\..\STARTUP.OBJ&&.................\..\STC15F2K.h&&.................\..\adc.plg&&.................\..\ex4-17&&.................\..\ex4-17.BMP&&.................\..\ex4-17.DSN&&.................\..\ex4-17.M51&&.................\..\ex4-17.hex&&.................\..\ex4-17.lnp&&.................\..\ex4-17.plg&&.................\..\ex4-17.uvgui.Administrator&&.................\..\ex4-17.uvopt&&.................\..\ex4-17.uvproj&&.................\..\ex4-17_uvopt.bak&&.................\..\ex4-17_uvproj.bak&&.................\..\main.LST&&.................\..\main.OBJ&&.................\..\main.c&&.................\Thumbs.db&&.................\ex4-18&&.................\......\ExtDll.iex&&.................\......\STARTUP.A51&&.................\......\STARTUP.LST&&.................\......\STARTUP.OBJ&&.................\......\STC15F2K.h&&.................\......\adc_int.plg&&.................\......\ex4-18&&.................\......\ex4-18.M51&&.................\......\ex4-18.hex&&.................\......\ex4-18.lnp&&.................\......\ex4-18.plg&&.................\......\ex4-18.uvgui.Administrator&&.................\......\ex4-18.uvopt&&.................\......\ex4-18.uvproj&&.................\......\ex4-18_uvopt.bak&&.................\......\ex4-18_uvproj.bak&&.................\......\main.LST&&.................\......\main.OBJ&&.................\......\main.c
&输入关键字,在本站243万海量源码库中尽情搜索:51单片机AD转换的程序
18:27:35来源: 21ic
void Read_init (unsigned char CHA){
unsigned char AD_FIN=0; //存储A/D转换标志
CHA &= 0x07; //选择ADC的8个接口中的一个(0000 0111 清0高5位)
ADC_CONTR = 0x40; //ADC转换的速度(0XX0 0000 其中XX控制速度,请根据数据手册设置)
ADC_CONTR |= CHA; //选择A/D当前通道
ADC_CONTR |= 0x80; //启动A/D
DELAY_MS(1); //使输入电压达到稳定(1ms即可)
unsigned char Read (void){
unsigned char AD_FIN=0; //存储A/D转换标志
ADC_CONTR |= 0x08; //启动A/D转换(0000 1000 令ADCS = 1)
while (AD_FIN ==0){ //等待A/D转换结束
AD_FIN = (ADC_CONTR & 0x10); //0001 0000测试A/D转换结束否
ADC_CONTR &= 0xE7; //1111 0111 清ADC_FLAG位, 关闭A/D转换,
return (ADC_DATA); //返回A/D转换结果(8位)
以上- 8位ADC程序模块(适用于STC12C2052AD系列)
//51基本运算(包括_nop_空函数)
void DELAY_MS (unsigned int a){
unsigned int i;
while( a-- != 0){
for(i = 0; i < 600; i++);
void UART_init (void){
//EA = 1; //允许总中断(如不使用中断,可用//屏蔽)
//ES = 1; //允许UART串口的中断
TMOD = 0x20; //定时器T/C1工作方式2
SCON = 0x50; //串口工作方式1,允许串口接收(SCON = 0x40 时禁止串口接收)
TH1 = 0xF3; //定时器初值高8位设置
TL1 = 0xF3; //定时器初值低8位设置
PCON = 0x80; //波特率倍频(屏蔽本句波特率为2400)
TR1 = 1; //定时器启动
void UART_T (unsigned char UART_data){ //定义串口发送数据变量
SBUF = UART_ //将接收的数据发送回去
while(TI == 0); //检查发送中断标志位
TI = 0; //令发送中断标志位为0(软件清零)
void Read_init (unsigned char CHA){
unsigned char AD_FIN=0; //存储A/D转换标志
CHA &= 0x07; //选择ADC的8个接口中的一个(0000 0111 清0高5位)
ADC_CONTR = 0x40; //ADC转换的速度(0XX0 0000 其中XX控制速度,请根据数据手册设置)
ADC_CONTR |= CHA; //选择A/D当前通道
ADC_CONTR |= 0x80; //启动A/D电源
DELAY_MS(1); //使输入电压达到稳定(1ms即可)
unsigned char Read (void){
unsigned char AD_FIN=0; //存储A/D转换标志
ADC_CONTR |= 0x08; //启动A/D转换(0000 1000 令ADCS = 1)
while (AD_FIN ==0){ //等待A/D转换结束
AD_FIN = (ADC_CONTR & 0x10); //0001 0000测试A/D转换结束否
ADC_CONTR &= 0xE7; //1111 0111 清ADC_FLAG位, 关闭A/D转换,
return (ADC_DATA); //返回A/D转换结果(8位)
void main (void){
unsigned char R;
UART_init();//串口初始程序
Read_init(0);//ADC初始化
P1M0 = 0x01; //P1.7~.0:0000 0001(高阻)//注意:更改ADC通道时须同时将对应的IO接口修改为高阻输入。
P1M1 = 0x00; //P1.7~.0:0000 0000(强推)
R = Read ();
UART_T (R); //串口小秘书,将ADC读出值送入串口显示
以上- 8位ADC应用实例(适用于STC12C2052AD系列)
void Read_init (unsigned char CHA){
unsigned char AD_FIN=0; //存储A/D转换标志
CHA &= 0x07; //选择ADC的8个接口中的一个(0000 0111 清0高5位)
ADC_CONTR = 0x40; //ADC转换的速度(0XX0 0000 其中XX控制速度,请根据数据手册设置)
ADC_CONTR |= CHA; //选择A/D当前通道
ADC_CONTR |= 0x80; //启动A/D电源
DELAY_MS(1); //使输入电压达到稳定(1ms即可)
unsigned int ADC_Read (void){
unsigned char AD_FIN=0; //存储A/D转换标志
ADC_CONTR |= 0x08; //启动A/D转换(0000 1000 令ADCS = 1)
while (AD_FIN ==0){ //等待A/D转换结束
AD_FIN = (ADC_CONTR & 0x10); //0001 0000测试A/D转换结束否
ADC_CONTR &= 0xE7; //1111 0111 清ADC_FLAG位, 关闭A/D转换,
return (ADC_RES*4+ADC_RESL);//返回A/D转换结果(10位ADC数据高8位在ADC_RES中,低2位在ADC_RESL中)
以上- 10位ADC程序模块(适用于STC12C5A60S2系列)
//单片机头文件
//51基本运算(包括_nop_空函数)
void DELAY_MS (unsigned int a){
unsigned int i;
while( a-- != 0){
for(i = 0; i < 600; i++);
void UART_init (void){
//EA = 1; //允许总中断(如不使用中断,可用//屏蔽)
//ES = 1; //允许UART串口的中断
TMOD = 0x20; //定时器T/C1工作方式2
SCON = 0x50; //串口工作方式1,允许串口接收(SCON = 0x40 时禁止串口接收)
TH1 = 0xF3; //定时器初值高8位设置
TL1 = 0xF3; //定时器初值低8位设置
PCON = 0x80; //波特率倍频(屏蔽本句波特率为2400)
TR1 = 1; //定时器启动
void UART_T (unsigned char UART_data){ //定义串口发送数据变量
SBUF = UART_ //将接收的数据发送回去
while(TI == 0); //检查发送中断标志位
TI = 0; //令发送中断标志位为0(软件清零)
void Read_init (unsigned char CHA){
unsigned char AD_FIN=0; //存储A/D转换标志
CHA &= 0x07; //选择ADC的8个接口中的一个(0000 0111 清0高5位)
ADC_CONTR = 0x40; //ADC转换的速度(0XX0 0000 其中XX控制速度,请根据数据手册设置)
ADC_CONTR |= CHA; //选择A/D当前通道
ADC_CONTR |= 0x80; //启动A/D电源
DELAY_MS(1); //使输入电压达到稳定(1ms即可)
void ADC_Read (void){
unsigned char AD_FIN=0; //存储A/D转换标志
ADC_CONTR |= 0x08; //启动A/D转换(0000 1000 令ADCS = 1)
while (AD_FIN ==0){ //等待A/D转换结束
AD_FIN = (ADC_CONTR & 0x10); //0001 0000测试A/D转换结束否
ADC_CONTR &= 0xE7; //1111 0111 清ADC_FLAG位, 关闭A/D转换,
void main (void){
UART_init();//串口初始程序
Read_init(0);//ADC初始化
P1M1 = 0x01; //P1.7~P1.0:0000 0001(高阻)//注意:更改ADC通道时须同时将对应的IO接口修改为高阻输入。
P1M0 = 0x00; //P1.7~P1.0:0000 0000(强推)
ADC_Read ();//调用ADC转换程序
UART_T (ADC_RES); //串口小秘书,将ADC读出值高8位送入串口 0000 0000
UART_T (ADC_RESL); //串口小秘书,将ADC读出值低2位送入串口 XXXX XX00
关键字:&&
编辑:什么鱼
引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
微信扫一扫加关注 论坛活动 E手掌握
微信扫一扫加关注
芯片资讯 锐利解读
大学堂最新课程
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
热门资源推荐
频道白皮书
何立民专栏
北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。匿名用户不能发表回复!|

我要回帖

更多关于 stc15 iic 的文章

 

随机推荐