当前位置:首页 > 单片机 > 单片机
[导读] LPC900系列单片机UART和CCU模块实现红外通信程序$INCLUDE(REG932.INC);变量定义BEEPBITP2.7KEY1BITP0.1FEBITSCON.7PLEENBITTCR20.7RCV_BUFDATA30H;接收缓冲区首地址(30H~3FH)BRGR1_DATADATA09H;波特率

LPC900系列单片机UART和CCU模块实现红外通信程序

$INCLUDE(REG932.INC)

;变量定义
BEEPBITP2.7
KEY1BITP0.1

FEBITSCON.7
PLEENBITTCR20.7
RCV_BUFDATA30H;接收缓冲区首地址(30H~3FH)
BRGR1_DATADATA09H;波特率设为2400bit/s
BRGR0_DATADATA0B4H

ORG0000H
AJMPMAIN

;主程序开始
ORG0100H
MAIN:
MOVSP,#60H
MOVP0M1,#00H;P0,P1口设置为准双向
MOVP0M2,#00H
MOVP1M1,#00H
MOVP1M2,#00H
MOVP2M1,#0C0H;P2.6,P2.7设置为开漏
MOVP2M2,#0C0H
ACALLCCU_INIT;CCU模块初始化,用以产生38KHz调制信号
ACALLUART_INIT
MAIN_L1:
JBKEY1,$
ACALLSEND_DATA;发送16字节数据
MOVR7,#01H
ACALLDELAY
ACALLRCV_DATA;接收16字节数据
ACALLCOMPARE;比较接收到的数据和发送的数据
JZMAIN_L2
CLRBEEP;如果正确则蜂鸣器短响一声
MOVR7,#01H
ACALLDELAY
SETBBEEP
AJMPMAIN_L1
MAIN_L2:
CLRBEEP;如果错误则蜂鸣器长响一声
MOVR7,#05H
ACALLDELAY
SETBBEEP
AJMPMAIN_L1

;********************************************
;名称:SEND_DATA
;功能:通过UART连续发送16字节数据(0~15)
;入口参数:无
;出口参数:无
;注意:此程序采用查询方式发送。
;********************************************
SEND_DATA:
MOVR7,#10H
CLRTI
CLRA
SEND_DL1:
MOVSBUF,A
JNBTI,$;等待一字节发送完毕
CLRTI
INCA
DJNZR7,SEND_DL1
RET

;********************************************************************
;名称:RCV_DATA
;功能:通过UART连续接收16字节数据
;入口参数:RCV_BUF--用于接收数据的缓冲区首地址
;出口参数:接收到的16字节数据位于接收缓冲区
;注意:此程序采用查询方式进行接收。由于采取半双工通信,所以接收
;数据之前要打开接收允许,接收完毕之后要关闭接收允许。
;********************************************************************
RCV_DATA:
MOVR7,#10H
MOVR0,#RCV_BUF
SETBREN;串行接收允许
CLRFE
CLRRI
RCV_DL1:
JNBRI,$;等待接收一字节
CLRRI
MOVA,SBUF
MOV@R0,A
INCR0
DJNZR7,RCV_DL1
CLRREN;串行接收禁止
RET

;*********************************************
;名称:COMPARE
;功能:比较缓冲区中的内容是否为0~15
;入口参数:RCV_BUF--需要比较的缓冲区首地址
;出口参数:ACC--比较正确则返回1,否则返回0。
;*********************************************
COMPARE:
MOVR7,#10H
MOVR0,#RCV_BUF
MOVR1,#00H
CLRA
COMP_L1:
MOVA,@R0
CJNEA,01H,COMP_RTN;ACC与R1(01H)比较
INCR0
INCR1
DJNZR7,COMP_L1
MOVA,#01H;比较结果正确,返回01H
RET
COMP_RTN:
CLRA;比较结果错误,返回00H
RET

;**********************************************************************
;名称:CCU_INIT
;功能:CCU模块初始化,使OCA(P2.7)输出38KHz,50%占空比的PWM波,
;作为红外线的载波
;使用6MHz晶振时,CCU频率=((6000000/2)/6)*32=16MHz
;定时器重装值=CCU频率/红外线载频=16000000/38000=421=01A5H
;**********************************************************************
CCU_INIT:
MOVTOR2H,#01H;定时器重装值
MOVTOR2L,#0A5H
MOVOCRAH,#00H;(OCRAH:OCRAL)=(TOR2H:TOR2L)/2,PWM的占空比为50%
MOVOCRAL,#0D2H
MOVTCR21,#85H;PLL预分频为5+1
MOVCCCRA,#01H;非反相的PWM
MOVTCR20,#00H
SETBPLEEN
NOP
JNBPLEEN,$;等待锁相环(PLL)稳定
ORLTCR20,#03H;启动定时器,对称PWM模式
RET

;***************************************
;名称:UART_INIT
;功能:UART初始化,波特率2400bit/s
;***************************************
UART_INIT:
MOVPCON,#00H
MOVSSTAT,#00H;双缓冲禁止,中断禁止,采用查询方式发送和接收
MOVSCON,#40H;串口模式1,接收禁止
ORLPCON,#40H;SMOD0=1,SCON的位7作为FE
MOVBRGCON,#00H
MOVBRGR1,#BRGR1_DATA
MOVBRGR0,#BRGR0_DATA
MOVBRGCON,#03H;启动UART的波特率发生器
RET

;*****************************************************
;名称:DELAY
;功能:延时(R7*0.1)秒(振荡器为6MHz)
;入口参数:R7--延时时间
;出口参数:无
;注意:如果入口参数R7等于0,则不延时而直接返回。
;*****************************************************
DELAY:
MOVA,R7
JZDELAY_RTN
DELAY_L1:
MOVR6,#0C8H;延时0.1S
DELAY_L2:
MOVR5,#0FAH
DELAY_L3:
NOP
NOP
NOP
NOP
DJNZR5,DELAY_L3
DJNZR6,DELAY_L2
DJNZR7,DELAY_L1
DELAY_RTN:
RET
END

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