登录
|
注册会员
开启辅助访问
设为首页
收藏本站
扫一扫关注官方微信
论坛
BBS
M币充值
M currency prepaid phone
M币获取
附件中心
搜索
search
全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
MCU资讯论坛
»
论坛
›
单片机电路论坛
›
外围器件论坛
›
关于STC12C5A60S2的使用
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版
关于STC12C5A60S2的使用
[复制链接]
1594
0
ad***
管理员
发表于 2012-8-18 13:38:40
|
查看全部
|
阅读模式
本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有帐号?
注册会员
x
P1.2口接采样电压进行AD转换,根据所采样的电压控制P1.3口输出PWM!!!但是我的烧程序进去后没有PWM输出啊!!!看了N遍程序又和类似的程序比较都发现不出问题!!大侠帮忙啊!!简单的事情~~~
#include "STC12C5A60S2.h"
#include "intrins.h"
#include<stdio.h>
float sun=0.5; //光敏下限,打开路灯
float ad_result;//AD存放结果,最终采样电压的结果
/**********************ad转换********************************************/
/*定义ADC控制寄存器ADC_CONTR内的相应位*/
/*#define ADC_POWER 0x80 //ADC 电源控制位,1:打开A/D转换器电源
#define ADC_FLAG 0x10 //模数转换器转换结束标志位,当A/D转换完成后,ADC_FLAG=1,要由软件清0
#define ADC_START 0x08 //模数转换器(ADC)转换启动控制位,设置为“1”时,开始转换,转换结束后为0
#define ADC_SPEEDLL 0x00 //540个时钟周期转换一次
#define ADC_SPEEDL 0x20 //360个时钟周期转换一次
#define ADC_SPEEDH 0x40 //180个时钟周期转换一次
#define ADC_SPEEDHH 0x60 //90个时钟周期转换一次
unsigned char CHS; //CHS2/CHS1/CHS0:模拟输入通道选择*/
//如 0 0 0 选择P1.0 作为A/D输入来用
/*------------------------------
stc12c5a60s2_ad初始化
-------------------------------*/
void InitADC()
{
P1ASF = 0x04; //当P1口中的相应位作为A/D使用时,要将P1ASF中的相应位置1
ADC_RES = 0; //清除之前的结果
AUXR1|=0X00; //AD结果高8位放进ADC_RES,低2位放进ADC_RES
//CHS=0x00; //选择P1.0 作为A/D输入来用
}
/*-------------------------------------------
取STC12C5A60S2 AD结果函数
(采用查询方式)ADRJ=0
---------------------------------------------*/
void stc12c_ad_result( )//取AD结果函数,它是十位AD转换
{
ADC_CONTR =0x82;//模拟输入通道选择和AD转换速度
_nop_();
_nop_();
_nop_();
_nop_(); //要用4个空操作延时才可以正确读到ADC_CONTR寄存器的
ADC_RES=0; //高八位数据清零,STC12C5A60S2 AD数据寄存名与STC12C54××系列不同
ADC_RESL=0; //低两位清零
ADC_CONTR = 0xca; //启动AD转换
//模拟转换控制位启动:ADC_START=1,即ADC_CONTR=0x08;启动电源:ADC_POWER=1,即ADC_CONTR =0x80;
while((ADC_CONTR&0x10)!=0x10);//等待AD转换完成
ADC_CONTR=0xc2; //关闭AD转换
//ADC_CONTR &= 0xe7;1111,0111 清 ADC_FLAG 位, 关闭A/D转换
ad_result=ADC_RES; //取AD转换高8位
}
/*-------------------PWm----------------------*/
/*---------------------------------------------*/
void pwm_init()
{
CCON=0; //PCA控制寄存器清零
CL=0; //计数器低8位
CH=0; //计数器高8位
CMOD=0X02; //pwm频率为fosc/2
CCAP0H=0Xf9;
CCAP0L=0Xf9;//0x80为pwm占空比为50%
CCAPM0=0X42; //置允许上升沿捕捉,将CEXn 设为 PWM 输出。
// CCAP1H=CCAP1L=0X00;
// CCAPM1=0X42;
CR=1;//允许计数
EA=1;//开中断
}
void delay(unsigned int time) //延时函数1ms
{
unsigned int i,j;
for(i=time;i>0;i--)
for(j=125;j>0;j--);
}
//*********************主程序***********************//
void main()
{
pwm_init(); //PWM初始化
delay(1000);
InitADC(); //AD转换初始化
while(1)
{
stc12c_ad_result();
if(ad_result<sun) //光线很暗时开灯
{
sun=1.2; //开灯后提升上限,从而具有一定的缓冲
CCAP0H=0xd0;
CCAP0L=0xd0;//0x80为pwm占空比为50%
CR=1;//允许计数;
}
else
{
sun=0.5; //白天关灯
CCAP0H=255;
CCAP0L=255;//0x80为pwm占空比为50%
CR=1;//允许计数;
}
}
}
程序
相关帖子
C51单片机
求大神帮忙调试程序
求大神看一下这个程序有问题吗?
走马灯仿真及程序
播放音乐的仿真及程序
DS1302时钟仿真及程序
ATmega16运行速度
求大家帮忙 看一眼这个程序哪里有错 主要是显示频率与输出频率不一致
怎么可以使51单片机和STC11系列的程序兼容呢
那位高手能帮我看看程序问题出在哪里了,求解。
举报
回复
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖后跳转到最后一页
回复
转播
评分
分享
打开支付宝扫一扫,最高立得1212元红包
搜索
本版
帖子
用户
热搜:
传感器
51串口程序
电子管放大器
夾式電表
夾式電流
Mentor论坛
打印机
版块推荐
百宝箱
My 布拉格
无边框Z9
Z9Max
Z9mini
nubia动态
问题 & 建议
资源分享
爱拍
同城会
牛仔生活
查看论坛所有版块>>
每日签到
论坛任务
摄影技巧
跳蚤市场
互助问答
论坛导读
申请内测
红包中心
每日摇一摇
活动中心
网站地图
官方旗舰店
图文热点
VK2C21B SOP24高抗干扰LCD液晶段码驱动芯片
产品品牌:永嘉微电/VINKA 产品型号:VK2C21B 封装形式:SOP24 概述 VK2C2B是一
低成本、高性能、带EEPROM了解一下
无锡矽杰微电子的XCE855E 是一颗带 EEPROM 的 8 位单片机,专为多 IO 产品的应用而设
工控仪表/水电气表LCD驱动/抗干扰液晶段码
产品品牌:永嘉微电/VINKA 产品型号:VK2C21A 封装形式:SOP28 概述 VK2C21是一
为什么电动车会着火?原因是什么?电动车充
其实电动车起火的新闻我们也不是第一次看到了,让很多人对电动车的安全性产生质疑,但
性价比超高的国产单片机了解一下
hello大家好,我是无锡矽杰微电子的马甲小号 今天给大家介绍一颗单片机,我们的
更多
精华推荐
VK2C21B SOP24高抗干扰LCD液晶段码驱动芯片
低成本、高性能、带EEPROM了解一下
工控仪表/水电气表LCD驱动/抗干扰液晶段码
软件模拟2812通信协议导致的种种问题,你遇
适用于电子鞭炮、电子蜡烛灯等方案的单片机
为什么电动车会着火?原因是什么?电动车充
性价比超高的国产单片机了解一下
国产单片机推荐I 低功耗、强驱动、极具性价
更多
社区学堂
VK2C21B SOP24高抗干扰LCD液晶段码驱动
低成本、高性能、带EEPROM了解一下
VK2C21B SOP24高抗干扰LCD液晶段码驱动芯片
产品品牌:永嘉微电/VINKA 产品型号:VK2C21B 封装形式:SOP24 概述 VK2C2B是一
低成本、高性能、带EEPROM了解一下
无锡矽杰微电子的XCE855E 是一颗带 EEPROM 的 8 位单片机,专为多 IO 产品的应用而设
工控仪表/水电气表LCD驱动/抗干扰液晶段码
产品品牌:永嘉微电/VINKA 产品型号:VK2C21A 封装形式:SOP28 概述 VK2C21是一
更多
客服中心
QQ:187196467
服务时间:周一至周日 8:30-20:30
在线客服
客服微博
产品咨询
售后中心
关注我们
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
QQ:187196467
周一到周日 8:30-22:00 (全年无休)
7 x 24小时在线客服
手机版
Powered by
MCUZX!
X3.4 © 2008-2015
MCU资讯论坛
版权所有
京ICP备18035221号-2
客服QQ: 187196467
技术支持:
MCU资讯论坛
|
网站地图
快速回复
返回顶部
返回列表