给我一个qq号和密码号

基于STC12C5A60S2单片机设计的有毒气体排除系统--《信息通信》2016年01期
基于STC12C5A60S2单片机设计的有毒气体排除系统
【摘要】:文章是基于STC12C5A60S2型单片机进行的及时空气质量检测设计,能够监测多种有害气体浓度值,具备浓度调节和驱动时段调节功能。通过单片机、1602液晶显示器、MQ135空气质量检测器、轴流排气电机扇和调时按键电路,最终通过LCD显示器显示数据,具备更加人性化的操作与直观的表现结果。在文章中详细讲解了数据采集子系统、数据处理过程和数据显示子系统的设计方式和历程。该体系将浓度信号进行了信号抵偿等处理,减少了测量误差,因此,具备较高的测量精度,并且构造简略,机能良好。
【作者单位】:
【关键词】:
【基金】:
【分类号】:X831;TP368.1;TU834【正文快照】:
0引言当我们日常生活中走入一些体育场所,有时会闻到有股刺鼻的“臭味”,一开始想到的原因是空气不流通,多开窗透透风应该就会减缓了。但是在没有学生上课的时候,关窗之前这些“臭味”依然存在。其实这种所谓的“臭味”就是是甲醛等有害气体。人体吸入高浓度甲醛后,会出现呼吸
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 大众知识服务
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备75号//**********************;//STC12C5A60S2可编程时钟模块;//;//;//说明:STC12C5A60S2单片机有三路可;//CLKOUT1/T1/P3.5、CLKOUT;//;//涉及寄存器:AUXR(辅助寄存器)、WAKE;器);//BRT(独立波特率发生器定时器寄存器);//;//程序说明:;//本程序可选实现P3.4
//****************************************************************************//
STC12C5A60S2可编程时钟模块
说明:STC12C5A60S2单片机有三路可编程时钟输出CLKOUT0/T0/P3.4
CLKOUT1/T1/P3.5、CLKOUT2/P1.0
涉及寄存器:AUXR(辅助寄存器)、WAKE_CLKO(时钟与系统掉电唤醒控制寄存
BRT(独立波特率发生器定时器寄存器)
程序说明:
本程序可选实现P3.4输出CLKOUT0时钟、P3.5输出CLKOUT1时
P1.0输出CLKOUT2时钟
////****************************************************************************/
#include &STC12C5A60S2.H&
#include &intrins.h&
//#define Port_BRT
//如果想测试独立波特率发生器时钟输出请打开此句
//若想测试CLKOUT1和CLKOUT0请注释此句
#ifdef Port_BRT
/*条件编译独立波特率发生器时钟输出*/
//*********************************//
CLKOUT2时钟初始化
//*********************************//
void CLKOUT_init(void)
WAKE_CLKO = 0x04;
//Bit2-BRTCLKO 允许P1.0配置为独立波特率发生器的时
//BRT工作在1T模式下时的输出频率 = Sysclk/(256-BRT)/2
//BRT工作在12T模式下时输出频率 = Sysclk/12/(256-BRT)/2
//Bit4-BRTR 允许独立波特率发生器运行
//Bit2-BRTx12 BRT工作在1T模式下
//更改该寄存器的值可实现对输出的时钟频率进行分频
/*条件编译CLKOUT0时钟输出*/
//*********************************//
CLKOUT0时钟和CLKOUT1初始化
//*********************************//
void CLKOUT_init(void)
WAKE_CLKO = 0x03;
//允许将P3.4/T0脚配置为定时器0的时钟输出CLKOUT0
//T0工作在1T模式时的输出频率 = SYSclk/(256-TH0)/2
//T0工作在12T模式时的输出频率 = SYSclk/12/(256-TH0)/2
//1T指的是每1个时钟加1,是普通C51的12倍
//12T指的是每12个时钟加1与普通C51一样
//允许将P3.5/T1脚配置为定时器1的时钟输出CLKOUT1,只
能工作在定时器模式2下
//T1工作在1T模式时的输出频率 = SYSclk/(256-TH0)/2
//T1工作在12T模式时的输出频率 = SYSclk/12/(256-TH0)/2
//1T指的是每1个时钟加1,是普通C51的12倍
//12T指的是每12个时钟加1与普通C51一样
//T0定时器速度是普通8051的12倍,即工作在1T模式下
//T1定时器速度是普通8051的12倍,即工作在1T模式下
//定时器0工作模式为方式2,自动装载时间常数
//定时器1工作模式为方式2,自动装载时间常数
//更改该寄存器的值可实现对输出的时钟频率进行分频
//更改该寄存器的值可实现对输出的时钟频率进行分频
//**********************************//
//**********************************//
void main()
CLKOUT_init();
//****************************************************************************//
STC12C5A60S2系统时钟模块
STC12C5A60S2单片机有两个时钟源,内部R/C振荡时钟和外部晶体时
出厂标准配置是使用外部晶体或时钟
涉及寄存器:CLK_DIV(时钟分频寄存器)
由该寄存器的Bit0-2组合可实现对时钟源进行0、2、4、8、16
32、64、128分频
程序说明:
对外部时钟进行分频得到Sysclk,然后经过P1.0的独立波特率
时钟输出功能Sysclk/2输出时钟频率
//****************************************************************************//
#include &STC12C5A60S2.h&
#include &intrins.h&
#define Bus_clk 12
//若要修改系统时钟直接在此处修改
750kHz 的sysclk
375kHz 的sysclk
187.5kHz 的sysclk
93.75kHz 的sysclk
//*********************************************//
系统时钟初始化
//*********************************************//
void Sysclk_init(void)
WAKE_CLKO = 0x04;
//配置P1.0口为频率输出
//允许波特率时钟工作
//工作模式为1T
#if( Bus_clk == 12 )
CLK_DIV = 0x00;
#elif( Bus_clk == 6 )
#elif( Bus_clk == 3 )
#elif( Bus_clk == 1500 )
#elif( Bus_clk == 750 )
#elif( Bus_clk == 375 )
#elif( Bus_clk == 187500 )
#elif( Bus_clk == 93750 )
//**********************************************//
//**********************************************//
void main()
Sysclk_init();
//****************************************************************************//
STC12C5A60S2系统省电模块
STC12C5A60S2单片机有三种省电模式以降低功耗.空闲模式,低速模式
涉及寄存器:PCON(电源控制寄存器)
Bit0 - IDL 控制单片机进入IDLE空闲模式
控制单片机进入掉电模式
程序说明:
程序实现让单片机先工作一阵子(通过P0^3指示灯显示)
然后进入掉电状态,利用外部中断0口来唤醒单片机工作
唤醒后单片机将通过P0^0-3口的灯闪烁显示开始工作
////****************************************************************************/
#include &STC12C5A60S2.h&
#include &intrins.h&
#define uchar unsigned char
#define uint unsigned int
uchar Power_Down_Flag = 0;
//进入掉电状态标志
sbit Chip_Start_LED
//单片机开始工作指示灯
sbit Power_Down_LED_INT0
//INT0口掉电唤醒指示灯
sbit N_Power_Down_LED_INT0 = P0^2;
//INT0口没有唤醒指示灯
sbit Normal_Work_LED
//正常工作指示灯
sbit Power_Down_Wakeup_INT0= P3^2;
//外中断唤醒输入口
void Delay_ms( uint time );
void Normal_work(void);
void Intp_init(void);
void After_Powr_Down(void);
//***********************************//
//***********************************//
void Delay_ms( uint time )
//延时时间 = (time*1003+16)us
while(time--)
for( t = 0; t & 82; t++ );
//***********************************//
正常工作指示
//***********************************//
void Normal_work(void)
Normal_Work_LED = 1;
Delay_ms(500);
Normal_Work_LED = 0;
Delay_ms(500);
void After_Power_Down(void)
for( i = 0; i & 100; i++ )
P0 = 0x0f;
Delay_ms(500);
P0 = 0x00;
Delay_ms(500);
//***********************************//
中断初始化
//***********************************//
void Intp_init(void)
//外部中断源0为低电平触发
//允许外部中断
//开总中断
//***********************************//
三亿文库包含各类专业文献、幼儿教育、小学教育、专业论文、高等教育、中学教育、外语学习资料、STC12C5A60S2单片机各个模块程序代码13等内容。 
 而且其片内的具有大容量程序存储 器且是 FLASH 工艺的,如 STC12C5A60S2 单片机内部就自带高达 60K FLASH ROM, 这种工艺的存储器用户可以用电的方式瞬间擦除...  STC12C5A60S2单片机的AD转换(8位)_计算机软件及应用_IT/计算机_专业资料。该AD转换程序只用于采集数据,无串口通信A/D 转换测试程序(ADC 查询方式) #include “...  STC12C5A60S2单片机_电子/电路_工程科技_专业资料。STC12C5A60S2单片机 ...sbit PX1 = IP^2; //累加器 //B 寄存器 //程序状态字寄存器 //进位标志...  基于单片机的温度控制器附程序代码_电子/电路_工程科技_专业资料。基于单片机的温度...6.硬件设计 6.1 单片机模块 STC12C5A60S2/AD/PWM 系列单片机是宏晶科技生产...  STC12C5A60S2单片机的AD转换(8位)_计算机硬件及网络_IT/计算机_专业资料。A/D 转换测试程序 #include “stc12c5a.h”//头文件在 STC 公司主页上下载 #incl...  STC12C5A60S2单片机AD转换程序_信息与通信_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档 STC12C5A60S2单片机AD转换程序_信息与通信_工程科技_专业...  STC12C5A60S2单片机命名规则_电子/电路_工程科技_专业资料。STC12C5A60S2单片机命名规则STC12C5A60S2 单片机命名规则 如图所示: STC :是品牌。 12 :STC 1T...  STC12C5A60S2 单片机简介: STC12C5A60S2/AD/PWM 系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是 高速/低功耗/超强抗干扰的新一代 8051 单片机...  STC12C5A60S2 系列单片机 AD 功能详解作者:裴博宇 作者原本旨在对 STC12C5A...有了这些我相信就够写一个程序了吧, 但是注意这个地方还差点东西, 缺一个...STC12C5A60S2单片机IO口工作模式设定_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
STC12C5A60S2单片机IO口工作模式设定
上传于|0|0|文档简介
&&STC12C5A60S2单片机IO口工作模式设定
你可能喜欢求助,关于 STC12C5A60S2自带PWM_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:132,405贴子:
求助,关于 STC12C5A60S2自带PWM收藏
如题,弄了好几天都不行,大家帮帮忙看一下头文件代码哪里有问题,编译没有提示错误。p1.3
p1.4脚就是没有输出pwm。急死我了。。。/*********************************************************************************************
两路PWM输出控制设置/*********************************************************************************************/#ifndef __SET_PWM_H__#define __SET_PWM_H__sfr AUXR
= 0x8E;//Declare SFR associated with the PCA
声明与PCA相关联的SFR
//PCA control register PCA控制寄存器 sbit
//PCA module-0 interrupt flag PCA模块0中断标志 sbit
//PCA module-1 interrupt flag PCA模块1中断标志 sbit
//PCA timer run control bit
PCA定时器运行控制位 sbit
//PCA timer overflow flag
PCA定时器溢出标志 sfr
//PCA mode register
PCA模式寄存器 sfr
//PCA base timer LOW
PCA基定时器低 sfr
//PCA base timer HIGH
PCA基定时器高 sfr
//PCA module-0 mode register PCA模块0模式寄存器 sfr
//PCA module-0 capture register LOW PCA模块0捕捉寄存器低 sfr
//PCA module-0 capture register HIGH PCA模块0捕捉寄存器高 sfr
//PCA module-1 mode register PCA模块1模式寄存器 sfr
//PCA module-1 capture register LOW PCA模块1捕捉寄存器低 sfr
//PCA module-1 capture register HIGH PCA模块1捕捉寄存器高 sfr
PCAPWM0 = 0xf2; sfr
PCAPWM1 = 0xf3;//***********************************************************************************/ //PWM模式设置 void Init_PWM() {
// set PWM mode 设定PWM工作模式
//初始PCA控制寄存器(PCA定时器停止,清除CF标志,清除所有模块中断标志) CL = 0;
//复位PCA基定时器
CH = 0;CMOD = 0x02; //设置PCA定时器的时钟源作为定时器0溢出,禁用PCA定时器溢出中断
CCAP0H = CCAP0L = 255;
//的PWM0端口输出X%占空比的方波
CCAPM0 = 0x42;
//PCA模块08位PWM模式工作,并没有PCA中断 CCAP1H = CCAP1L = 255; //PWM1端口输出X%占空比的方波 CCAPM1 = 0x42;
//PCA模块1,08位PWM模式工作,并没有PCA中断
//PCA定时器开始运行 }//***********************************************************************************/ //设置Timer0为8位自动重载模式,作为PWM时钟源 void Init_Timer0() {
// set timer0 mode AUXR = 0x00;
//定时器工作在12T模式
TMOD|= 0x02;
//设置定时器0计数器模式2(8位自动重装) TH0=TL0=155; //PWM 50Hz
TR0 = 1; //定时器0开始运行(如PWM CLK)
上海虚谷科技承接各种上海单片机开发和上海单片机开发项目联系电话: 郭先生
额,没用过这个单片机,只用过用定时器实现pwm波的输出
我也做过,我的头文件是在stc下的。
你有这个芯片的手册吗?那上面有pwm的例程吧,很详细,各种模式的配置都有
我说说吧:首先,既然用这款单片机,就去STC官网下载头文件:stc12c5a60s2.h
这样省去了自己声明,定义寄存器的过程。既方便,又减少代码量。不输出波形可能原因: CCAP0H = CCAP0L = 255;//赋值255时,占空比最小,1/256
CCAP1H = CCAP1L = 255;;//赋值255时,占空比最小,1/256 当赋值为0x00时占空比最大,这两个 极端 都 不会 看到方波的。赋值0x80时,占空比50%
那是什么…
请教一下在输出PWM波时,手册说是在P1^3或P4^2这是什么意思,是表示这两个引脚会同时输出相同的PWM波还是说需要一些设置才可以激活P4^2的PWM波波形?
弱弱的问一句这一款单片机内置AD转换芯片么?
在吗?问个单片机问题
尚观单片机培训,[提供专业单片机入门教程]@全国唯—Cortex A53八核芯片单片培训机构
是怎么解决的
你前面那个ks103测距可以发下程序给我么
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 给我一个qq号和密码 的文章

 

随机推荐