整理单片机小系统工程训练指导Word格式文档下载.docx
- 文档编号:7169442
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:235
- 大小:1.18MB
整理单片机小系统工程训练指导Word格式文档下载.docx
《整理单片机小系统工程训练指导Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《整理单片机小系统工程训练指导Word格式文档下载.docx(235页珍藏版)》请在冰点文库上搜索。
8排针接插件J3上的8个跳线帽要全部连接在标号为P0位置上。
单排针接插件J4上的跳线帽要连接在OE和GND的位置上。
单排针接插件J5上的跳线帽连接在OE和GND的位置上。
单排针接插件J6上的跳线帽要连接在OE和VCC的位置。
单排针接插件J7上的跳线帽要连接在CS和GND的位置。
双排针接插件J8上的跳线帽应该和J8上排插针相连。
4个8联拨动拨码开关(JP1、JP2、JP3、JP4)应该全部所至下方。
二、实验中具体使用介绍如下:
(1)当用到发光二极管时,要把8联拨动拨码开关JP4拨到ON状态。
(2)当用到喇叭输出时,把2联拨动拨码开关JP5的1号拨动开关拨上去;
当用DS18B20做测温时,把2联拨动拨码开关JP5的2号拨动开关拨上去。
(3)当用到矩阵键盘输入时,把8联拨动拨码开关JP3的拨动开关全部拨上去。
(4)当用到拨动开关SW1—SW4时,把8联拨动拨码开关JP2对应的拨动开关拨上去。
(5)当用到按键开关S18—S21时,把8联拨动拨码开关JP2对应的拨动开关拨上去。
(6)当用8个动态数码管显示时,首先应该把单排针接插件J4的OE与VCC用跳线帽相连。
同时8联拨动拨码开关JP1对应的拨动开关拨上去。
8联拨动拨码开关JP1的S1—S8分别对应三极管Q2—Q9。
(7)当用8个动态数码管输入a—h数码时,如果用到P0口,不用移动跳线帽;
如果用到P1口,把8个跳线帽移到下面的标有P1的位置。
(8)当用P0口做数码管静态显示时,把单排针接插件J5的OE与VCC用跳线帽相连。
(9)当用P2口做数码管静态显示时,把单排针接插件J6的OE与GND用跳线帽相连。
总之,在用单片机编写简单程序时,汇编语言编写起来比较简单,但复杂的程序还是用C51编写起来比较简单。
所以C51编程是必学的。
这里基本上所有的实验程序都采用汇编和C51两种编程方法。
有的实验还给出了两套设计方案,便于比较学习。
实验一LED闪烁灯设计
一、实验目的
1、初步了解单片机I/O口的简单控制。
2、掌握单片机外围常用电路的固定接法。
二、设计原理
利用单片机控制一个发光二极管,使此发光二极管间隔0.2秒亮、灭一次。
三、参考电路
图1.1LED闪烁灯外部电路原理图
四、电路硬件说明
如图1.1所示:
在单片机的P1.0端口上通过8联拨动拨码开关JP4的相应拨码开关连接一个发光二极管D1。
五、程序设计内容
(1)延时程序的设计方法:
单片机指令的执行时间是很短的,它的数量级为微秒级。
在本程序设计中,要求LED闪烁灯的闪烁时间间隔为0.2秒。
相对于微秒来说,相差太大,所以在执行某一指令时,需要插入延时程序,来达到的要求。
然而这样的延时程序是如何设计呢?
下面具体介绍其原理:
如图1.1所示,单片机所用的石英晶体为12MHz。
因此,1个机器周期为1微秒。
延时10ms子程序机器周期微秒
MOVR6,#201个1
D1:
MOVR7,#2481个 1+1×
20
DJNZR7,$2个 2×
248+2×
20×
248
DJNZR6,D12个 2×
20
因此,上面的延时程序时间为10.478ms。
由以上可知,当R6=10、R7=248时,延时时间为5ms;
R6=20、R7=248时,延时时间为10ms。
通常所用延时时间以此为基本的计时单位。
比如本实验要求为0.2秒=200ms,所以用10ms×
R5=200ms,得到R5=20。
延时子程序如下:
DELAY:
MOVR5,#201
MOVR6,#201+20
D2:
MOVR7,#2481+20+20(1+20)
DJNZR7,$2×
248+20×
2×
248+20(2×
248)
DJNZR6,D22×
20+2×
DJNZR5,D12×
RET2
上面的延时程序为0.220081s。
(2)单片机的P1.0端口的输出控制方法:
如图1.1所示,根据发光二极管的单向导电性,当单片机的P1.0端口输出高电平,即P1.0=1时,发光二极管D1熄灭;
当单片机的P1.0端口输出低电平,即P1.0=0时,发光二极管D1亮。
可以使用SETB P1.0指令使单片机的P1.0端口输出高电平,使用CLR P1.0指令使单片机的P1.0端口输出低电平。
六、程序流程图(如图1.2所示)
图1.2LED闪烁灯设计流程图
七、汇编源程序
ORG0000H;
系统复位
LJMPSTART;
转入主程序
ORG0003H;
外部中断0
RETI;
中断返回
ORG000BH;
定时器0溢出中断
RETI
ORG0013H;
外部中断1
ORG001BH;
定时器1溢出中断
ORG0023H;
外部中断2
ORG0100H
START:
CLRP1.0;
和P1.0口接的二极管亮
LCALLDELAY200MS;
延时0.2秒
SETBP1.0;
和P1.0口接的二极管灭
LCALLDELAY200MS;
LJMPSTART;
循环
DELAY200MS:
MOVR5,#20;
延时子程序
D1:
MOVR6,#20
D2:
MOVR7,#248
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
END
八、C语言源程序
#include<
AT89X51.H>
sbitL1=P1^0;
voiddelay02s(void)//延时子程序//
{unsignedchari,j,k;
for(i=20;
i>
0;
i--)
for(j=20;
j>
j--)
for(k=248;
k>
k--);
}
voidmain(void)//主程序//
{while
(1)//进入循环//
{L1=0;
//指示灯亮//
delay02s();
//延时0.2秒//
L1=1;
//指示灯灭//
}
九、注意事项
(1)用Keil软件时,注意中文说明及注释。
(2)用汇编语言编写程序时不区分大小写,但用C语言编写程序时注意区分大小写。
(3)汇编语言和C语言定义口的方式不同,如汇编语言为P1.0,P2.0,P3.0,而C语言为P1_0,P2_0,P3_0。
实验二模拟开关控制指示灯设计
1、掌握单片机外围常用电路的固定接法。
2、掌握单片机利用模拟开关控制指示灯的简单设计。
如图2.1所示,用发光二极管监视模拟开关的状态。
如果模拟开关合上,发光二极管点亮;
如果模拟开关打开,发光二极管熄灭。
图2.1模拟开关控制指示灯原理图
如图2.1所示,模拟开关SW1通过8联拨动拨码开关连接在单片机的P3.0端口上,用发光二极管D1(通过8联拨动拨码开关接在单片机的P1.0端口上)显示模拟开关SW1的状态。
当模拟开关SW1断开时,单片机的P3.0端口为高电平;
当模拟开关闭合时,单片机的P3.0端口为低电平。
(1)开关状态的检测过程
对于单片机来说,开关状态的检测是从单片机的P3.0端口输入信号,然而输入的信号只有高、低电平两种。
当拨动开关SW1拨上去(输入高电平)时,拨动开关SW1断开;
当拨动开关SW1拨下来(输入低电平)时,拨动开关SW1闭合。
单片机可以采用JB BIT或者JNB BIT指令来完成对拨动开关状态的检测。
(2)输出控制
如图2.1所示,当单片机的P1.0端口输出为高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管D1熄灭;
当单片机的P1.0端口输出为低电平,即P1.0=0时,发光二极管D1亮。
可以使用SETB P1.0指令使单片机的P1.0端口输出高电平,使用CLR P1.0指令使单片机P1.0端口输出低电平。
六、程序流程图(如图2.2所示)
图2.2模拟开关控制指示灯程序流程图
ORG0000H;
程序复位入口地址
LJMPSTART;
跳到主程序
ORG0003H;
外部中断0入口地址
RETI;
ORG000BH;
定时器中断0入口地址
ORG0013H;
外部中断1入口地址
ORG001BH;
定时器中断1入口地址
中断返回
ORG0023H;
串行口中断入口地址
ORG002BH;
定时器中断2入口地址
ORG0100H
JBP3.0,NEX;
P3.0为1,则跳NEX
CLRP1.0;
P1.0亮
SJMPSTART
NEX:
SETBP1.0;
P1.0灭
SJMPSTART
main()
{if(P3_0==1)
{P1_0=0;
//P1_0亮//
else
{P1_0=1;
//P1_0灭//
}
九、注意事项
如果程序下载到实验板上后,要把8联拨动拨码开关JP2和JP4的相应开关合上去。
实验三多路开关状态指示设计
利用多路模拟开关进行指示灯控制。
如图3.1所示,单片机的P1.0-P1.3端口通过8联拨动拨码开关连接四个发光二极管D1-D4。
单片机的P3.0-P3.3端口通过8联拨动拨码开关连接四个拨动开关SW1-SW4。
编程时将拨动开关的状态反映到发光二极管上(开关闭合,对应的灯亮,开关断开,对应的灯灭)。
图3.1多路开关状态指示电路原理图
如图3.1所示,拨动开关SW1、SW2、SW3、SW4通过8联拨动拨码开关JP2接连单片机的P3.0、P3.1、P3.2、P3.3端口。
单片机的P1.0、P1.1、P1.2、P1.3口通过8联拨动拨码开关JP4分别连接四个指示灯D1、D2、D3、D4。
(1)开关状态检测
拨动开关状态的检测,对于单片机来说,是一种输入关系,轮流检测每个开关的状态,根据每个开关的状态让相应的发光二极管指示显示。
在编写程序时,可以使用JB P3.X或JNB P3.X指令来完成指示控制。
(2)单片机的输出控制
根据拨动开关SW1、SW2、SW3、SW4的状态,经由发光二极管D1-D4来指示显示。
在编写程序时,可以用SETB P1.X和CLR P1.X指令来完成。
六、程序流程图(如图3.2所示)
图3.2多路开关状态指示流程图
ORG0000H;
ORG0003H;
ORG000BH;
ORG0013H;
ORG001BH;
ORG0100H
LCALLKAIGUAN;
调用检测开关状态子程序
跳回继续检测
KAIGUAN:
JBP3.0,N1;
判断p3.0是否按下
CLRP1.0;
p3.0按下则亮p1.0
SJMPM1;
跳到m1
N1:
SETBP1.0;
p3.0没有按下则灭p1.0
M1:
JBP3.1,N2;
判断p3.1是否按下
CLRP1.1;
p3.1按下则亮p1.1
SJMPM2;
跳到m2
N2:
SETBP1.1;
p3.1没有按下则灭p1.1
M2:
JBP3.2,N3;
判断p3.2是否按下
CLRP1.2;
p3.2按下则亮p1.2
SJMPM3;
跳到m3
N3:
SETBP1.2;
p3.2没有按下则灭p1.2
M3:
JBP3.3,N4;
判断p3.3是否按下
CLRP1.3;
p3.3按下则亮p1.3
SJMPM4;
跳到m4
N4:
SETBP1.3;
p3.3没有按下则灭p1.3
M4:
LJMPKAIGUAN;
跳回检测开关状态子程序进行循环
RET;
子程序返回
END;
结束
{if(P3_0==0)
{P1_0=0;
}
else
{P1_0=1;
if(P3_1==0)
{P1_1=0;
{P1_1=1;
if(P3_2==0)
{P1_2=0;
{P1_2=1;
if(P3_3==0)
{P1_3=0;
{P1_3=1;
(1)程序下载到实验板上后,要把8联拨动拨码开关JP2和JP4的相应按键合上去。
(2)与8联拨动拨码开关JP4相连的指示灯是高电平亮,低电平灭。
实验四广告灯左、右移设计
1.初步了解广告灯的移动设计。
2.掌握循环移动的原理。
如图4.1所示,八个发光二极管D1-D8通过8联拨动拨码开关JP4分别连接在单片机的P1.0-P1.7端口上,做单一灯的左移右移。
如果单片机的P1端口输出为“0”时,发光二极管亮,依次为P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环。
图4.1广告灯左、右移设计电路原理图
把“单片机系统”区域中的单片机的P1.0-P1.7端口通过8联拨动拨码开关JP4连接到“八路发光二极管指示模块”区域中的D1-D8端口上,要求:
P1.0对应着D1,P1.1对应着D2,……,P1.7对应着D8。
运用输出端口指令MOV P1,A或MOV P1,#DATA,给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。
每次送出的数据是不同的,具体的数据如下表4.2所示
表4.28个LED循环显示真值表
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
说明
D8
D7
D6
D5
D4
D3
D2
D1
1
0
D1亮
D2亮
D3亮
D4亮
D5亮
D6亮
D7亮
D8亮
六、程序流程图(如图4.3所示)
图4.3广告灯左右移程序流程图
七、汇编源程序
MOVR2,#7
MOVA,#0FEH
SETBC;
给CY置1
LOOP:
MOVP1,A
LCALLDELAY
RLCA;
带进位左移
DJNZR2,LOOP;
R2减1不为0转到LOOP
MOVR2,#8
LOOP1:
LCALLDELAY
RRCA;
带进位右移
DJNZR2,LOOP1;
R2减1不为0转到LOOP1
LJMPSTART
MOVR5,#20;
延时0.2秒子程序
MOVR6,#20
MOVR7,#248
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
END
unsignedchari;
unsignedchartemp;
unsignedchara,b;
voiddelay(void)//延时子程序//
{unsignedcharm,n,s;
for(m=20;
m>
m--)
for(n=20;
n>
n--)
for(s=248;
s>
s--);
voidmain(void
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 单片机 系统工程 训练 指导