两片51单片机互相通信的串行通信程序

发布者:bln898最新更新时间:2015-10-10 来源: eefocus关键字:51单片机  互相通信  串行通信 手机看文章 扫描二维码
随时随地手机看文章
;系统晶振是 11.0592 MHz

;51单片机发送单片机程序
;此程序用Proteus仿真通过

;此程序在硬件上测试通过
;2007-05-27
;附有简化电路图
;为了使初学者能看懂,程序与图尽可能的简单扼要

;实验现象为,发送端的P1口的哪个键被接下,接收端的哪个灯对应着亮
;如果把两个单片机的T和R通过无线模块(如基于MCP2120芯片的模块)来扩充,便可做成无线通信
                    ORG                 0000H
                    AJMP                START
                    ORG                 0040H
START:
                    MOV                 SP,#60H       
                    MOV                 SCON,#50H                   ;串口 方式 1
                    MOV                 TMOD,#20H                   ;T1 方式2

                    MOV                 TL1,#0FDH                   ;波特率 9600 的常数
                    MOV                 TH1,#0FDH
                    SETB                TR1  
                    mov                 r5,#00h                   
WAIT:
                    mov               p1,#0ffh
                    mov               a ,p1
                    mov               r5,a
                    lcall delay                      ;读键盘,这里去抖动,还要加几句话
                    mov               a ,p1
                     nop
                    CJNE                A,5,WAIT                ;是否有键输入
                    MOV                 SBUF,a                      ;串口输出键盘输入的值
                    NOP
SS:                 JBC                 TI,WAIT                     ;是否发送完毕
                    SJMP                SS
DELAY:                                      ;延时子程序
                    PUSH                0                           ;保存现场
                    PUSH                1
                    MOV                 0,#06H
DELAY1: MOV                 1,#0H
                    DJNZ                1,$
                    DJNZ                0,DELAY1
                    POP                 1                           ;恢复现场
                    POP                 0
                    RET
                    END

两片51单片机互相通信的串行通信程序(一个发送程序,一个接收程序)

 

;系统晶振是 11.0592 MHz
;51单片机接收单片机程序
;此程序用Proteus仿真通过

;此程序在硬件上测试通过
;2007-05-27
;附有简化电路图
;为了使初学者能看懂,程序与图尽可能的简单扼要

;实验现象为,发送端的P1口的哪个键被接下,接收端的哪个灯对应着亮
;如果把两个单片机的T和R通过无线模块(如基于MCP2120芯片的模块)来扩充,便可做成无线通信
                    ORG                 0000H
                    AJMP                START
                    ORG                 0040H
START:       
                    MOV                 SCON,#50H                   ;串口 方式 1
                    MOV                 TMOD,#20H                   ;T1 方式 2

                    MOV                 TL1,#0FDH                   ;波特率 9600 的常数
                    MOV                 TH1,#0FDH
                    SETB                TR1          
                   WAIT:
                    JBC                 RI,DIS_REC                  ;是否接收到数据       
                    sjmp                wait
DIS_REC:
                    MOV                 A,SBUF                      ;读串口接收到的数据        
                    mov                 p1,a
                    SJMP                wait
                    end

关键字:51单片机  互相通信  串行通信 引用地址:两片51单片机互相通信的串行通信程序

上一篇:单片机P1口高四位做按键,低四位做输出显示程序
下一篇:基于单片机和8279驱动数码管显示与上位机通信的收发程序

推荐阅读最新更新时间:2024-03-16 14:34

