1. 单片机实验(proteus+keil)串行通信实验
我给你
程序:
#include<reg51.h>
volatilechartemp;
volatilecharflag;
voidmain(void)
{
P3|=0x03;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
EA=1;
ES=1;
SM0=0;
SM1=1;
REN=1;
IP=0x00;
flag=0;
while(1)
{
while(flag==0);
flag=0;
TI=0;
SBUF=temp;
while(!TI);
}
}
voidSerialIsr(void)interrupt4
{
if(RI)
{
RI=0;
temp=SBUF;
flag=1;
}
}
2. 单片机基础实验3个,用WAVE软件,满分悬赏,在线急等
只做一题,其他请学做。
ORG 0000H
CLR A
MOV R0,#30H ;内部RAM首地址
MOV B, #0FFH ; 需要清零的长度
L: MOVX @R0,A
INC R0
DJNZ B,L
3. 单片机实验点亮流水灯程序从第三个灯开始循环点亮 一个共有8个灯哦
led是哪个口控制的?假设是p1吧,那P1的初值就是11011111(0xdf),这表示刚开始是第三个灯亮。
之后就用左移或者右移的函数就行了,挺简单的
4. 单片机实验
没有电路,看程序,有些虚无缥缈的感觉。
5. 单片机实验数据排序
原发布者:瀚海湛蓝
实验一、数据排序实验一、实验目的熟悉8031指令系统,掌握程序设计方法。二、实验内容编写并调试一个排序子程序,其功能为用冒泡法将内部RAM中几个单元字节无符号的正整数,按从小到大的次序重新排列。三、实验程序框图NNN四、实验步骤1把8032片内RAM区50H—5AH中放入不等的数据(用寄存器读写方法)。2用连续运行方式从起始地址0100H开始运行程序(输入0100后按EXEC键)。3排序结束,显示“P.”。4用寄存器读写方法检查50—5AH中内容应从小到大排列。五、参考程序DORDE:MOVSP,#60H;设置栈指针MOVR3,#50HDORDE1:MOVA,R3MOVR0,A;数据指针传送到R0MOVR7,#0AH;长度送到R7CLR00H;清零标志位MOVA,@R0DORDE2:INCR0MOVR2,ACLRC;清零进位标志MOV22H,@R0CJNEA,22H,DORDE3;是否相等SETBCDORDE3:MOVA,R2JCDORDE4;小于或等于不交换SETB00HXCHA,@R0DECR0XCHA,@R0;大于交换位置INCR0DORDE4:MOVA,@R0DJNZR7,DORDE2JB00H,DORDE1;未完继续MOVR0,#7EH;完,关显示器前三位MOVA,#0FFHMOVR4,#06HDORDE5:MOV@RO,ADECR0DJNZR4,DORDE5MOV7EH,#0CH
6. 单片机实验 编写程序
单片机实验,其实这就是典型的流水灯电路,P1口接8个流水灯,每个灯点亮1秒。用定时器T1定时50ms,中断20次就为1秒,可用_crol_()移位函数实现。仿真效果如下图所示。
7. 单片机 第三次实验:通过两个开关控制8个灯,分为四种状态S1,S2均打开状态一:八个灯熄灭S1闭合
摘要 1 / 7 单片机上机实验报告 【实验一】 端口实验,掌握通过端口编程实现数据输出和输入的方法,并观察结果。 实验内容:1)输出实验:假定4个端口全部连接发光二极管,编程实现所有发光二极管同时亮,延迟一定时间(自定)后,又同时灭,如此循环。2)输入:从P0口输入某个数据到累加器A,打开观察窗口观察数据是否进入累加器A。 实现方式:通过peripherals实现端口数据观察实验。 程序流程图: 将P0到P3端口先赋值为0,调用延迟后,再赋1,然后循环执行。 源代码:ORG 0000H ; 程序入口地址 LJMP MAIN ; 跳转到主程序 ORG 0300H ; 主程序地址 MAIN: MOV P0,#00H; MOV P1 ,#00H; MOV P2 ,#00H; MOV P3 ,#00H ; P0~P3均赋值为0 ACALL DE