- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机原理及实用技术第9章
按照图9.9硬件图,T0=76℃,K=0.1022,根据以上公式和参数,测出热敏电阻两端的电压就可以求出被测温度。 图9.9 硬件连接图 3. 温度计算 系统扩展了一个按键接于IOA15,当按键按下时,进行A/D 转换初始化并进行4 次A/D转换,SPCE061A的A/D转换结果在高10位,每次将其移入低10位再计算4次平均值作为A/D有效结果返回。为了提高准确度,变量TempAD和Temper都采用浮点数,计算完成后用语音将温度值播报。由于在放音时播放函数会改变一些参数,为了稳定起见,在每次A/D转换前都做一次初始化。由于每个热敏电阻的特性不一致,与热敏电阻串联的电阻R不准确等原因,因此每台温度计在整个测量范围内应至少找5点进行校正,并适当地修改参数,以达到最佳状态。 A/D转换程序如下: .PUBLIC _ReadAD _ReadAD: .proc r2=4; //共进行4次转换 R3=0; TestLoop:R1=[P_ADC_MUX_Data] //进行一次A/D转换 R1=0x8000; TempConverLoop: TEST R1,[P_ADC_MUX_Ctrl] JZ TempConverLoop //转换完成否 R1=[P_ADC_MUX_Data] //取A/D转换值 R1=R1 LSR 4 //A/D值移到低10 位 R1=R1 LSR 2 R3+=R1 //4次A/D值累加 r2-=1 JNZ TestLoop R3=R3 LSR 2 //结果除以4,求4次A/D 值的平均值 R1=R3 //A/D返回值在R1中 RETF .ENDP 温度计算及语音播报部分程序: if(Key==0x8000) { InitAD(); TempAD=ReadAD(); //进行一次A/D转换 Temper=76-0.1022*TempAD; //温度计算 if(Temper-20 | Temper80) Temper=0XFFFF; //温度超出范围 PlayVoice(Temper); //播报语音 } 9.2.3 红外遥控器 1. 工作原理 1) 遥控指令编码 遥控器发送的功能指令码一般采用多位二进制串行码。下面以29T6B-X型彩色电视接收机的红外遥控器为例说明其原理。 一帧数据结构为:同步脉冲、系统码、命令码、命令反码和结束位。同步脉冲作为一帧命令的起始位起到帧同步作用,系统码用于区别不同类别的电器,命令码用于完成命令功能。29T6B-X型彩色电视的系统码为0x08,命令码如表9.1所示。命令反码是将命令码按位取反,每次发送都是先发送脉宽为4510 μs、周期为2×4510 μs的同步脉冲,然后连续发送两次系统码,接着发送命令码及命令反码,最后发送结束位,波形如图9.10所示。 表9.1 遥控器命令码表 图9.10 遥控指令编码图 2) 数据的脉冲编码 红外通信数据采用脉冲编码,即将每位数据信号用一个脉冲来表示。本例程序的红外编码采用频率调制(FSK)方式,以脉宽561 μs为周期,4×561 μs代表1,2×561 μs代表0。载波频率为38 kHz,占空比为1/3,如图9.11所示。这样做有两点好处:第一减少了有效发射时间,降低了平均功耗,对于采用干电池供电的发射器十分重要;第二提高了抗干扰能力。 图9.11 信号0和1的脉冲 2. 硬件电路 系统由键盘电路、红外发射电路和CPU组成。利用SPCE061A 的IOA口扩展了4×8键盘矩阵,发射电路中三极管V1选用9013,对信号放大,R4为270 Ω电阻,R5为10 Ω电阻,C5为22 μF,VD1为红外发射管,电路如图9.12所示。各个按键功能如表9.2所示。 图9.12 硬件连接图 表9.2 按键功能表 3. 程序设计 SPCE061A 的IOA0~IOA7设置为在输入时具有按键唤醒功能。本例程序中将其设置为带下拉电阻的输入端口,IOA8~IOA11设置为带数据缓存器的输出端口,键盘扫描程序比较简单,此处不作详细介绍。串行码的发送利用了SPCE061A的TimerA 和TimerB 两个定时器,IOB8 编程为第二功能时,由定时器TimerA 控制输出占空比可调的脉宽调制信号APWMO,产生38 kHz载波信号。将APWMO信号频率设置为38 kHz,串行码为1时,打开APWMO输出;为0时,关闭APWMO输出,输出低电平。用TimerB控制脉冲宽度,发射流程如图9.13(a)所示,同步脉冲、0信号和1信号的发射流程如图9.13(b)所示。 图9.13 程序流程图
您可能关注的文档
最近下载
- 苏教版小学英语3a-5a单词表(2015).doc VIP
- 贵州钢绳(集团)有限责任公司招聘笔试真题2021.docx VIP
- 2025年职业卫生评价考试真题二十 .pdf VIP
- 2025年贵州钢绳集团有限责任公司控股人员招聘笔试备考试题及答案解析.docx VIP
- 全血和各种血液成分的临床应用.ppt VIP
- 软件系统安全保障方案.docx VIP
- 2025年云南省中考地理试卷(含解析).pdf
- 四川省拟任县处级试题 四川省拟任县处级党政领导干部任职资格考试题.doc VIP
- CECS 349-2013 一体化给水处理装置应用技术规程.docx
- 茶皂素杀螺活性及对3种水生生物的安全性.docx
文档评论(0)