1.闪烁灯2.广告灯的左移右移3.广告灯(利用取表方式)4.IO并行口直接驱动LED显示5.按键识别方法6.动态数码显示技术7.4×矩阵式键盘识别技术48.定时计数器T0作定时应用技术(一)9.定时计数器T0作定时应用技术(二)10.数字电子钟
1.闪烁灯1.实验任务
如图411所示:在P10端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为02秒。2.电路原理图
图4113.系统板上硬件连线
把“单片机系统”区域中的P10端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。
f4.
程序设计内容
(1).延时程序的设计方法作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为02秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢?下面具体介绍其原理:如图411所示的石英晶体为12MHz,因此,1个机器周期为1微秒机器周期微秒MOVR6202个机器周期D1MOVR72482个机器周期DJNZR72个机器周期DJNZR6D12个机器周期222×2482×20=402+2×248=49820×49810002
因此,上面的延时程序时间为10002ms。由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时,延时10ms以此为基本的计时单位。如本实验要求02秒=200ms,10ms×R5=200ms,则R5=20,延时子程序如下:DELAYMOVR520D1MOVR620D2MOVR7248DJNZR7DJNZR6D2DJNZR5D1RET(2).输出控制如图1所示,当平,即P10=1的单向导电性可L1熄灭;P10当P10=0时,发可以使用SETB输出高电平,使P10端口输出高电时,根据发光二极管知,这时发光二极管端口输出低电平,即光二极管L1亮;我们P10指令使P10端口用CLRP10指令使
fP10端口输出低电平。5.程序框图如图412所示
图4126.汇编源程序ORG0STARTCLRP10LCALLDELAYSETBP10LCALLDELAYLJMPSTARTDELAYMOVR520延时子程序,延时02秒D1MOVR620D2MOVR7248DJNZR7DJNZR6D2DJNZR5D1RETEND7.C语言源程序i
cludeAT89X51HsbitL1P10voiddelay02svoid延时02秒子程序
fu
sig
edcharijkfori20i0iforj20j0jfork248k0k
voidmai
voidwhile1L10delay02sL11delay02s2.广告灯的左移右移1.实验任务做单一灯的左移右移,硬件电路如图441所示,八个发光二极管L1-L8分别接在单片机的P10-P17接口上,输出“0”时,发光二极管亮,开始时P10→P11→P12→P13→┅→P17→P16→┅→P10亮,重复循r