资料介绍
示例:一. 闪烁灯
1. 实验任务
3. 系统板上硬件连线
把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。
4. 程序设计内容
(1). 延时程序的设计方法
作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢?下面具体介绍其原理:
如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒
机器周期 微秒
MOV R6,#20 2个 2
D1: MOV R7,#248 2个 2 2+2×248=498 20×
DJNZ R7,$ 2个 2×248 (498
DJNZ R6,D1 2个 2×20=40 10002
因此,上面的延时程序时间为10.002ms。
由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时,延时10ms,以此为基本的计时单位。如本实验要求0.2秒=200ms,10ms×R5=200ms,则R5=20,延时子程序如下:
DELAY: MOV R5,#20
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
(2). 输出控制
如图1所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平,即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。
5.程序框图
如图4.1.2所示
图4.1.2
6. 汇编源程序
ORG 0
START: CLR P1.0
LCALL DELAY
SETB P1.0
LCALL DELAY
LJMP START
DELAY: MOV R5,#20 ;延时子程序,延时0.2秒
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END
7. C语言源程序
#include
sbit L1=P1^0;
void delay02s(void) //延时0.2秒子程序
{
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}
void main(void)
{
while(1)
{
L1=0;
delay02s();
L1=1;
delay02s();
}
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- Keil C51与单片机开发入门(第一个程序)
- 学习51单片机及模拟电路资料包括20个模拟电路和C语言程序 43次下载
- 单片机入门学习教程单片机的详细概述 85次下载
- 51单片机24个典型设计实例程序和工程文件免费下载 118次下载
- 51单片机的入门学习资料免费下载
- 51单片机和STM32单片机有哪些区别
- 使用51单片机实现流水灯C语言的程序实例免费下载
- 单片机学习入门之单片机基础知识详细资料概述 76次下载
- 51单片机有哪些常用程序?51单片机4个常用程序汇总 27次下载
- 单片机应用程序综合实例——单片机与接口技术 0次下载
- 51单片机230个Proteus仿真实例 42次下载
- 51单片机开发入门与典型实例_第二版(王守中) 0次下载
- 51单片机230个Proteus仿真实例 1.7w次下载
- 51单片机新手实例学习 2406次下载
- 51单片机及其C语言程序开发实例
- 51单片机烧写程序的方法 4428次阅读
- 基于51单片机的湿度监测仿真和程序 1492次阅读
- 单片机里的程序是如何运行? 3578次阅读
- 51单片机读写AT29C040的C51程序 4565次阅读
- 51、stm32单片机入门的一些经验 3104次阅读
- 51单片机的学习步骤 8102次阅读
- 如何学习51单片机 4828次阅读
- 51单片机的复位方式及原理 5.4w次阅读
- 如何对51单片机进行外部扩展 1.4w次阅读
- 基于AT89C51单片机直流电机PWM调速程序分享 1.6w次阅读
- 新手学习单片机的首选:51单片机 8303次阅读
- 分享学习单片机的四个阶段 5407次阅读
- 如何使用Keil3开发51单片机程序 7047次阅读
- 51单片机教程第3讲-控制引脚 3330次阅读
- 51单片机学习感悟与51单片机上拉电阻心得 4200次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论