初学单片机的40个实验(含汇编程序、C程序、流程图)

2009年12月18日 17:05    发布者:topcircuit
具体实验内容步骤:
1. 实验任务
2. 电路原理图
3. 系统板上硬件连线
4. 程序设计内容
5.程序框图
6.汇编源程序
7.C语言源程序
电路说明
如:模拟开关灯这个简单程序
1.实验任务
如图4.2.1所示,监视开关K1(接在P3.0端口上),用发光二极管L1(接在单片机P1.0端口上)显示开关状态,如果开关合上,L1亮,开关打开,L1熄灭。
2.电路原理图

图4.2.1
3.系统板上硬件连线
(1).把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上;
(2).把“单片机系统”区域中的P3.0端口用导线连接到“四路拨动开关”区域中的K1端口上;
4.程序设计内容
(1).开关状态的检测过程
单片机对开关状态的检测相对于单片机来说,是从单片机的P3.0端口输入信号,而输入的信号只有高电平和低电平两种,当拨开开关K1拨上去,即输入高电平,相当开关断开,当拨动开关K1拨下去,即输入低电平,相当开关闭合。单片机可以采用JB BIT,REL或者是JNB BIT,REL指令来完成对开关状态的检测即可。
(2).输出控制
如图3所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0端口输出高电平,使用 CLR P1.0指令使P1.0端口输出低电平。
5.程序框图

图4.2.2
6.汇编源程序ORG00H
START:JBP3.0,LIG
CLRP1.0
SJMPSTART
LIG:SETBP1.0
SJMPSTART
END
7.C语言源程序
#include
sbitK1=P3^0;
sbitL1=P1^0;
voidmain(void)
{
while(1)
{
if(K1==0)
{
L1=0;//灯亮
}
else
{
L1=1;//灯灭
}
}
}



6003
该文章有附件资料,如需下载请访问 电脑版

网友评论

MCU_NEWER 2010年09月25日
只有35个,但总比我买回来的学习板配的光碟里面提到的多。多谢!
lover_game 2010年12月05日
瞅瞅!!!
chj_macong 2011年03月09日
只有35个
blbl2004 2011年04月14日
35个
uttjstxz 2011年05月01日
看看了
wfnic 2011年07月10日
hapoh1
hlp0413 2011年07月20日
多谢
Vanko 2011年10月03日
我里个神呀,怎么会和“35个单片机实验实例”一样呢,发布者 这是为什么呢?做人要厚道呀,大家的积分也不容易。
hailylf 2011年10月16日
看看
wxw123321 2011年11月04日
多谢
qq345718287 2012年01月12日
看看
zhuozzc 2012年07月12日
看看
MXPMCU 2013年10月03日
好东东