空调遥控器设计文库_第1页
空调遥控器设计文库_第2页
空调遥控器设计文库_第3页
空调遥控器设计文库_第4页
空调遥控器设计文库_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、青 岛 科 技 大 学题目 空调遥控器设计指导教师辅导教师学生姓名学生学号自动化系(学院)自动化专业 班年 月 日空调遥控器设计学位论文完成日期:指导教师签字:答辩委员会成员签字:空调遥控器设计摘 要随着社会的发展,空调器在家庭中已经十分普及,与此同时,和空调器相伴的空调遥控器的品种和产量不断提高。市场竞争日趋激烈,既要尽量减少设计和生产周期,又要在批量生产时有较强的价格竞争力,这是空调遥控器设计和生产厂商面临的一个问题。本文介绍的基于中颖公司SH6614单片机的空调遥控器设计方案较好地解决了上述问题。文章首先对空调遥控器的设计进行了可行性分析,之后提出了空调遥控器的硬件和软件设计方案。在硬件

2、设计方案中,首先详细论述了红外遥控的基本原理并用实例进行了说明。然后,对空调遥控器常用硬件设备LCD 和键盘的原理和使用进行了讨论,并对设计中使用的SH6614单片机做了必要说明。在软件设计方案中,文章对软件流程做了详细的解释并阐述了SH66系列单片机软件设计的一般方法。最后,文章对空调遥控器设计的仿真和调试做了简单介绍。另外,文章还对空调遥控器设计规格做了详细的描述,使整个设计过程更加清楚详细。关键字 空调遥控器 红外遥控原理 SH6614单片机AIR-CONDITION REMOTECONTROLLER DESIGNABSTRACTWith the development of socie

3、ty, air-condition have been widespread in houses. Meanwhile, the air-condition remote controller, gets an uninterrupted enhance in category and output. It is a critical problem for the designer and manufacturer to reduce the design and manufacture cycle as well as the batch cost in the increasingly

4、competitive market. The project in the thesis based on MCU SH6614, which is provided by sinowealth electron corporation, solves the problem satisfactorily.The thesis makes the feasibility analysis of the air-condition remote controller firstly , then raises the hardware and software project for the

5、air-condition remote controller. In hardware design project, the thesis starts with the basic theory of infrared remote controller and interprets with examples. After that, the thesis discusses the theory and application of the hardware that is in common use for air-condition, LCD and key board and

6、something about SH6614 as well. In software design project, the thesis interprets the programming process detailed and the common method in SH66 series MCU programming. At last, the thesis introduces the simulation and debugging of air-condition remote controller design simply . In addition, the the

7、sis depicts the air-condition remote controller design specification particularly to make the design process more clearly.KEY WORDSair-condition infrared remote theory SH6614MCU目 录1绪论1 2空调遥控器技术要求2.1 功能要求22.2 关键字说明22.3 编码规范32.4 波形规范6 3空调遥控器硬件设计3.1 单片机选型83.2 红外发射电路设计113.3 LCD 驱动电路设计143.4 键盘扫描电路设计173.5

8、 系统双时钟设计213.6 空调遥控器硬件电路图22 4空调遥控器软件设计4.1 软件功能模块设计235系统仿真与软件调试5.1 系统仿真31 5.2 软件调试32结束语33 参考文献34 附录35 致谢571绪论随着社会经济的发展,空调器已经成为现代家庭中不可缺少的家电设备,因此空调遥控器也就成为日常生活中常用的遥控设备之一。目前,红外遥控一直是遥控器设计采用的主要方式之一,它具有体积小,重量轻,简单易用等特点,完全可以满足用户需要。本文的空调遥控器设计,采用的是中颖电子公司生产的SH6614单片机。这款单片机具有8位I/O输出口,可以作为键盘扫描电路的端口;系统的PA1和PA2可以作为声音

