




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于51单片机鼠标改装的PPT遥控器总结创做背景: 制作目的1、 熟悉51单片机的操作控制,练习自己的单片机的使用2、 培养自己对电子设计的兴趣3、 促进自己小组的团结与合作原件列表名称 数量 STC89C51 1 HS0038 1 三极管8050 1 发光二极管 13 废旧鼠标(左键好用) 1 电阻(1K) 13 单排插针 若干 导线 若干 杜邦头 若干 实验板(10x10)cm2 1 个别原件的百度介绍STC89C51: STC推出的系列51单片机芯片是全面兼容其它51单片机的,而51单片机是主流大军,每一个高等院校、普通学校、网站、业余单片机培训都是以51单
2、片机为入门教材的,所以,教材最多,例子最多。三极管(8050): 8050 是PNP的三极管 当连入单片机的电路时:单片机端口串一个电阻接三级管基级B,发射级E接电源正极,集电极C接电阻串二极管到地.当基极B给低电平时,三极管导通。进而实现开关作用。红外接收头HS0038: HS0038是一体化的红外接收装置,它将遥控信号放大、检波、整形集于一身,并且输出可以让单片机识别的TTL信号,这样大大简化了接收电路的复杂程度和电路设计工作,方便使用。设计中的原理图主要是单片机最小模块(单片机可以工作的最小系统)和一个三极管作为开关,以及必要的led装饰电路
3、原理图制作过程中的问题以及解决方法电路图非常简单,主要的问题不在于电路,电路用一上午的时间就都搞定了,剩下的就是程序问题。为了美观要达到的目的是LED灯要不断地闪烁,同时这LED中P2口控制的都是绿色的,P1口控制的都是红色的,这样就容易编程了。起初在主函数中直接对LED灯控制并且检测HS0038的电位变化但是始终检测不到,后来发现延时太长在延时的过程中掩盖了对HS0038的检测。所以缩小延时,但是无论怎么减小对于检测的时间来讲都是太大的。最后想到了用单片机的外部中断的功能,所以将HS0038的OUT接到口用外部中断1 将检测放在终端函数中最后解决了问题,实现检测和LED闪烁的功能
4、。 PPT控制的程序编码 #include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit signal=P33;sbit d=P00;uint flog=0;uint time;/用于计高电平的时间uchar i=1;/用于计32代码的第几位,i表示该解码第i位uchar ircode=0;/用于存储红外代码void delay(uint z)/延时函数uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void main()EA=1; /开总中
5、断EX1=1;/打开外部中断1中断IT1=0;/电平触发IE1=1;/中断1向CPU申请中断TMOD=0x01;/设置定时器0TR0=1; /启动定时器0TH0=0; /给定时器赋初始值TL0=0;while(1) while(!flog)P1=0; /p1 p2口灯全开P2=0;delay(100);P1=0xff; /p1关 p2开P2=0;delay(100);P2=0xff;/p1开 p2关P1=0;delay(100);P1=0xff;/p1 p2 全部关P2=0xff;delay(100); void zhongduan()interrupt 2 /外部中断1 中断函数 while
6、(signal);/直到变为低电平后,跳出等待,引导码的时间较长,第一次按键后定会被检测到 time=(TH0<<8)+TL0; /计算高电平时间 if(time>=200&&time<=800) i+;/此时为代码0,所以i需要加1,位数计数值加1 else if(time>=1100&&time<=1750) /此时为代码1,我们只要后8位if(i>=25) ircode=ircode|(1<<(i-25);/取第25-32位给ircodei+; /位数计数值加1 else /此时可能出现引导码或连发码时,重新计开始解码ircode=0;/可能是下一次代码的引导码来了,所以需要归0 i=1; /重新解码后,i需要从1开始,也就是继续解码第1位 if(i=33)/把解码值给P0口,点亮led灯/P0=ircode;switch(ircode) case0xbc :d=0;delay(20);d=1;break;case 0xba :
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 剧团劳务合同范本
- coco奶茶加盟合同范本
- 13规范合同范本
- 二年级口算题目库100道
- 代为付款三方协议合同范本
- 医院后勤劳务合同范本
- 出租荒山合同范本
- 化工工厂租赁合同范例
- 厂家对接合同范本
- 单位培训合同范本
- 部编版《道德与法治》四年级下册全册教案
- 雷锋精神生生不息-2025年学校3.5学雷锋月主题活动方案
- 骨科管理制度
- 电动叉车培训课件
- 2025年供应链管理公司合作项目协议书
- 2025年度度假村景观设计及施工一体化合同
- 2025年山东化工职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 《如何规划养禽场》课件
- 2024-2025学年云南省昆明市盘龙区三年级(上)期末数学试卷(含答案)
- 物业公司行政人事部职责
- 医疗健康行业保密免责协议书
评论
0/150
提交评论