文号
t52305
阅读
7996
回复
13
收藏
8
[jxs出品~~]单片机电平指示= =
2012/11/17
IP:广东
最近要准备一个科创大赛,搞个单片机的(具体保密[s:233])
由于要用到AD和PWM,于是毫不犹豫选择了STC12C5A60S2。。。
内置10位AD和俩路PWM。。。
看了一下午的PDF,终于把AD模块和PWM模块搞懂了。。。
一开始是搞了个弱智极的程序。。。
用内置AD检测电压,高于3Vled1亮,低于3Vled2亮。。。
后来玩得不过瘾,干脆搞个电平指示的了= =
程序过于简单,就不发了,就是不停地AD转换,然后一堆if语句。。。高于某个电压级就点亮一个LED。。。
懒得搭电路了,直接用开发板搞
视频:
点击此处查看视频
貌似程序有点问题,P1^3的亮度跟P1^7一样= =
PS:这开发板太蛋疼了,LED全接到P1口,只能用6个LED指示了(P1^1输入音频,P1^0挂了= =)
===========================分割线================================
惨痛的教训:AD输入一定要加5.1V稳压管保护否则输入超过5V,烧IO口没商量= =
一开始就没加,结果音乐开得太大。。。
오빤 강남스타일 강남스타일!
LED全亮!
555~~P1^0输出高。。。不受程序控制了[s:241][s:240]
一定要加稳压管!!![s:245][s:261]

END;
+1
科创币
dr.lc
2012/11/17
STC12C5A60S2大有爱!!!+1
+10
科创币
科学人
2012/11/18
程序还有很大的优化空间。
+100
科创币
天易
2012/11/21
支持原创
13
14年1个月前IP:未同步
471232
1楼
STC12C5A60S2大有爱!!!
我就喜欢这个单片机。。。
IO口多,价格低廉,也很皮实耐用。。。
实在是我这种新手的好“玩伴”啊。。。[s:274]
引用
评论
14年1个月前IP:未同步
471577
2楼
冒个泡泡支持下。。
其实一堆if的效率没swatch高。。
引用
评论
14年1个月前IP:未同步
471689
3楼
回 楼主(jxs) 的帖子
额
不过价格跟性能比就不是很好了
stc12c5a60s2跑33M还没stm8跑16M快
但是的确很好用。
引用
评论
14年1个月前IP:未同步
471692
4楼
。。。P1.0还能挂了?难道输入的时候没设置高阻?高阻或者开漏都可以。不然就击穿了。- -
额
电平指示可以用个比较器电路实现。
还有模电刚入门的时候有个电路可以显示电平的。三极管级联降压好像。。

现在这样加块LCD就成简单的示波器了。
QQ截图20121119094308.jpg
引用
评论
jxs作者
14年1个月前IP:未同步
471737
5楼
回+4楼(q451993547)+的帖子
废话,肯定设成高阻,要不然怎么输入模拟量啊。。。你试试输入超过5v看挂不挂?还有,这只是我偿试使用AD的小实验,没有一点为了做电平指示而写这个程序的意思。。。否则我会做得更好。。。
引用
评论
14年1个月前IP:未同步
471932
6楼
回 5楼(jxs) 的帖子
不挂~~~~~。。。。。。。。
+10
科创币
jxs
2012/11/20
那为啥我的挂了?是不是P1ASF那设了还要设P1M1 P1M0?(我只设了P1ASF)
引用
评论
jxs作者
14年1个月前IP:未同步
471994
7楼
那为啥我的挂了?是不是P1ASF那设了还要设P1M1 P1M0?(我只设了P1ASF)
引用
评论
14年1个月前IP:未同步
472028
8楼
回 7楼(jxs) 的帖子
你的高太多
引用
评论
14年1个月前IP:未同步
472220
9楼
不懂单片机。看视频,貌似不是音频输入,是通过蜂鸣器检测?
引用
评论
jxs作者
14年1个月前IP:未同步
472296
10楼
回+9楼(天易)+的帖子
音频输入到P1.0,单片机内部AD转换成模拟量,然后七个if语句等效于比较器,输入电压高于某一阀值就点亮一个LED
引用
评论
14年1个月前IP:未同步
472301
11楼
我一直都是用STC89C52RC的...........家里面有足足两管89c52rc,但只有一片12c5a60s2
引用
评论
14年1个月前IP:未同步
472319
12楼
用普通二极管比如4148分别拉到电源正和地就可以了,用不着稳压管。
+10
科创币
jxs
2012/11/22
引用
评论
笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的