9、发生器,对其进行编程则可以产生红外发射常用的38K 载波,满足红外发射的需要;该款单片机还自带LCD 输出端口,可以对LCD 进行有效驱动,无需外加辅助电路;系统提供的双晶振结构可以对系统时钟进行切换,从而实现空调遥控器的节能设计。空调遥控器的显示界面采用由用户定义笔画的定制LCD ,键盘采用3×4矩阵键盘,不仅可以满足用户需求,而且能够很好的与单片机进行协调工作。因此,这款单片机和选择的外围设备能够很好的满足空调遥控器的设计要求。本文从第二章开始介绍了空调遥控器的设计过程。第二章对空调遥控器的技术要求进行了说明,技术参数是用户的要求,也是设计者进行设计的依据,只有认真研究技术参数才

10、能设计出满足用户要求的产品。第三章对空调遥控器的硬件设计进行了详细的论述,对每一部分首先从一般原理上进行了研究,然后根据设计要求提出了设计方案。第四章对空调遥控器的软件设计进行了必要的说明,给出了详细的软件流程图并对关键部分进行了阐述。第五章描述了系统仿真和调试过程。2空调遥控器设计技术要求本章主要阐述了空调遥控器的设计任务,包括要求完成的功能,系统不同工作模式的说明,系统要求的编码规范和发射波形规范等,这就为空调遥控器的总体设计做出规定,为设计工作提出了基本要求。2.1功能要求空调遥控器是以单片机为核心,由键盘接收用户命令,通过发射编码对空调进行操作并用LCD 对当前状态进行显示,无操作状态

11、下系统进入低功耗模式。功能有:1. 自动、制冷、制热、抽湿模式设定 2. 十二小时预约开机或关机功能 3. 温度设定范围:17ºC-32ºC 4. 低、中、高、自动四档风速设定2.2关键字说明 功能选择“模式” - 自动 模式区显示自动图标 温度选择“温度” - 24 温度区显示“24”字样 风速选择“风速” - 自动 风速区显示自动图标 风向选择“风向” - 自动 风向区显示自动图标开机状态下,运行模式、风速、设定温度、定时开/关等信息在液晶相应区域显示,并可调整。每次有效的按键操作,均有相应的信息编码以红外形式发射。当芯片处于省电模式中,如果有按键输入,芯片将退出省电模

12、式,进入正常运行。定时开:按“定时开”,进入定时开调整。LCD 中显示“定时开”符号,并且初次显示为0.5小时。定时关:按“定时关”进入定时关调整。LCD 中显示“定时关”符号,并且初次显示为0.5小时。在定时调整期间内,如果连续五秒没有键按下,则退出定时设置模式,定时显示熄灭,遥控器处于进入此次定时设置前的状态。2.3编码规范表2-1 B,C编码含义 Table 2-1 B,C code define 表2-2 D,E编码含义 Table 2-2 D,E code define 表2-3 开/关机编码 Table 2-3 Open/Close code 表2-4 模式编码 Table 2-4

13、 Mode code 表2-5 温度编码 Table 2-5 Temperature code 表2-6 风速编码Table 2-6 Wind code 表2-7 定时时间小时编码Table 2-7 Hour code for set time 表 2-8 定时时间分钟编码 Table 2-8 Minute code for set time 2.4波形规范在红外发射中只有发码和不发码两种状态,于是我们用这两种状态的不同长短组合作为特定意义的编码,实现红外发射。各种编码定义如下: 0.56ms 0.56ms 0.56ms设计任务书是由提出设计要求的部门提供的,其中对设计工作的基本要求做了规范,

14、设计人员应该以此为基础,并在此基础上提出自己的设计方案完成要求。3空调遥控器硬件设计本章主要阐述了空调遥控器硬件设计,包括单片机的选型、红外发射电路设计、LCD 驱动电路设计、键盘扫描电路设计和系统双时钟设计,详细阐述了各部分的基本原理和设计过程。空调遥控器硬件设计框图如图3-1: 图3-1 空调遥控器硬件设计框图Fig.3-1 Block diagram for air-conditionremote controllers hardware design3.1 单片机选型空调遥控器使用的单片机应该满足LCD 驱动,键盘扫描,红外发射和系统低功耗设计。中颖电子的SH66xx 系列4位单片机是