51单片机汇编语言(二)
6.6功能说明:单片机P1端口接8只LED,每次点亮两只,先从右边向左边移动点亮;再从左边向右边移动点亮,然后闪烁两次,重复循环。 程序:JS06.ASM 01: START: MOV R0, #7 ;设左移7次 02: MOV A,#0FCH ;存入开始亮灯位置 03: LOOP: MOV P1, A ;传送到P1并输出 04: ACALL DELAY ;调延时子程序 05: RL A
[单片机]
关于51单片机串口的使用
51单片机串口的使用有两种方法,一个是查询法,还有就是中断法,查询法相对简单就是不断查询是否有数据,而中断就是利用串口中断interrupt 4,这里给出中断法,大家参考! #include unsigned char a,flag; void main() { TMOD=0X20;//设置定时器1为方式2 TH1=0XFD;// 装入初值(由软件计算一下) TL1=0XFD; TR1=1;//启动定时器1 SM0=0;//设置为方式1 SM1=1; REN=1;//允许接受 EA=1;//打开总中断开关 ES=1;//打开串口中断开关 while(1) { if(flag==1) {
[单片机]
51单片机在设计中的的时钟及复位
单片机 的时钟信号用来提供单片机片内各种微操作的时间基准,复位操作则使单片机的片内 电路 初始化,使单片机从一种确定的初态开始运行。 时钟电路: 8031单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。 在引脚XTAL1和XTAL2外接晶体 振荡器 (简称 晶振 )或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益 反相 放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。 图中, 电容 器Col,C02起稳定振荡 频率 、快速起振的作用,其 电容 值一般在5-30pF。晶振频率的典型值为12MH2,采用6M Hz 的情况也比较多。内部振荡方式所得的时钟情号
[单片机]
<font color='red'>51单片机</font>在设计中的的时钟及复位
51单片机驱动步进电机电路及程序
在这里介绍一下用51单片机驱动步进电机的方法。   这款步进电机的驱动电压12V,步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成!!!      该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。   采用51驱动ULN2003的方法进行驱动。      ULN2003的驱动直接用单片机系统的5V电压,可能力矩不是很大,大家可自行加大驱动电压到12V。   ;******************************************************************   ;******************
[单片机]
<font color='red'>51单片机</font>驱动步进电机电路及程序
51单片机和图形LCD接口技术的实现
  LCD 近年来越来越多地应用在单片机控制的仪器仪表中。仪表显示时良好的人机界面始终是人们的追求。近日用单片机控制成功地在EDM240128 图形LCD 上显示出图片。 1、液晶模块的特点:   EDM240128 图形LCD 是大连神迅信息股份有限公司生产的240*128 点阵式LCD。 内置8K 的数据存储器,液晶显示控制芯片为东芝公司生产的T6963C。它的总线可以直接适配MCS51 总线。允许单片机随时访问显示缓冲区,甚至可以进行位操作,直接控制某一点。同时这款液晶还有读/写地址自动加/减1 的功能,为大量数据的传送编程提供了方便。 2、硬件实现:   采用89S52 单片机,其内部有8K的FLASH ROM,将需
[单片机]
<font color='red'>51单片机</font>和图形LCD接口技术的实现
基于51单片机的简易摇号抽奖机器
硬件设计 仿真图: 基于C51处理器,显示器基于LCD12864,通过一个按键开始抽奖,随机抽奖有谢谢参与 三等奖 二等奖 一等奖 特等奖 代码设计 /*******************************************************************/ /* LCD型号:TS12864A-3(带汉字库)或兼容型号 控制器ST7920 */ /* MCU:STC89S52 ,晶体频率:11.0592MHz */ /*******************************************************************/ #in
[单片机]
基于<font color='red'>51单片机</font>的简易摇号抽奖机器
INT0和INT1中断计数 PROTEUS 和51单片机教程
功能:INT0和INT1中断计数,INT0和INT1分别计数和清零,也可以把两个连在一起计数 PROTEUS 和51单片机教程 程序的C语言代码如下: /* INT0与INT1中断计数 */ #include typedef unsigned char uint8; typedef unsigned int uint16; sbit K3 = P3^4; sbit K4 = P3^5; void delay(uint16 x) { uint16 i,j; for(i = x; i 0; i --) for(j = 114; j 0; j --); } code uint8 LED_CODE = {0x
[单片机]
INT0和INT1中断计数 PROTEUS 和<font color='red'>51单片机</font>教程
8051单片机教程第十二课:逻辑运算类指令
对累加器A的逻辑操作: CLRA;将A中的值清0,单周期单字节指令,与MOVA,#00H效果相同。 CPLA;将A中的值按位取反 RLA;将A中的值逻辑左移 RLCA;将A中的值加上进位位进行逻辑左移 RRA;将A中的值进行逻辑右移 RRCA;将A中的值加上进位位进行逻辑右移 SWAPA;将A中的值高、低4位交换。 例:(A)=73H,则执行CPLA,这样进行: 73H化为二进制为01110011, 逐位取反即为10001100,也就是8CH。 RLA是将(A)中的值的第7位送到第0位,第0位送1位,依次类推。 例:A中的值为68H,执行RLA。68H化为二进制为01101000,按
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved