熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
讀取P1口的值a,通過串口傳給第二個(gè)52,令P2等于a。 |
單片機(jī)U1發(fā)送數(shù)據(jù)參考程序如下: ORG 0 LJMP MAIN ORG 23H CLR TI MOV A,P1 MOV SBUF,A RETI ORG 30H MAIN: MOV SCON,#40H;串行口方式1,禁止接收 MOV TMOD,#20H MOV TL1,#0E0H MOV TH1,#0E0H SETB TR1 MOV IE, #90H MOV A,P1 MOV SBUF,A SJMP $ END 單片機(jī)U2接收參考程序如下: ORG 0 LJMP MAIN ORG 23H CLR RI MOV A,SBUF MOV P2,A RETI ORG 30H MAIN: MOV SCON,#50H;串行口方式1,允許接收 MOV TMOD,#20H MOV TL1,#0E0H MOV TH1,#0E0H SETB TR1 MOV IE, #90H SJMP $ END |
#include<reg51.h> #define uchar unsigned char #define uint unsigned int uint num,i=0;//定義變量初始值為0 uchar code tab[]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09};//段碼 void main() { TMOD=0x01;//采用T0方式,將M1置0,M0置1,是方式一的定時(shí)器 TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1;// 總中斷允許 ET0=1;//開啟定時(shí)器0中斷 TR0=1;//定時(shí)器/計(jì)數(shù)器啟動(dòng) SCON=0x00;//設(shè)置串行口工作方式為方式0 SBUF=0x03;//設(shè)置數(shù)碼管初始值 while(1);//等待中斷 } voidt0_() interrupt 1 //中斷函數(shù) { TH0=(65536-50000)/256; TL0=(65536-50000)%256; num++; if(num==10) { num=0; i++; if(i==10) { i=0; } SBUF=tab[i]; } } |
Powered by 單片機(jī)教程網(wǎng)