基于单片机的空调遥控器设计(毕业论文内容摘要:

ADC 的转换速度由ADC 控制寄存器中的 SPEED1 和 SPEED0 确定。 在使用 ADC 之前,应先给 ADC 上电,也就是置位 ADC 控制寄存器中的 ADC_POWER 位。 13 键盘、摇杆扫描电路 键盘、摇杆扫描电路如图 16 所示。 图 16 键盘、摇杆扫描电路图 空调遥控器按键功能设计解析:通过按下 A 键,会不断发送信号,这些信号包括温度,模式等所有信息的组合信号。 通过按下 B 键,会发射关机信息给空调。 通过按下 C键,可以设定定时功能的开关,有定时开,关,和取消定时这几个功能。 通过按下 D键,控制器进入省电模式,关闭 LCD 背光灯。 通过摇杆的上下方向,控制光标上下移动,选择不同的控制菜单。 通过摇杆的 左右方向,根据不同的控制菜单,调整不同的控制方式和量。 空调遥控器硬 件电路图 综合前面各硬件电路功能模块的设计,图 17给出了空调硬件设计电路图。 空调遥控器硬件电路图空调遥控器的硬件设计,严格按照任务书的要求,进行了单片机的选型,并以单片机为基础进行了红外发射电路、键盘扫描电路和 LCD 驱动电路的 14设计,利用关闭 LCD 背光灯,满足了无操作时的低功耗设计,同时为软件的低功耗设计奠定了基础。 图 17 空调硬件电路图 4 调试 硬件调试 在硬件调试时可以运用单片机仿真器对课题的原理图以检查电路的设计是不是合理且性能良好。 假如在仿真器上没有发现异常的话则可以 进行下一步调试即根据原理图做 15出实物再对实物进行通电实验,看看遥控器是否正常工作,假如出现异常则证明电路的焊接方面还存在问题,要对其进行进一步检查和调试直到正常工作。 软件调试 软件编程完成之后要进行调试。 可将每个子程序写如单片机实验系统中进行调试当每段子程序都没有错误时再将完整的程序输入进去进行调试看看是否有问题。 故障诊断及排除 在电输入和输出端要加电容滤波。 分模块测试,首先测试电源模块的 VCC 的 GND 端,保证输入恒定在 5V 上下;然后先把 51 单片机最小系统搭建起来,测试输入 VCC 端 和 GND 是否有 5V,如果有,用示波器查看晶振是否起震,接着把编好的测试程序烧到单片机中,测试各个硬件模块式否正常工作,对于这个工程的红外模块可以把对于的引脚拉低,用手机的摄像头对着红外发射管,如果是蓝色证明,电路正常。 在联调时常见的故障是遥控距离较短,不满足要求,一般可通过增大红外管发射电流, 或将几个红外发射管串联发射等增强红外发射光的方法来解决;也可以使几个红外接受 管并联接受,以提高接受灵敏度。 还可以将红外发射管和红外接受管均放入黑盒屏蔽,仅在发射和接受处开个小窗口,这样可消除杂散红外光的干扰,使有 用信号增强。 引起遥控距离较短的原因还有可能是,发射的载波频率与接受机带通滤波器的中心频率不一致。 可试着微调发射载波的频率,观察遥控距离的变化,使系统达到最佳工作状态。 5 总结 经过几个月的思考与查阅,我终于完成了这篇毕业论文。 通过多方面的审查,可以测试到硬件和软件的设计上是没有问题的,并且实际上也是可用的。 其实,还是有点不足,就是精度问题,由于红外发射管的灵敏度问题,已经系统在布线焊接上,器件与器件之间的相互干扰,多少存在一定的影响,所以这种遥控操作准确性还存在不足。 计算机的发展可以说是日新月异,它 给我们的生活、工作带来了翻天覆地的变化,现代生产生活计算机无处不在。 随着近代单片机的发展,人马的生活环境更是向着智能化、自动化方向发展,单片机主要的特点就是功能强大并且成本相当的低,所以很多领域都应用了单片机,我想,单片机应用会越来越成熟,它的功能会越来越强大。 16,他们会及时的出现在我面前,再次感谢他们。 参 考 文 献 陈汝全 .电子技术常用器件手册 [M].北京 :机械工业出版社 ,1994:5558 何立民 .MCS51系列单片机应用系统设计,系统配置与接口技术 [M].北京:北京航天航空大学出版社 ,1995:3545 焦李成 .电流模式信号处理的进展与展望 [J].电子学报, 1992, 20( 7) : 8792 康光华,陈大钦 .电子技术基础 (模拟部分 )[M]. 第四版 .北京: 高等教育出版社 ,1999:6569 李华 .MCS51 系列单片机实用接口技术 [M].北京:航天航空大学出版社 ,1999:3445 李建华 .实用遥控器原理与制作 [M].北京 :人民邮电出版社 ,1996:5667 梁延贵 .遥控电路可控硅触发电路语音电路分册 [M].北京 :科学技术文献出版社 ,2020:6070 鲁兵 ,杨楚民 .基于单片机系统的显示接口 [M].机械与电子出版社 ,1992:4556 邱关源 .电路 [M].第三版 .北京 :高等教育出版社 ,1989.:6777 舒经文 .最新彩电机芯及其遥控系统的原理与维修 [M].北京 :电子工业出版社 ,1993:6688 17苏长赞 .红外线与超声波遥控 [M].北京 :人民邮电出版社 ,1995:4466 孙函芳 ,徐爱卿 .MCS51 系列单片机原理及应用 [M].北京 :北京航天航空大学 ,1996:5263 张肃文 ,陆兆文 .高频电子电路 [M].第三版 . 北京 :高等教育出版社 ,1993:2340 18附 录 软件代码: (,,LCD1286,, ,,,PW,) //include include include include include include include include include include include include include include sbit BUZZER = P2^0。 define ON 0 define OFF 1 define FOSC 11059200 define T1MS 0x2800 define DELAY 2020 void Init_Data(void) { [0] = 0x1F。 [1] = 0xD8。 [2] = 0xFF。 = 1。 = 0。 = 0。 = 0。 = 0。 = 0。 19 = 1。 = 0。 = 26。 = 0。 } void Send_Command(void) { /*********命令发送函数 *************/ if() { switch() { case 0 : { [0] |= 0x0F。 [0] |= 0x10。 [1] amp。 = ~(0x03)。 INF_SendCommand(ADDRESS,[0],[1])。 INF_SendCommand(ADDRESS,[0],[1])。 } break。 case 1 : { [0] amp。 = 0xF0。 [1] |= 0x03。 [2] = 0x80|(( * 4) 1)。 INF_SendCommand_dinshi(ADDRESS,[0],[1],[2])。 INF_SendCommand_dinshi(ADDRESS,[0],[1],[2])。 } break。 case 2 : { if((( 1)%8)/4)[0] |= 0x10。 else [0] amp。 = ~(0x10)。 [0] amp。 = ~(0x0F)。 [0] |= ((0x0F)amp。 (( * 4) 1))。 [1] amp。 = ~(0x03)。 [1] |= ( / 8)。 [2] = 0xFF。 20 INF_SendCommand_dinshi(ADDRESS,[0],[1],[2])。 INF_SendCommand_dinshi(ADDRESS,[0],[1],[2])。 } break。 default:break。 } } else { [0] |= 0x0F。 [0] |= 0x10。 [1] amp。 = ~(0x03)。 INF_SendCommand(ADDRESS,[0],[1])。 INF_SendCommand(ADDRESS,[0],[1])。 } } void main(void) { Init_Sys()。 Init_Data()。 LED_Control(0x00)。 //BUZZER = 1。 Delay100ms(2)。 UI_show_homepage()。 Delay100ms(50)。 clr_screen()。 //清屏 函数 //UART1_Send_Byte(39。 v39。 )。 /*********38K测试程序 **************/ // F38K_Test()。 /*********引导码测试程序 ***********/ // INF_SendLead_Test()。 /*********发送 “ 0” 测试程序 **********/ // INF_SendZero_Test()。 /*********发送 “ 1” 测试程序 **********/ // INF_SendOne_Test()。 /*********命令发送函数 *************/ // INF_SendCommand(ADDRESS,0x1f,0x58)。 // INF_SendCommand(ADDRESS,0x1f,0x58)。 while(15) { if( == 1)LED_Stream(0)。 21 else LED_Control(0xff)。 UI_show_page1()。 UI_show_Arrow()。 write(0,0x84)。 switch() { case 1 :LCD_show_word(自动 )。 break。 case 2 :LCD_show_word(制冷 )。 break。 case 3 :LCD_show_word(抽湿 )。 break。 case 4 :LCD_show_word(制热 )。 break。 default:break。 } write(0,0x94)。 if() { if(( != 2)amp。 amp。 ( == 0)) { LCD_show_word(无 )。 = 0。 = 0。 } else { write(1,+ 48)。 write(1,%10 + 48)。 LCD_show_word(小时 )。 switch() { case 0 :LCD_show_word(无 )。 break。 case 1 :LCD_show_word(开 )。 break。 case 2 :LCD_show_word(关 )。 break。 default:break。 } } } else { LCD_show_word(无 )。 } write(0,0x8c)。 write(1,+48)。 write(1,%10+ 8)。 LCD_show_word(℃ )。 write(0,0x9c)。 switch() { case 1 :LCD_show_word(自动 )。 break。 case 2 :LCD_show_word(低风 )。 break。 case 3 :LCD_show_word(中风 )。 break。 case 4 :L。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。