- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实验开发板试程序详解
单片机实验开发板测试程序详解
?
????测试程序对于初学者来说可能比较复杂,但是也是由网站上几个小程序组合而成的,初学者可以通过后面教程的学习来掌握这段程序。
????这个测试程序的功能是:接通电源后P0口的八个发光二极管依次从下往上点亮,然后蜂鸣器鸣叫一声,两个继电器轮流动作一次,数码管的个位显示8,再换成十位显示8,然后不断循环,如果这时按下红外遥控器的按键时,蜂鸣器立即发出“滴滴滴”的提示音,同时将这个按键的键值通过串口在电脑屏幕上显示出来(需要运行串口调试软件)通过这个程序可以判断单片机实验开发板的各个部分的硬件和软件都是完好的,具体的源程序如下:
ORG 0000H AJMP MAIN;转入主程序ORG 0003H;外部中断P3.2脚INT0入口地址 AJMP INT;转入外部中断服务子程序(红外遥控解码程序);以下为主程序进行CPU中断方式设置MAIN:LCALL YS3;等待硬件上电稳定SETB EA;打开CPU总中断请求SETB IT0;设定INT0的触发方式为脉冲负边沿触发SETB EX0;打开INT0中断请求MOV SCON,#50H;设置成串口1方式MOV TMOD,#20H;波特率发生器T1工作在模式2上MOV PCON,#80H;波特率翻倍为2400x2=4800BPSMOV TH1,#0F3H;预置初值(按照波特率2400BPS预置初值)MOV TL1,#0F3H;预置初值(按照波特率2400BPS预置初值)SETB TR1;启动定时器T1;以上完成串口通讯初始化设置
START:MOV P1, LCALL DELAY MOV P1, LCALL DELAY MOV P1, LCALL DELAY MOV P1, LCALL DELAY MOV P1, LCALL DELAY MOV P1, LCALL DELAY MOV P1, LCALL DELAY MOV P1,;P1口的LED循环由下往上点亮一次,延时约250毫秒 LCALL DELAY MOV P2,;蜂鸣器鸣响一声LCALL DELAY MOV P2,;继电器J1吸合一次LCALL DELAY MOV P2,;继电器J2吸合一次LCALL DELAY MOV P0,#0FFHMOV P2,;数码管个位显示8LCALL DELAY MOV P0,#0FFHMOV P2,;数码管十位显示8LCALL DELAYAJMP START;反复循环
;以下为进入P3.2脚外部中断子程序,也就是解码程序INT: CLR EA;暂时关闭CPU的所有中断请求MOV R6,#10SB: ACALL YS1;调用882微秒延时子程序JB P3.2,EXIT;延时882微秒后判断P3.2脚是否出现高电平如果有就退出解码程序DJNZ R6, SB;重复10次,目的是检测在8820微秒内如果出现高电平就退出解码程序 ;以上完成对遥控信号的9000微秒的初始低电平信号的识别。JNB P3.2, $;等待高电平避开9毫秒低电平引导脉冲ACALL YS2;延时4.74毫秒避开4.5毫秒的结果码MOV R7,#26;忽略前26位系统识别码
JJJJA:JNB P3.2,$;等待地址码第一位的高电平信号LCALL YS1;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态MOV C,P3.2;将P3.2引脚此时的电平状态0或1存入C中JNC UUUA;如果为0就跳转到UUUALCALL YS3;检测到高电平1的话延时1毫秒等待脉冲高电平结束UUUA: DJNZ R7,JJJJA
MOV R1,#1AH ;设定1AH为起始RAM区MOV R2,#2;接收从1AH到1BH的2个内存,用于存放操作码和操作反码 PP: MOV R3,#8;每组数据为8位
JJJJ: JNB P3.2,$;等待地址码第一位的高电平信号LCALL YS1;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态MOV C,P3.2;将P3.2引脚此时的电平状态0或1存入C中JNC UUU;如果为0就跳转到UUULCALL YS3;检测到高电平1的话延时1毫秒等待脉冲高电平结束UUU: MOV A,@R1;将R1中地址的给ARRC A;将C中的值0或1移入A中的最低位MOV @R1,A;将A中的
您可能关注的文档
最近下载
- 2025-2026年国家公务员考试《申论》真题及参考答案.doc VIP
- 川教版(2019)初中信息科技Python编程复习单.docx VIP
- DTII(A)带式输送机计算书(带表1-4)Ver1.2(95版)(2012.12.18).xls VIP
- 医疗器械经营财务管理培训.pptx VIP
- 麻醉前肺功能评估.ppt VIP
- 新课标体育与健康水平二教案.pdf VIP
- 贵州教育出版社小学五年级上册综合实践教案.pdf VIP
- 博物馆学概论课件:博物馆藏品管理历史、藏品意义与藏品研究.pptx VIP
- 2025高中政治部编版选择性必修二《法律与生活》必背法律条文.pdf VIP
- SEO培训课件教学课件.pptx VIP
文档评论(0)