15、精简指令集单片机,所有指令具有相同指令周期,具有速度快,功耗低,抗干扰能力强,结构简单易用,性价比高等特点。SH6614是其中的一款具有双晶振及液晶驱动功能的单片机, 经过编程PA1口可以发出38K 载波供红外遥控发码时使用,I/O口PA 和PB 可作为键盘接口,因此完全满足空调遥控器设计。它的基本功能如下: 程序存储器(ROM: 4096×16 数据存储器(RAM: 512×4 输入输出口:8个 液晶驱动:30×8或34×4 其中Segment 1-30可以设置成输出口 中断源:4个 定时器:2个8位 内置双通道可编程声音发生器(PSG 高低频两组振荡

16、器另外,中颖电子亦可提供SH6614的OTP 版本的产品SH66P14,这样, 对于小量试生产或交货周期短的空调遥控器可以采用SH66P14 进行生产,由于SH6614同SH66P14有很好的一致性. 。因此如果生产稳定或遇到成本压力时即可顺利转为掩膜版的SH6614。SH6614的功能框图和引脚图如图3-2和3-3。 图3-2 SH6614功能框图Fig.3-2 Block diagram for SH6614s functionR E S E T N C T N C12515049484746454443424140393837363534O O 525354555657585960616

17、26333PA 13P A 2P A 3N CV 33231302928SEG 4S H66142726252423222191011121 314151617186419201234567N C S E G 2N 4C8S E G 2N 3CC O M 7C 8S O E M G 30S E G 29S E G 28S E G 27S E G 26S E G 25S E G 22S E G 21S E G 20S E G 19S E G 18S E G 17图3-3 SH6614引脚图Fig.3-3 Pins diagram for SH6614表3-1 SH6614单片机各引脚定义 Tab

18、le 3-1 Pins define for SH6614 MCU3.2 红外发射电路设计人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.620.76m ;紫光的波长范围为0.380.46m 。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线,红外线遥控就是利用波长为0.761.5m 之间的近红外线来传送控制信号的。常用的红外遥控系统一般分发射和接收两个部分。发射部分的主要元件为红外发光二极管。它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它便发出的是红外线而不是可见光。目前大量使用的红

19、外发光二极管发出的红外线波长为940nm 左右,外形与普通发光二极管相同,只是颜色不同。接收部分的红外接收管是一种光敏二极管。在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外接收二极管一般有圆形和方形两种。红外遥控常用的载波频率为38kHz ,这是由发射端所使用的455kHz 晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷1237.9 kHz38kHz。也有一些遥控系统采用36kHz 、40kHz 、56kHz 等,一般由发射端晶振的振荡频率来决定。多路控制的红外发

20、射部分一般有许多按键,代表不同的控制功能。当发射端按下某一按键时,相应地在接收端有不同的输出状态。接收端的输出状态大致可分为脉冲、电平、自锁、互锁、数据五种形式。“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100ms 左右。“电平”输出是指发射端按下键时,接收端对应输出端输出“有效电平”,发射端松开键时,接收端“有效电平”消失。此处的“有效脉冲”和“有效电平”,可能是高、也可能是低,取决于相应输出脚的静态状况,如静态时为低,则“高”为有效;如静态时为高,则“低”为有效。大多数情况下“高”为有效。“自锁”输出是指发射端每按一次某一个键,接收端对应输出端改变一次

21、状态,即原来为高电平变为低电平,原来为低电平变为高电平。此种输出适合用作电源开关、静音控制等。有时亦称这种输出形式为“反相”。“互锁”输出是指多个输出互相清除,在同一时间内只有一个输出有效。电视机的选台就属此种情况,其它如调光、调速、音响的输入选择等。“数据”输出是指把一些发射键编上号码,利用接收端的几个输出形成一个二进制数,来代表不同的按键输入,这种输出形式一般用于与单片机或微机接口。 本文介绍的空调遥控器设计就是采用这种编码。遥控器所发送的功能指令码一般采用多位二进制串行码,例如某彩色电视的红外遥控码,其编码规律为:头脉冲、系统码、资料码、资料反码和结束位。头脉冲用做一帧命令的起始位;系统

22、码用于区别不同类的电器;资料码用于完成命令功能;资料反码是将资料码按位取反的码。每次进行发送都是先发送脉宽4510us 、周期2*4510us的头脉冲,然后连续发送两次系统码、接着发送资料码及资料反码、最后发送结束位,波形见图3-4。 图3-4遥控指令编码图Fig.3-4 Diagram for remote control instruction code红外通讯数据采用脉冲编码,所谓脉冲编码,就是将每位数据信号用一个脉冲来表示。例如红外编码以脉宽561us 、周期4*561us代表“1”;以脉宽561us 、周期2*561us代表“0”。脉冲信号都调制在占空比为1/3,频率为38kHz 的

23、载波上再发送出去,调制后的信号“1”和“0”如图3-5所示。这样做有两点好处:第一,减少了有效的发射时间,有利于降低平均功耗,这对于采用干电池供电的发射器十分重要;第二,外部干扰信号多为缓变信号,有利于抗干扰。 图3-5 信号1和0 Fig.3-5 Signal 1 and 0红外发射程序流程图如图3-6所示。 图3-6程序流程图Fig.3-6 Program flow chat 3-8 液晶显示器基本结构图Fig.3-8 Configuration of LCDFig.3-8 Basic configuration of LCD display在上、下两层电极之间封入向列型液晶材料,液晶分子

24、平行排列,上、下扭曲90º,在无外部电压状态下,外部入射光通过上偏振片后形成偏振光,该偏振光通过平行排列的液晶材料后备旋转90º,再通过与上偏振片垂直的下偏振片,被反射板反射回来,呈透明状态;当上、下电极加上一定的电压后,电极部分的液晶分子转成垂直排列,失去旋光性,从上偏振片入射的偏振光不被旋转,光无法通过下偏振片返回,因而呈黑色。根据需要将电极做成各种文字、数字、图形,就可以获得各种状态显示。显示内容由引脚端和公共端共同决定,在应用时,只要给相应引脚端写入信号,即可显示,LCD 内部自带刷新电路,不必重复写入。本文的空调遥控器设计中采用的是由厂家定制的一款LCD ,LCD

25、 的 图3-9 LCD面板图 Fig.3-9 Surface diagram of LCD表3-2对LCD 的引脚定义进行了说明。设计中把SH6614设定为8个公共端,30个LCD 引脚输出。如表中所示,SEG1和COM1-COM4共同定义了“模式”笔画, 在程序中将其定义为SEG11L ;SEG2和COM1-COM4共同定义了“风速”笔画,在程序中将起定义为SEG12L ;其它可以以此类推。数码显示-用作温度和定时时间的显示,分别由SEG3-SEG12与COM1-COM8来定义。表3-2 LCD引脚定义 Table 3-2 Define of LCDs pins 独立按键结构每个键单独占用一

26、根I/O口线,每根I/O口线上的安键工作状态不会影响其他I/O口线上的状态。矩阵键盘结构按键排列为行列式矩阵结构,也称行列式键盘结构。如4行4列共16个键,只占用8根I/O口线,故键数目较多时可节省I/O口线,但这种结构的软件较繁。本文的空调遥控器设计就是采用3×4矩阵式键盘。2. 键盘工作方式在无按键操作时,通常CPU 在执行其他任务,只在有按键操作时才根据闭合键执行相应的键处理任务。键盘的工作方式可分为编程控制方式和中断控制方式。CPU 在一个工作周期内,利用完成其他任务的空余时间,调用键盘扫描子程序。经程序查询,若无键操作,则返回;若有键操作,则进而判断是哪个键,并执行相应的键

27、处理程序。这种方式为编程扫描方式。有时在正常工作中,并不会经常进行键操作,因而编程控制方式使CPU 经常处于空查询状态。在CPU 工作任务十分繁重的情况下,为提高CPU 的效率,可采用中断控制方式。只要有按键按下,便向CPU 相应中断后,在中断服务程序中进行键盘扫描、查键值与键处理等工作。3. 设计要点非编码键盘系统基本任务如下: 监测有无键按下; 判断是哪个键按下; 完成键处理任务。为快速可靠的实现按处理任务,还应从电路或软件角度妥善解决如下问题。 消除键抖动影响键触点的闭合或断开瞬间,由于机械触点的弹性作用,会产生短暂的抖动现象,其抖动时间长短与其机械特性有关,一般约为5-10ms ,抖动

28、过程引起电平信号的波动,有可能令CPU 误解为多次按键操作,而引起误处理。消除键抖动影响的颖键方法是每个键增加一个R-S 触发器,这种方法只适用于键数目较少的情况。若键数目较多,通常采用软件延时的方法:当监测到有键按下时,调用一个延时(一般5-20)子程序,然后在此监测到该键电平仍为闭合状态,才确认该键已按下,并进行相应处理工作。这种消除键抖动影响的软件措施是切实可行的。 采取串键保护措施 温度-、定时开、定时关、小时、分钟,按下按键则进入相应操作,具体含义和操作步骤可以参看空调遥控器按键功能设计,K11和K12在系统中没有定义,可以在以后修改设计增加功能时使用,在制作线路板时做出但不必做按键

29、。1 ON键在关机状态下,按一下此键,发射指示点亮,LCD 有显示,遥控器进入开机状态,同时把当前设定的运行模式、温度值、风速、定时等信息按编码规范的要求,发射信息。2 OFF键在开机状态下,按一下此键,发射指示点亮一次,LCD 熄灭,同时发射关机信息。若已设定了定时开机、定时关机,遥控器进入关机状态之前,先取消以上两种设定状态,然后发射关机信息。3 MODE键在开机状态下,每按一次此键,液晶屏的模式区显示相应的模式,发射指示点亮一次,同时把当前设定的运行模式、温度值、风速、定时等信息以红外编码方式发射出去。运行模式按如下顺序循环切换:自动、制冷、抽湿、制热 4 “+”/“-”键4.1在开机状

30、态下,每按一次调整“+”键,设定温度递增一度,并发射相应的红外信息。当温度增至32ºC ,即使继续按此键,设定温度亦不再增加,但有信号发射。4.2在开机状态下,每按一次调整“-”键,设定温度递减一度,并发射相应的红外信息。当温度增至17ºC ,即使继续按此键,设定温度亦不再减少,但有信号发射。 5 定时开、定时关键 还针对空调遥控器通常为干电池供电的特点,在硬件电路中采用了双时钟,既满足了发码时的要求,又满足了无编码发射时的低功耗设计,同时为软件的低功耗设计奠定了基础。4空调遥控器软件设计本章给出了软件设计的总流程图和各主要功能模块的流程图,并进行了详细的说明,对主要部分还

31、给出了源程序,并对SH6614单片机软件开发进行了必要说明。4.1 软件功能模块设计初始化系统寄存器:这是上电之后进入的第一个程序模块,同时也是RESET 进入的程序模块。在这个程序模块中,系统首先对系统寄存器进行了初始设置,包括:开中断,中断服务寄存器清零,TM0和BTM 初始设置,定义PORTA 为输入口、PORTB 为输出口,定义PA1为38K 载波红外发射口并对PSG 进行红外发射初始化。 主要源程序代码: LDI IE,00H LDI IRQ,00HLDI TM0,00H LDI T0L,00H LDI T0H,00HLDI BTM,00HLDI SPA,02H;设置PORTA 为输

32、入,PA1为输出 ;初始化BASE TIMER寄存器;初始化TIMER0寄存器;关中断;清中断服务寄存器图4-1 系统初始化程序框图 Fig.4-1 Block diagram of systeminitialization programLDI SPB,0FH;设置PORTB 为输出LDI OSCX,00H ;设置OSC 为系统时钟LDI SETLCD,02H LDI SEGOUT,0CHLDI SETPORTS,0BH ;设置PA1为红外输出端 LDI PSG1L,0EH LDI PSG1H,07H LDI PSG21A,00H LDI PSG22,00H LDI PSG23,00H LD

33、I PSG24,00H LDI PSGCTR1,0CH LDI PSGCTR2,09H初始化用户寄存器:大部分用户寄存器初始值为00H ,但也有少部分寄存器要设置初始值。例如模式和风速寄存器初始值设位自动,温度显示寄存器设为24ºC 等,主要源程序代码如下: LDI MODE,08H LDI WIND,08H LDI DATA_1,02H LDI DATA_2,04HLCD 初始化程序包括清LCD 和满屏显示2s 程序。这里之所以把两个模块放在一起,是因为尽管在总的看来这是两个模块,但实际上这两个模块公用了大段程序,只是从不同的入口进入,而从相同的出口返回。主要源程序如下: ;关闭L

34、CD,LCD 时钟为OSC/64 ;设置LCD 为SEGMENT 输出;设置PSG 为红外发生器,38K 载波;设置初始模式为自动 ;设置初始风速为自动;设置初始温度为24ºC ,高位为02H ;低位为04HCLOSE_ALL-LCD:LDI TEMPT,00H ;关闭所有LCD 笔画 JMP SETLCDLDI TEMPT,0FH ;显示所有LCD 笔画LDI SETLCD,00H ;打开LCDLDA TEMPT STA SEG1L,06H STA SEG2L,06H STA SEG3L,06H STA SEG4L,06H STA SEG5L,06H STA SEG6L,06H S

35、TA SEG7L,06H STA SEG8L,06H STA SEG9L,06H STA SEG10L,06H STA SEG11L,06H STA SEG12L,06H STA SEG1H,06H延时子程序采用的是软件延时,并在入口处设置延长时间,每次只要设置PARM, 就可以延长不同倍数的子程序时间,主要代码如下: DELAY: SBIMBC $+2 RTNI;回到主程序LDI CT2,0AH LDI CT1,0FH LDI CT0,0FH SBIM SBIMCT0,01H CT1,01HBC $-1PARM,01H ;判断PARM 值是否大于0STA SEG2H,06H STA SEG3

36、H,06H STA SEG4H,06H STA SEG5H,06H STA SEG6H,06H STA SEG7H,06H STA SEG8H,06H STA SEG9H,06H STA SEG10H,06H STA SEG11H,06H STA SEG12H,06H RTNDISPLAY_ALL_LCD: SETLCD:BC $-4 SBIMCT2,01HBC $-7 JMP DELAY在这个程序中,PB0-PB3送出扫描码,PA0,PA2,PA3负责接收,可以从扫描码及接收码来判断哪一个键被按下,并将其值存储,然后转向键盘处理程序。键盘扫描程序如图4-3。 KEYSCAN:LDI PORT

37、A,0FH;置位PORTA 高位LDI PROTB,0FHLDI S_CODE,01HSCAN: LDA S_CODE,00HSTA PORTB_B,00H EORIM PORTB_B,0FH STA PORTB,00H LDAPORTA,00HSTA KEY1,00HSBI KEY1,0FH BAZ NT_CODELDI PARM,3CALLDELAYLDA PORTA,00H STA KEY2,00H SBI KEY2,0FH BAZ NT_CODELDA KEY1,00H SUB KEY2,00H BAZ PAB1NT_CODE:LDA S_CODE,00H ADDM S_CODE,00

38、HBAZ R_SAN32 JMP SCANPAB1: LDI B_TBR,0FH LDI B_AC,00H PAB2: LDA B_TBR,00HSTA TBR,00HLDA B_AC,00HCALL0700H;置位PORTB 高位;置扫描码(第一个扫描码);扫描码异或0FH ;将扫描码输出到PORTB ;从PORTA 读键值 ;判断是否有键按下;无键按下则跳转 ;去抖动处理;再次读PORTA 键值 ;判断是否有键按下 ;无键按下则跳转 ;检查是否两键相同? ;有效按键则跳转到PAB1 ;扫描码左移一位;如果扫描码为0,则结束程序;再次扫描;设置TJMP 高位地址 ;得到TJMP 低位地址;取

39、得表格数据SUB KEY2,00H;检查表格数据是否相同BAZ PAB3 JMP ADDAC1PAB3: LDA TBR,00HSUB PORTB_B,00H BAZ PAB4 JMP ADDAC1;判断是否扫描码为此键PAB4: LDA B_AC,00STA KEY_NUM,00H LDI KEY_F,01H JMP R_SAN31ADIM;保存键值ADDAC1: B_AC,01H ;B_AC+1JMP PAB2 LDI KEY_NUM,00H LDI KEY_F,00H RTNI;清除键值寄存器 ;清除键值缓冲器R_SAN32:R_SAN31:低频转换到高频,在程序中应该先将高频打开,经过

40、短暂时间后再切换,否则可能单片机不能得到马上相应而出错,高频转换到低频由相同原则。 LOW_HIGH:调用键盘扫描程序后,如果没有有效按键,则启动定时器进行5s 内是否有LDI CALL RTNIOSCX,01H DELAY;切换到高频;打开高频LDI PARM,01H LDI OSCX,03H按键按下的判断。如果在定时中断之前有键按下,则重新进行键盘扫描;如果没有键按下,则进入HALT 模式,使系统进入省电模式,当有按键按下则系统退出HALT 模式重新进行键盘扫描。 DELAY_5S: LDI IE,05H LDI IEQ,00H LDI TM0,00H LDI T0L,0EH LDI T0

41、H,0CH NOP NOP HALT INTB: RTNILDIIE,00HLDI IEQ,00HJMP CALL_KEYSCAN4.2 软件主流设计 5系统仿真与软件调试本章简单介绍了空调遥控器设计的最后一步系统仿真与软件调试,简述了仿真器USB RICE66的使用并介绍了软件调试过程和方法。5.1 系统仿真USB RICE66是一款单片机硬件实时仿真器,支持windows 98/ 2000和windows XP操作系统。能实时、清晰地实现对SH6610系列的四位元单片机的仿真。仿真器集成的烧写器能烧写中颖公司全系列OTP 产品。仿真器的硬件电路及软件程序支持在线更新功能。功能特性: 

42、83; 实时在线仿真· 支持基于SH6610系列的单片机产品 · 内嵌汇编编译器 · 支持在线升级功能· 适用于windows 98/2000及windows XP · 源代码级调试 · USB 通讯接口 · 附带OTP 烧写器仿真器有两种使用模式STAND_ALONE和ICE MODE 。前者仿真器SH6614EVB 可单独供电,但需要外接EPROM ;后者SH6614EVB 通过SH66xxICE 与PC 机相连,通过USB 线供电,无需接EPROM 。两种接法如图5-1和5-2。 图5-1 STAND_ALONE模式F

43、ig.5-1 STAND_ALONG Mode 图5-2 ICE MODE模式Fig.5-2 ICE Mode5.2 软件调试软件编程完成之后要进行调试。将系统硬件如图5-2接好,对程序进行COMPILE&DOWNLOAD之后,仿真软件自动给出错误和警告列表,供用户查找错误进行修改。将程序修改之后可以运行程序,并可以显示内存和寄存器的使用情况,软件调试节面如图5-3所示。 图5-3 软件调试界面Fig.5-3 Program debugging surface结束语参考文献1何立民:MCS-51单片机应用系统设计,北京航空航天大学出版社 2赵新民,王祁:智能仪器设计基础,哈尔滨工业大学

44、出版社 3童诗白,华成英:模拟电子技术基础,高等教育出版社 4老虎工作室:电路设计与制版Protel99入门与提高 5中颖电子股份有限公司:SH66xx Assembler User's Guide V1.02 SH66 Series programming Notice SH66 series instruction Guide SH66xxProgrammingGuide SH6614V2.2附录软件源程序;* ;* Qingdao University of Science&Technology * ;* File Name: bylw.asm*;* Descriptio

45、n:remote controller of Air Conditioning * ;* Version: V1.0 * ;* Author: sboyer * ;* MCU: SH6614 * ;* LCD: ;* CLOCK:SEG1-SEG12 32.768KHz,455KHz* *;*;* ; SYSTEM REGISTER DEFINE;* LIST P=6614 ROMSIZE=4096 IE IRQ TM0 BTM TL0EQU EQU EQU EQU EQU00H 01H 02H 03H 04H 05H 08H;interupt enable flags ;interupt r

46、equest flags;Timer0 Mode register ;Base Timer Mode register;Timer0 load/counter register low digit;Timer0 load/counter register high digit ;PortATH0 EQU PORTA EQU PORTB EQU SPA EQU SPB TBR INX DPL DPMEQU EQU EQU EQU EQU09H 0BH;PortB;Set PORTA to be output or;input port,1=output,0=input0CH ;Set PORTB

47、 to be output or 0EH 0FH 10H 11H; input port,1=output,0=input ;Table Branch Register;Index register;Data pointer for INX low nibble ;Data pointer for INX middle nibble ;Data pointer for INX high nibble;Bit0:Heavy load mode,Bit1,2:PA.1&PA.2 ;as PSG output or I/O PORT,Bit3:Port pull ;high enable c

48、ontrol;Bit0:Turn on OSCX oscillator,Bit1:CPU clocks ;select(1:OSCX/0:OSC,Bit3:OSCX ;type selectionDPH EQU 12H SETPORTS EQU 13HOSCX EQU 14HSETLCD EQU 15H;Bit0:Select LCD DUTY,Bit1:LCD off, ;Bit2,3:LCD frequency controlSEGOUT EQU16HPSG1L EQU 17H PSG1H EQU 18H PSG21A EQU 19H PSG22 EQU 1AH PSG23 EQU 1BH

49、 PSG24EQU 1CHPSGCTR1 EQU 1DH PSGCTR2 EQU 1EH;* ;LCD REGISTER DEFINE;* SEG1L EQU 00H SEG2L EQU 01H SEG3L EQU 02H SEG4L EQU 03H SEG5L EQU 04H SEG6L EQU 05H SEG7L EQU 06H SEG8L EQU 07H SEG9L EQU 08H SEG10L EQU 09H SEG11L EQU 0AH SEG12L EQU 0BH SEG1H EQU 28H SEG2H EQU 29H SEG3H EQU 2AH SEG4H EQU 2BH SEG

50、5H EQU 2CH SEG6H EQU 2DH SEG7H EQU 2EH SEG8H EQU 2FH SEG9H EQU 30H SEG10H EQU 31H SEG11H EQU 32H SEG12H EQU 33H;* ;USER REGISTER DEFINE;Bit2:Set LCD segment as output,Bit3:LCD ;power degrade ;PSG channel1 low nibble;PSG channel1 high nibble,Bit3: ;channel1 octave shift control;PSG channel2 nibble1 o

51、r alarm output ;PSG channel2 nibble2;PSG channel2 nibble3;PSG channel2 nibble4,Bit3:channel2 ;octave shift control;Bit0,Bit1:channel1,2 enable, ;Bit2,Bit3:volume control;Bit0,1:PSG1,PSG2 mode control, ;Bit2,3:PSG1,PSG2 clock source selection;* TEMPT EQU 20H ;variable register CT0 CT1 CT2 PARM KEY1EQ

52、U EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU21H ;variable 0 register 22H ;variable 1 register 23H ;variable 2 register 24H ;parmeter register 25H ;key variable register 26H ;key flag register 27H ;key number register 28H ;scan code register 29H ;ac buffer register 2AH ; tbr buffer register

53、2BH ;portb buffer register2CH ;key variable register2DH ; key register for display and deal with 2EH ;mode information register 2FH ;available when open30H ;wind information register31H ;open and close time register32H ;data used for temperature high nibble 33H ;data used for temperature low nibble

54、34H ;data used for set time to open hour high nibble 35H ;data used for set time to open hour low nibble 36H ;data used for set time to open minute high nibble 37H ;data used for set time to open minute low nibble 38H ;data used for set time to open hour high nibble 39H ;data used for set time to open hour low nibble 3AH ; data used for set time to open minute high nibble 3BH ;data used for set time to open minute low nibble 3CH ;set time open register 3DH ; set time close register 3EH ;open or close register 3FH ;code register 40H ; 41H 42H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论