串行通信接口典型应用举例.doc_第1页
串行通信接口典型应用举例.doc_第2页
串行通信接口典型应用举例.doc_第3页
串行通信接口典型应用举例.doc_第4页
全文预览已结束

下载本文档

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

文档简介

串行通信接口典型应用举例SCI_FLAG .usect.data0,1;SCI标志寄存器TXD_PTR .usect.data0,8;发送的数据存放区RXD_PTR .usect.data0,8;接收到的数据存放区.include F2407REGS.H ;引用头部文件.def _c_int0;(1)建立中断向量表.sect.vectors;定义主向量段RSVECTB _c_int0;PM 0复位向量1INT1 B GISR1;PM 2中断优先级14INT2 B PHANTOM;PM 4中断优先级25INT3 B PHANTOM;PM 6中断优先级36INT4 B PHANTOM;PM 8中断优先级47INT5 B PHANTOM;PM A中断优先级58INT6 B PHANTOM;PM C中断优先级69RESERVED B PHANTOM;PM E (保留位)10SW_INT8 B PHANTOM;PM 10 用户定义软件中断 SW_INT31 B PHANTOM;PM 3E 用户定义软件中断;中断子向量入口定义pvecs.sect.pvecs;定义子向量段PVECTORSBPHANTOM;保留向量地址偏移量0000h BPHANTOM;保留向量地址偏移量0001h BPHANTOM;保留向量地址偏移量0005hBSCI_RX_ISR;保留向量地址偏移量0006h SCI接收中断BPHANTOM;保留向量地址偏移量0007h BPHANTOM;保留向量地址偏移量0041h;(2)主程序: .text_c_int0 SETC INTM CLRC SXM CLRC OVMCLRC CNFLDP #0E0HSPLK#81FEH,SCSR1;CLKIN=6 M,CLKOUT=24 M SPLK#0E8h,WDCR;关看门狗CALLSCI_INIT;调串口初始化程序LDP#5HSPLK#00H,SCI_FLAG;清发送软件标志位TXD_LOOP:LDP#5HBITSCI_FLAG,BIT0BCND TXD_DATA,TC;SCI_FLAG.0=1则发送数据BWAITTXD_DATA:;发送N个数据程序MAR*,AR0LARAR0,#TXD_PTRADRK#N+1;发送N个数据MAR*,AR4LACC*+;读数据CMPR00BCNDTXD_DATA_END,TC;判数据发送完?MAR*,AR2SACL*,AR4;数据送SCITXBUF寄存器XMIT_RDY:LDP#DP_PF1BITSCICTL2,BIT7BCNDXMIT_RDY,NTC;判发送器是否空?BTXD_DATATXD_DATA_END:MAR*, AR4LARAR4,#TXD_PTR;恢复发送的数据指针LDP #5HSPLK#00H,SCI_FLAG;清发送软件标志位WAIT:NOPBTXD_LOOP;(3)串行通信初始化程序:SCI_INIT:LDP #0E1HLACLMCRAOR#03HSACLMCRA;配置串行口引脚为特殊功能:TXD、RXDLDP #DP_PF1SPLK #000FH,SCICCR ;地址位唤醒模式,8位数据,;1位停止位,无奇偶校验SPLK #0007H,SCICTL1 ;接收、发送、内部时钟使能 ,SLEEP=1 SPLK #0002H,SCICTL2 ;接收中断使能 SPLK #0001H,SCIHBAUD SPLK #0038H,SCILBAUD ;波特率为9600 SPLK #0027H,SCICTL1 ;串口初始化完成 LARAR1,#SCIRXBUF;接收缓冲寄存器地址 LARAR2,#SCITXBUF;发送缓冲寄存器地址 LARAR3,#RXD_PTR;接收的数据指针LARAR4,#TXD_PTR;发送的数据指针LDP#0SPLK#0001h,IMR;允许INT1中断SPLK#0FFFFh,IFR;清所有中断标志CLRCINTM;开总中断RET;(4)中断程序GISR1:;优先级INT1中断人口;保护现场LDP#0E0HLACCPIVR,1;读取外设中断向量寄存器(PIVR),并左移一位ADD#PVECTORS;加上外设中断人口地址BACC;跳到相应的中断服务子程序SCI_RX_ISR:;接收中断服务程序LDP#DP_PF1MAR*,AR1BITSCICTL1,BIT2BCNDRXD_DATA,NTC;SLEEP=0,接收数据LACC*;读入地址SUB#0AAHBCNDTXD_FLAG,EQ;接收到的地址为AAH,则发送数据SUB#0001HBCNDSCI_RX_END,NEQ;地址错误,退出中断SPLK#0033H,SCICTL1;地址为ABH,则清SLEEP=0;表示准备接收数据BSCI_RX_ENDTXD_FLAG:;置发送标志LDP#5HSPLK#01H,SCI_FLAGBSCI_RX_ENDRXD_DATA:;接收N个数据LACC*,AR3;读入数据SACL*+,AR0;保存数据LARAR0,#RXD_PTRADRK#NMAR*,AR3CMPR00BCNDSCI_RX_END,NTC;判是否接收完LARAR3,#RX_PTR;恢复接收的数据指针SPLK#0037H,SCI

温馨提示

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

最新文档

评论

0/150

提交评论