吴鉴鹰单片机项目实战精讲之基于单片机摇摇棒设计.pdfVIP

吴鉴鹰单片机项目实战精讲之基于单片机摇摇棒设计.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
吴鉴鹰单片机项目实战精讲之基于单片机的摇摇棒制作 这个作品本着方便、成本的原则,采用单片机控制,由水银开关的闭合对 单片机产生外部中断,从而对中断进行采集。到达一定数量便进行图象的转换。 整个系统由单片机控制模块,开关及电源模块和输出显示模块三个部分构成。 2、主要部件原理 (1)单片机控制模块 用单片机想要控制LED显示只需要定时输出就可以,但每个人摇动的速度不 一样,如何准确的并稳定的变换图案呢?这就需要用到外部中断。将水银开关的 两个引脚一端接VCC,一端接GND,这样的话,当摇棒向一边运动时LED按照程序 编辑好的规律显示,而向另一边运动时LED全灭,此时一个周期就会产生一个下 跳沿的信号,信号传递给单片机的nINT0产生中断,对中断的数量计数,当计到 10时便转换显示的图案,当依次显示完后便回到初始状态进行循环。 由于人的视觉滞留时间长达0.1s,所以在每显示完一列LED后加入一段合适的 延时,如5ms,每个字之间加入延时如15ms,这样,我们就能看到静态的稳定 的字,并且每个字之间是有空隙的。为了让字能够在空间的中部显示,在启动 中断显示后延时一段合适的时间,使棒在半圆轨迹的大约1/4处开始显示,这样 看到的字方向上才比较正。 (2)水银开关 水银开关,又称倾侧开关,是电路开关的一种,以一接著电极的小巧容器储存著 一小滴水银,容器中多数注入惰性气体或真空。   仔细观察水银开关,实际上他是一个封闭的玻璃管,里面有两个分开着的 导线和一段水银球,当玻璃管的平衡位置变化时,水银球会来回移动,当水银球 移动到两根导线时,因水银是金属-导体,故电路变为通路,此时接收器处于工作 状态;反之,水银球远离两根导线时为断路,此时接收器处于非工作状态。 本设计采用震动开关代替水银开关,试验测试发现,水银开关多次高频率的接通 断开后触点会氧化,容易接触不良,因此改用下面的震动开关。 主要的人原理和器件鹰哥已经介绍完毕了,现在来给大家介绍大家最关心的 程序了,让鹰哥来一点点介绍。 鹰哥的摇摇棒具有如下功能: 1) 显示 “就要离开我最爱的大学了!”; 2) 显示 “o(∩_∩)o”微笑图案; 3) 显示 心形图案; 4) 显示 “LOVE”; 5) 显示 “天天开心” 6)显示 “笑笑照顾好自己!” 7)显示 “我们毕业了!” 8)显示 “周晓晓” 9) 可以通过开关实现转换,轮流显示并循环。 三、程序部分 ** 功能描述: ** 输 入: ** 内容: ** 输 出: ** ** 全局变量: ** 调用模块: ** ** 作 者: 吴鉴鹰 ** 日 期: 14.02.22 备注:有什么错误的地方,欢迎各大网友友指正,关注吴鉴吧,更多学习资料分享! O(∩_∩)O~ #include AT89X52.h #define uchar unsigned char #define uint unsigned int //宏定义 #define KEY P3_7 //定义画面切换按键 uchar KY; //KY作用在后面说明 uchar disp; //显示汉字指针 uchar pic=0,num=0; //pic为按键次数;num为中断次数 uchar code love[] = { }; uchar code loveyou[] = { }; uchar code hehe[] = { }; unsigned char code hanzi[] = { /*-- 文字: 欢 --*/ /*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=16x16 --*/ /*--

文档评论(0)

喜宝 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档