精华内容
下载资源
问答
  • 利用单片机串行口,实现两个实验台之间的串行通讯。其中一个实验台作为发送方,另一侧为接收方。发送方读入按键值,并发送给接收方,接收方收到数据后在LED上显示。
  • 利用8031单片机串行口,实现与PC机通讯。 本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到实验机的数码管上。 二.实验目的 1.掌握串行口工作方式的...

    一.实验要求

    利用8031单片机串行口,实现与PC机通讯。

    本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到实验机的数码管上。

    二.实验目的

    1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制。

    2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议。

    3.了解PC机通讯的基本要求。

    三.实验电路及连线

    实验电路已在实验机监控电路上构成。

    CS8279接8700H。 模块中的十个短路套都套在8279侧。

    8279状态口地址为8701H;8279数据口地址为8700H;

    四.实验说明

    1.当用GR命令执行程序时,实验机内部会将8031串行口电路切换与PC机通讯,无须连线。

    2.程序执行前,进入LCA51,加载程序后,才进入调试菜单工具中的对话窗口,然后执行GR0,就可实行单片机串行口与PC机通信实验。

    五.实验程序框图

    .实验程序: 
    Z8279 EQU 8701H ;8279 状态/命令口地址
    D8279 EQU 8700H ;8279 数据口地址
    LEDMOD EQU 00H ;左边输入 八位字符显示
                   ;外部译码键扫描方式,双键互锁
    LEDFEQ EQU 2FH ;扫描速率
    LEDCLS EQU 0C1H ;清除显示 RAM
    LEDWR0 EQU 80H ;设定的将要写入的显示RAM地址
    READKB EQU 40H ;读 FIFO RAM 地址 0 的命令字
    
    ORG 0000H
    AJMP START
    ORG 0040H
    START:
    MOV SP,#60H
    LCALL INIT8279 ;初始化8279
    MOV SCON,#50H ;串口 方式 1
    MOV TMOD,#20H ;T1 方式 1
    MOV TL1,#0FDH ;波特率 9600 的常数
    MOV TH1,#0FDH
    SETB TR1 ;开中断
    SETB ET1
    SETB EA
    WAIT:
    JBC RI,DIS_REC ;是否接收到数据
    LCALL GETKEY ;读键盘
    CJNE A,#0FFH,WAIT ;是否有键输入
    MOV SBUF,B ;串口输出键盘输入的值
    NOP
    SS: JBC TI,WAIT ;是否发送完毕
    SJMP SS
    
    DIS_REC:
    MOV A,SBUF ;读串口接收到的数据
    CLR C
    SUBB A,#30H ;以下判定输入是否在0-F
    JC ERROR
    SUBB A,#0AH
    JNC DIS_REC1
    ADD A,#0AH
    SJMP DIS_REC2
    DIS_REC1:
    SUBB A,#7H
    JC ERROR
    SUBB A,#6H
    JNC ERROR
    ADD A,#10H
    DIS_REC2:
    MOV R4,#00H
    MOV R5,A
    LCALL DISLED ;显示输入的数字(0-F)
    ERROR: AJMP WAIT
    
    INIT8279: ;8279初始化子程序
    PUSH DPH ;保存现场
    PUSH DPL
    PUSH ACC
    LCALL DELAY ;延时
    MOV DPTR ,#Z8279
    MOV A,#LEDMOD ;8279工作方式
    MOVX @DPTR,A
    MOV A,#LEDFEQ ;置键盘扫描速率
    MOVX @DPTR,A
    MOV A,#LEDCLS ;清除 LED 显示
    MOVX @DPTR,A
    POP ACC ;恢复现场
    POP DPL
    POP DPH
    RET
                   ;读取键盘子程序
                   ;输入:; 输出: B: 读到的键码 A: 按键的标志
    GETKEY: PUSH DPH ;保存现场
    PUSH DPL
    PUSH PSW
    MOV DPTR,#Z8279
    MOVX A,@DPTR ;8279状态
    ANL A,#07H ;屏蔽D7-D3
    JNZ GETVAL ;判断是否有键输入
    MOV A,#0H ;置标志(无键输入)
    SJMP NKBHIT
    GETVAL: MOV A,#READKB ;读 FIFO RAM 命令
    MOVX @DPTR,A
    MOV DPTR,#D8279
    MOVX A,@DPTR ;读键
    ANL A,#0FH ;屏蔽 SHIFT 和 CTRL 键
    MOV DPTR,#KEYCODE ;键码表起始地址
    MOVC A,@A+DPTR ;查表
    MOV B,A ;置返回键值
    MOV A,#0FFH ;置标志(有键输入)
    NKBHIT: POP PSW ;恢复现场
    POP DPL
    POP DPH
    RET
                  ;显示字符子程序
                  ;输入: R4,位置 R5,值
    DISLED: PUSH DPH ;保存现场
    PUSH DPL
    PUSH ACC
    MOV A,#LEDWR0 ;置显示起始地址
    ADD A,R4 ;加位置偏移量
    MOV DPTR,#Z8279
    MOVX @DPTR,A ;设定显示位置
    MOV DPTR,#LEDSEG ;置显示常数表起始位置
    MOV A,R5
    MOVC A,@A+DPTR ;查表
    MOV DPTR,#D8279
    MOVX @DPTR,A ;显示数据
    POP ACC ;恢复现场
    POP DPL
    POP DPH
    RET
    
    DELAY: ;延时子程序
    PUSH 0 ;保存现场
    PUSH 1
    MOV 0,#0H
    DELAY1: MOV 1,#0H
    DJNZ 1,$
    DJNZ 0,DELAY1
    POP 1 ;恢复现场
    POP 0
    RET
                     ;LED显示常数表
    LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;'0,1,2,3,4,5,6,7'
    DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;'8,9,A,B,C,D,E,F'
    DB 0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH,087H ;'0.,1.,2.,3.,4.,5.,6.,7.'
    DB 0FFH,0EFH,0F7H,0FCH,0B9H,0DEH,0F9H,0F1H ;'8.,9.,A.,B.,C.,D.,E.,F.'
    DB 6DH,02H,08H,00H,59H,0FH,76H ;'U,-,_, ,I,O,P, '
                    ;键盘键码表
    KEYCODE:DB 30H,31H,32H,33H,34H,35H,36H,37H ;'1,2,Q,W,A,S,+,Z'
    DB 38H,39H,41H,42H,43H,44H,45H,46H ;'3,4,E,R,D,F,X,C'
    DB 47H,48H,49H,4AH,4BH,4CH,4DH,4EH ;'5,6,T,Y,G,H,V,B'
    END
    

    本素材来自网路,如有侵权,请联系删除。
    获取更多资源,请关注公众号“伊斯电子编程”

    展开全文
  • 【斯鹭】徐良军利用8031单片机串行口,实现与PC机通讯。本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到实验机的数码管上。二.实验目的1.掌握...

    斯鹭】徐良军利用8031单片机串行口,实现与PC机通讯。本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到实验机的数码管上。二.实验目的1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制。2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议。3.了解PC机通讯的基本要求。三.实验电路及连线 实验电路已在实验机监控电路上构成。CS8279接8700H。 模块中的十个短路套都套在8279侧。8279状态口地址为8701H;8279数据口地址为8700H;四.实验说明1.当用GR命令执行程序时,实验机内部会将8031串行口电路切换与PC机通讯,无须连线。2.程序执行前,进入LCA51,加载程序后,才进入调试菜单工具中的对话窗口,然后执行GR0,就可实行单片机串行口与PC机通信实验。五.实验程序框图 http://gkdxy.sower3.51ym.com/%b5%a5%c6%ac%bb%fa%ca%b5%c0%fd/no14.html

    原理 http://www.siaaa.com/dianxueshiyan/dianpianji/200909/493820.html

    展开全文
  • 当键盘缓冲区有内容,读取出键盘缓冲区ASCII码,然后等待通讯线状态寄存器的D5位为1,即可将数据发送到发送保持寄存器(2F8H)。 接收采用中断方式。一旦接收到字符,即转入中断服务子程序。由于采用辅串口,中断...

    发送采用查询方式。接收采用中断方式。

    发送的查询模式,要查询两个东西,一个是键盘缓冲区,一个是通信线状态寄存器。当键盘缓冲区有内容,读取出键盘缓冲区ASCII码,然后等待通讯线状态寄存器的D5位为1,即可将数据发送到发送保持寄存器(2F8H)。

    接收采用中断方式。一旦接收到字符,即转入中断服务子程序。由于采用辅串口,中断类型码为0BH。进入中断服务子程序后读取接收缓冲寄存器内容,如果不是“Esc”即显示出来,否则设置标志flag为-1,退出。在主程序中检测flag为-1即退出程序。

    程序开始的时候,首先初始化串口8250和中断8259A,保存原有中断向量0BH,并写入新的0BH向量入口地址。初始化8250的时候注意在中断允许寄存器开放接受中断,在MODEL控制寄存器使D3为1开放中断。

    	.586
    DATA SEGMENT USE16
    OLD0B DD ?
    FLAG DB 0
    DATA ENDS
    
    CODE SEGMENT USE16
    	ASSUME CS:CODE,DS:DATA
    BEG:MOV AX,DATA
    	MOV DS,AX
    	CLI
    	CALL I8250
    	CALL I8259A
    	CALL RD0B
    	CALL WRITE0B
    	STI
    	
    SCA:CMP FLAG ,-1
    	JE RETURN
    	MOV AH,1
    	INT 16H
    	JZ SCA
    	MOV DX,2FDH
    	IN AL,DX
    	TEST AL,20H
    	JZ SCA
    	MOV AH,0
    	INT 16H
    	AND AL,7FH
    	MOV DX,2F8H
    	OUT DX,AL
    	CMP AL,1BH
    	JNE SCA
    TWA:MOV DX,2FDH
    	IN AL,DX
    	TEST AL,40H
    	JZ TWA
    RETURN:CALL RESET
    	MOV AH,4CH
    	INT 21H
    	
    SERVICE PROC
    	PUSHA
    	PUSH DS
    	MOV AX,DATA
    	MOV DS,AX
    	MOV DX,2F8H
    	IN AL,DX
    	AND AL,7FH
    	CMP AL,1BH
    	JE NEXT
    	MOV AH,2
    	MOV DL,AL
    	INT 21H
    	JMP EXIT
    NEXT:MOV FLAG ,-1
    EXIT:MOV AL,20H
    	OUT 20H,AL
    	POP DS
    	POPA
    	IRET
    SERVICE ENDP
    	
    	
    I8250 PROC
    	MOV DX,2FBH
    	MOV AL,80H
    	OUT DX,AL
    	MOV DX,2F9H
    	MOV AL,00H
    	OUT DX,AL
    	MOV DX,2F8H
    	MOV AL,60H
    	OUT DX,AL
    	MOV DX,2FBH
    	MOV AL,03H
    	OUT DX,AL
    	MOV DX,2F9H
    	MOV AL,01H
    	OUT DX,AL
    	MOV DX,2FCH
    	MOV AL,0BH
    	OUT DX,AL
    	RET
    I8250 ENDP
    
    I8259A PROC
    	IN AL,21H
    	AND AL,11110111B
    	OUT 21H,AL
    	RET
    I8259A ENDP
    
    RD0B PROC
    	MOV AX,350BH
    	INT 21H
    	MOV WORD PTR OLD0B,BX
    	MOV WORD PTR OLD0B+2,ES
    	RET
    RD0B ENDP
    
    WRITE0B PROC
    	PUSH DS
    	MOV AX,CODE
    	MOV DS,AX
    	MOV DX,OFFSET SERVICE
    	MOV AX,250BH
    	INT 21H
    	POP DS
    	RET
    WRITE0B ENDP
    
    RESET PROC 
    	IN AL,21H
    	OR AL,00001000B
    	OUT 21H,AL
    	MOV DX,WORD PTR OLD0B
    	MOV DS,WORD PTR OLD0B+2
    	MOV AX,250BH
    	INT 21H
    	RET
    RESET ENDP
    
    CODE ENDS
    	END BEG
    


    展开全文
  • 掌握单片机串行口通信的程序设计,及简易三线式通讯的方法。 2.了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。 3.学习串口通讯的中断方式的程序编写方法。 4.进一步熟悉利用 PROTEUS、Keil uVision...

    一、实验目的 1.掌握单片机串行口通信的程序设计,及简易三线式通讯的方法。 
    2.了解实现串行通讯的硬环境、数据格式的协议、数据交换的协议。 
    3.学习串口通讯的中断方式的程序编写方法。 
    4.进一步熟悉利用 PROTEUS、Keil uVision5 等软件进行单片机系统仿真设计的方法。
    二、实验任务 
    1.基本任务 
    (1)已知甲机接 8 个开关,乙机接 8 个发光二极管,利用它们的串口方式 1,波
    特率自定义,实现:将甲机中 8 个开关所代表的数据传送到乙机,并在乙机的 8 个 LED
    灯显示。请在 Proteus 中画出电路原理图,并编写程序仿真实现上述功能。 
    (2)已知单片机的 P0 口接了 8 个发光二极管 LED0~LED7,现要求通过单片机的
    串口收发上位机的命令,实现对这 8 个发光二极管的控制。PC 端采用串口调试程序进
    行数据发送(如使用 stc-isp 烧写软件向单片机发送“88 FB AF XX FC FC”6 个字节的
    命令,其中“88 FB AF”及“FC FC”为数据的帧头和帧尾,“XX”为 00~07 数据。 )单片机
    使用串口中断进行数据接收,同时需要判断帧头和帧尾的正确性。判断帧头和帧尾完毕
    后,若正确的话再判断“XX” 数据,对应“XX” 数据对 LED0~LED7 进行点亮、熄灭控
    制;若不正确丢掉数据, 转入等待接收。 请在 Proteus 中画出电路原理图,并编写程
    序仿真实现上述功能。 
    2.拓展任务 
    在以上基本任务 1 的基础上,奇校验,实现甲机和乙机的全双工通信,即甲机和乙
    机都分别接 8 个开关和 8 个发光二极管,甲机 8 个开关所代表的数据能传送到乙机并在
    乙机的 8 个 LED 灯显示,同时乙机 8 个开关所代表的数据能传送到甲机并在甲机的 8
    个 LED 灯显示,若校验出错则指示灯(自定义)闪烁。请在 Proteus 中画出电路原理图,
    并编写程序仿真实现上述功能。 

     

    //-----------------------发送端---------------------------//
    #include  "STC15.H" 
    bit busy=0;
    //-----------------------串口初始化子函数-------------------------//
    void Uart1_Init(void)	 //9600bps@11.0592MHz         
    {
    	SCON = 0x40;		//8位数据,可变波特率 方式1 
    	AUXR |= 0x40;		//定时器1时钟为Fosc,即1T
    	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
    	TMOD &= 0x0F;		//设定定时器1为16位自动重装方式
    	TL1 = 0xE0;		//设定定时初值
    	TH1 = 0xFE;		//设定定时初值
    	ET1 = 0;		//禁止定时器1中断
    	TR1 = 1;		//启动定时器1
    	ES = 1;     //启动串口中断
    }
    //-----------------------数据发送子函数---------------------------//
    void SendData(unsigned char dat)
    {
      while(busy);   
      SBUF=dat;     
      busy=1;      
    }
    //---------------------------中断函数------------------------------//
    void UART1_isr (void) interrupt 4
    {
      if(TI)        
      { 
        TI=0;    //清除标志位           
        busy=0;  //清除忙标志位              
      }
    }
    //---------------------------主函数------------------------------//
    void main()                                    
    { 
      Uart1_Init();   //串口初始化
      EA=1;	    //打开总中断
      while(1)
    	{
    		SendData(P1);   //发送P1口数值
    	}
    }
    //-----------------------接收端---------------------------//
    #include  "STC15.H" 
    unsigned int temp; 
    //-----------------------串口初始化子函数-------------------------//
    void Uart1_Init(void)	 //9600bps@11.0592MHz         
    {
    	SCON = 0x50;		//8位数据,可变波特率 REN=1处于接受状态
    	AUXR |= 0x40;		//定时器1时钟为Fosc,即1T
    	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
    	TMOD &= 0x0F;		//设定定时器1为16位自动重装方式
    	TL1 = 0xE0;		//设定定时初值
    	TH1 = 0xFE;		//设定定时初值
    	ET1 = 0;		//禁止定时器1中断
    	TR1 = 1;		//启动定时器1
    	ES = 1;     //启动串口中断
    }
    //-------------------------中断函数------------------------------//
    void UART1_isr (void) interrupt 4
    {
      if(RI)                                      
       {
    	   RI=0;    //标志位清0
    		 temp=SBUF;   //数据暂存
    		 P0=temp;		 //P0接收发送端数据
       }
    }
    //---------------------------主函数------------------------------//
    void main()                                    
    { 
      Uart1_Init();    //串口初始化
      EA=1;	     //打开总中断
      while(1);
    }

    #include "stc15.h" 
    #define uchar unsigned int      //对数据类型进行声明定义
    volatile bit Flag=0;
    uchar i,val;
    uchar arr[6];
    //-----------------------串口初始化子函数-------------------------//
    void Uart1_init()  //9600bps@11.0592MHz
    {	
    	PCON &= 0x7F;   //波特率不加倍控制/帧错误检测
    	SCON = 0x50;		//8位数据,可变波特率
    	AUXR |= 0x40;		//定时器1时钟为Fosc,即1T
    	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
    	TMOD &= 0x0F;		//设定定时器1为16位自动重装方式
    	TL1 = 0xE0;		//设定定时初值
    	TH1 = 0xFE;		//设定定时初值
    	ET1 = 0;		//禁止定时器1中断
    	TR1 = 1;		//启动定时器1
    	ES=1;       // 串口1中断打开
    	EA=1;       //全局中断使能
    }
    //---------------------------中断函数------------------------------//
    void Uart1_INT() interrupt 4
    {
    	ES=0;      //串口1中断关闭
    	if(RI)
    	{
    	Flag=1;    //接收到数据,接收标识符有效
    	RI=0;      //串口接收标志位清0
    	arr[i]=SBUF;      //将接收到的数据赋给数组中判断        
    	if(arr[i]==0x88)  //判断数组
         {
            arr[0]=arr[i];
            i=0;
         }
         i++;
         if(i==6)
           {
            i=0;
            if(arr[0]==0x88&&arr[1]==0xFB&&arr[2]==0xAF&&arr[4]==0xFC&&arr[5]==0xFC)
            {
                val=arr[3];
                 switch (val)
                {
                    case 0x00:P0=0XFE;break;
                    case 0x01:P0=0XFD;break;
                    case 0x02:P0=0XFB;break;
                    case 0x03:P0=0XF7;break;
                    case 0x04:P0=0XEF;break;
                    case 0x05:P0=0XDF;break;
                    case 0x06:P0=0XBF;break;
                    case 0x07:P0=0X7F;break;
                } 
            }
          }
    	}
    	 ES=1;             // 串口1中断打开
    }
    //---------------------------主函数------------------------------//
    void main()
    {
    	Uart1_init();      //串口初始化
    	while(1);          //循环运行
    }

    #include "stc15.h"
    #include "intrins.h"
    volatile bit Flag=1;
    //---------------------------延时函数------------------------------//
    void Delay150ms()		//@11.0592MHz
    {
    	unsigned char i, j, k;
    
    	_nop_();
    	_nop_();
    	i = 7;
    	j = 78;
    	k = 167;
    	do
    	{
    		do
    		{
    			while (--k);
    		} while (--j);
    	} while (--i);
    }
    //-----------------------串口初始化子函数-------------------------//
    void Uart1_Init(void)		//9600bps@11.0592MHz
    {
    	SCON = 0x90;		//9位数据,方式2,可变波特率,带TB8/RB8奇偶校验位
    	AUXR |= 0x40;		//定时器1时钟为Fosc,即1T
    	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
    	TMOD &= 0x0F;		//设定定时器1为16位自动重装方式
    	TL1 = 0xE0;		  //设定定时初值
    	TH1 = 0xFE;			//设定定时初值
    	ET1 = 0;				//禁止定时器1中断
    	TR1 = 1;				//启动定时器1
    	ES = 1;     		//使能串口中断
    	EA=1;           //全局中断使能
    }
    //-------------------------数据发送函数-----------------------------//
    /*********************************************************************
     * 由于PSW中的P可以表达累加器ACC中“1”的个数奇偶性,P=1,A中“1”的个数为 *
     * 奇数,P=0,A中“1”的个数为偶数                                       *
     *********************************************************************/
    void Send_Data(unsigned char dat)
    {
    	ACC=dat;    //将数据赋给累加器ACC
    	TB8=P;      //发送从累加器得到的第9位数据
    	SBUF=dat;   //发送数据到数据缓冲器
    	while(TI==0);//当TI标志位等于零时 
    	TI=0;       //TI标志位清零
    }
    //-------------------------数据传送函数-----------------------------//
    void UART1_Puts(void)
    {
    	if(Flag)
    	{
    		ES=0;       //串口1中断关闭
    		Send_Data(P1);  //发送P1接收到的数据
    		ES=1;       //串口1中断开启
    		Flag=0;     //清除接收标识符
    	}
    }
    //---------------------------中断函数------------------------------//
    void Uart1_Isr(void) interrupt 4
    {
    	ES=0;         //串口1中断关闭
    	if(RI)			  //RI为1,接收数据
    	{
    		RI=0;		    //RI标志位清零
    		Flag=1;     //接收到数据,接收标识符有效
    		if(RB8==1)	//接收第9位数据校验结果是否为奇数
    		{
    			P0=SBUF;  //将接收到的数据赋给P0端
    		}
    		else 				//校验结果不为奇数时,出错执行P0端LED全亮全灭
    		{
    				P0=0x00;
    				Delay150ms();
    				P0=0xFF;
    				Delay150ms();
    		}
    	}
    		if(TI)			//TI为1,发送数据
    	{
    		TI=0;		    //TI标志位清零
    	}
    	  ES=1;       //串口1中断打开
    }
    //---------------------------主函数------------------------------//
    void main()
    {
    	Uart1_Init();	  //串口初始化
    	while(1)        //循环运行
    	{
    		UART1_Puts(); //数据传送
    	}
    }

     

    展开全文
  • 对来自微机串行口的命令进行操作,完成对被控对象的直接控制,并把被控对象的信息上报给上位机,异步串行通信是一种常用的多机通信手段,本文介绍一种将RS232,RS485,及红外接口集成在一起的PC机--单片机多功能通讯...
  • 在由PC机和单片机构成的分布式控制系统中,往往以PC机为上位机完成较为复杂的数据处理和对前沿机的监督管理,以及对下位机进行多机协调,单片机主要执行上位机的命令,对来自微机串行口的命令进行操作,完成对被控...
  • 实验十四 单片机串行口与PC机通讯实验一.实验要求利用8031单片机串行口,实现与PC机通讯。本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符(0-F)显示到实验机的...
  • 对来自微机串行口的命令进行操作,完成对被控对象的直接控制,并把被控对象的信息上报给上位机,异步串行通信是一种常用的多机通信手段,本文介绍一种将RS232,RS485,及红外接口集成在一起的PC机--单片机多功能通讯...
  • 1.5 实验板硬件系统分析.......................................................................................29 1.6 SemitARM9200 实验箱简介...............................................................
  • 实验二 ARM的串行口实验 14 实验三 键盘输入及数码管显示驱动 23 实验四 ARM的A/D接口实验 30 实验五 D/A接口实验 35 实验六 LCD的驱动控制实验 39 实验七 触摸屏驱动实验 47 实验八 BootLoader 实验 54 实验...
  • 详细介绍了通讯的硬件接口电路、通讯协议以及软件实现方法,实现了利用DSP的网步带进行异步通讯的方法,并确保通讯准确可靠。实验结果证明了其可靠性。  关键词:数字信号处理器 串行异步通讯 交流调速系统 ...
  • 3.1 ARM的串行口实验 42 3.2 ARM的A/D接口实验 53 3.3 ARM的D/A接口实验 61 3.4 电机转动控制实验 65 3.5 触摸屏驱动实验 74 3.6 LCD的驱动控制实验 85 3.7 CAN总线通讯实验 99 3.8 RS-485通信实验 106 3.9 红外通信...
  • 3.1 ARM的串行口实验 3.2 ARM的A/D接口实验 3.3 触摸屏驱动实验 3.4 LCD驱动控制实验 3.5 CAN总线通讯实验 第四章 嵌入式系统核心开发案例 第五章 基于UC/OS操作系统的开发案例 5.1 绘图API函数 5.2 文件的...
  • 作者Email: whxcds@hotmail.com 摘 要: 文章通过对微机并行EPP模式下数据读取时序的深入实验分析,研究了实现500ksps数据连续采集及传输涉及的软件和硬件相关因素,并采用CPLD器件结合大容量SRAM构成FIFO,...
  • 实验八 串行通讯实验 基本部分:阅读、调试C语言程序功能。使用汇编语言编程,完成实验指导书之“3.7 串口通讯实验”项目。(要求:实验仪器上完成) 提高部分:(要求:Proteus环境下完成) 题目一:利用单片机...
  • 计算机的串口也称串行通信接口,串行通讯接口(通常指COM)就是用来与外部硬件设备通信的接口,通常是9针的,传输的是串行数据,信号一个一个的串起来发出去,较为常用的串口有9针串口(DB9)和25针串口(DB25)。...
  • 实验十六 8251可编程通讯接口与PC机通讯--------------------109 实验十七 LED16*16点阵显示实验-----------------------------116 实验十八 128×64 LCD液晶显示实验-------------------------127 实验十九 8237 ...
  • 实验十六 串行口实验 …………………………………………………………(43) 实验十七 P1口输入、输出实验………………………………………………(44) 实验十八 P3.0口输入、P1口输出实验………………………………...
  • 左右可以通过串行口互通,可以把左边数据发送给右边,反之亦可。 可以实现的综合案例: 1. 远程刷卡消费(WiFi+RFID+显示+键盘) 2. 公交车自动站点播报(GPS+显示+mp3+键盘) 3. 倒车雷达(超声波测距+蜂鸣器+mp3+...
  • 左右可以通过串行口互通,可以把左边数据发送给右边,反之亦可。 可以实现的综合案例: 1. 远程刷卡消费(WiFi+RFID+显示+键盘) 2. 公交车自动站点播报(GPS+显示+mp3+键盘) 3. 倒车雷达(超声波测距+蜂鸣器+mp3+...
  • 5路DB9串口,可以进行串口通讯,一公一母2个接头方便扩展接插。 1) 原理图 2) 实物图 3) 接口说明 串口接口:DB1、DB2 DB1为母头,DB2为公头,根据需要选用。 控制端:JP8(DB1), JP76(DB2) 接线: ...
  • DJ-808X实验指导书

    2010-05-26 17:35:11
    实验十六 8251可编程通讯接口与PC机通讯--------------------109 实验十七 LED16*16点阵显示实验-----------------------------116 实验十八 128×64 LCD液晶显示实验-------------------------127 实验十九 8237 ...
  • ①、 独特的单总线接口方式,DS18B20在与微处理器连接时仅需要一条线即可实 现微处理器与DS18B20的双向通讯。大大提高了系统的抗干扰性。 ② 、测温范围 -55℃~+125℃,精度为±0.5℃。 ③、支持多点组网功能...
  • (1) 掌握串行口工作方式的程序设计,掌握单片机通讯的编制 (2)了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议 (3)了解PC机通讯的基本要求 二、实验内容 利用8051单片机串行口,实现与PC机通讯。本实验...
  • ●共分为五部分: (一)相关知识 (二)硬件原理 (三)软件API (四)调用方法 ...2.本例中使用MAX3232将STM32F032的TTL电平UART转换为RS232电平,外接USB转串(RS232)线,实现串口至PC的数据
  • LAB8000说明书

    2012-04-28 00:50:04
    LAB8000(USB接口)单片机/微控制器仿真实验系统 LAB8000丰富的实验模块: ...41. 8251A串行口通讯实验(8086) 42. 8237 DMA实验(8086) 43. 单片机时序剖析实验(利用逻辑分析工具) 44. 系统自检功能实验
  •  现代工业生产中一般通过PCI、ISA或是RS 232串行接口进行数据通讯,但是这些传统的接口存在着体积庞大、共享性差、电磁抗干扰性弱等缺点,因此数据容易失真,与传统的接口相比较,USB接口技术以其即插即用、热...
  • 单片机的串行通信方法较为多样,传统的串行通信方式是通过单片机自带的串行口进行RS232 方式的通信。 串行通信是以一位数据线传送数据的位信号,即使加上几条通信联络控制线,也比并行通信用的线少。 因此,串行...
  • 以PIC单片机与ICL7135的实际工程应用为例,详细阐述PIC单片机与 ICL7135将检测到的温度进行转换处理后通过串行口传送给上位机,应用于高精度的温度检测仪表中,介绍了一款智能温度控制仪表在温度变送器中的应用。...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

串行口数据通讯实验