欢迎来到天天文库
浏览记录
ID:48806302
大小:205.00 KB
页数:20页
时间:2020-01-27
《串行通信及AD转换实验.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、串行通信及AD转换实验实验目的实验器材硬件接线VB界面软件功能程序清单备注说明<<<1实验目的:A/D转换,单片机异步串行通信2实验器材:1.SD-1型在线编程实验仪2.导线若干3硬件接线:VCCPTC3PTA7PTA6PTA5PTA4PTA3PTA2PTA1PTA0PTC0PTC1PTC2MOTOROLAGP32MCUPTC4PTB7PTB6PTB5PTB4PTB3PTB2PTB1PTB0VCC4VB界面:5软件功能:由PORTB口的模拟量输入,通过单片机的A/D转换器采集8路数据,并放在ADBUF开始的地址中。再在INBUF中放开关量。发86给PC机作为
2、握手信号,进行通信测试,PC机判断后确认,发86作为确认信号,单片机收到86后,把模拟量0-7和开关量送PC机显示。6程序清单:文件说明口地址定义SCI寄存器A/D寄存器数据区定义主程序A/D转换串行通信输出串行通信输入从PC机接收数据,并存储后送PTA输出把在INBUF和ADBUFF的数据送PC机输出中断矢量7*---------文件说明-------------------------------------------**文件名:sci.as*硬件连接:PORTA口输出它的PTA7-0接OUT的7-0号*指示灯(A0作为运行指示不受其它数据控制)POR
3、TB作为AD输入连接,*PORTB口为模拟量输入口,PORTC的C0-4接IN的5个拨位开关0-4作为开关*输入串行口与微机串行口相接(9600,N,8,1)*程序描述:1.由PORTB口的模拟量输入,通过单片机的A/D转换器采集8*路数据,并放在ADBUF开始的地址中*2.再在INBUF中放开关量*3.发86给PC机作为握手信号,进行通信测试,PC机判断后确*认,发86作为确认信号,单片机收到86后,把模拟量0-7和*开关量送PC机显示*目的:A/D转换,单片机异步串行通信*-----------------------------------------
4、-------------------*8*----口地址定义----------------------------PTAEQU$0000;A口数据寄存器PTBEQU$0001;B口数据寄存器PTCEQU$0002;C口数据寄存器PTDEQU$0003;D口数据寄存器DDRAEQU$0004;A口数据方向寄存器DDRBEQU$0005;B口数据方向寄存器DDRCEQU$0006;C口数据方向寄存器DDRDEQU$0007;D口数据方向寄存器DDREEQU$0008;E口数据寄存器9*----SCI寄存器---------------------------
5、--SCS1EQU$0016;SCI状态寄存器1B-SCTEEQU7;发送缓冲区空标志位B-TCEQU6;发送完成标志位B-SCRFEQU5;接收器满标志位SCDREQU$0018;SCI数据寄存器*---A/D寄存器-----------------------------ADSCREQU$003C;A/D转换状态和控制寄存器B-COCOEQU7;转换完成标志位ADREQU$003D;A/D转换数据寄存器ADCLKEQU$003E;A/D转换输入时钟寄存器RAMstartAddrequ$0040;RAM的起始地址(因芯片不同可以更改)FlashStartA
6、ddrequ$8000;程序开始地址(因芯片不同可以更改)10*----数据区定义(变量定义)-----------------ORGRAMstartAddr;RAM的起始地址INBUFRMB1;1字节存放5位开关量ADBUFRMB8;8字节存放8路A/D转换结果ONOFFRMB1;1字节存放从PC的数据TMPVARRMB1;暂存使用11*----主程序---------------------------------ORGFlashStartAddr;程序起始地址MainInit::NOPLDA#$3E;A/D初始化2分频、使用内部总线时钟STAADCLK
7、LDA#$FF;定义PORTA输出STADDRALDA#$00STAPTASTAONOFF;ONOFF=0LDA#$00;定义PORTB,PORTC作为输入STADDRBSTADDRC12*-------A/D转换------------------------------Main:NOP;循环获得8路AD值LDHX#$0;H:X=0GA-REPEAT:TXA;X寄存器送到累加器STAADSCR;选定一路A/D,启动转换BRCLR7,ADSCR,*;等待A/D转换完成LDAADR;A/D转换结果给ASTAADBUF,X;A给{ADBUF+X},储存数据AIX
8、#1;下一存储单元CPX#$08;判断8路转换是否完
此文档下载收益归作者所有