- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机实例三-1
任务3 控制8个LED发光二极管闪烁
1.任务目的
通过MCS-51系列单片机控制8个LED实现闪烁效果的实例,熟悉单
片机并行I/O端口及其使用。
2.任务要求
将任务1中的一个信号灯控制系统扩展,在P1口上连接8个LED ,并将给定的C语言源程序编辑、编译后下载到单片机,进行软、硬件联调,实现8个LED闪烁效果。
3.电路及元器件
1)原理电路
2)元器件清单
元器件名称 参数 数量 元器件名称 参数 数量 单片机 AT89S51 1 弹性按键 1 电阻 1k 8 电阻 10k 1 八路反相器 74LS240 1 电解电容 22F 1 发光二极管 8 IC插座 DIP40 1 晶体振荡器 12MHz 1 IC插座 DIP20 1 瓷片电容 30pF 2
74LS240起隔离作用,保护单片机芯片、增加输出口扇出能力。
4.硬件电路制作
小经验:在单片机输出端口电路中常会用集成驱动芯片、缓冲与锁存芯片,如74LS245或集电极开路电路74LS06、74LS07等,这是为了增加端口扇出电流,提高负载能力。
5.程序及下载
//程序:ex3_1.c
//功能:控制八个信号灯闪烁程序
#include reg51.h //包含头文件REG51.H,定义了MCS-51单片机的特殊功能寄存器
void delay(unsigned char i); //延时函数声明
void main() //主函数
{
while(1) {
P1=0x00; //将P1口的八位引脚清0,点亮八个LED
delay(200); //延时
P1=0xff; //将P1口的八位引脚置1,熄灭八个LED
delay(200); //延时
}
}
//函数名:delay
//函数功能:实现软件延时
//形式参数:unsigned char i;
// i控制空循环的外循环次数,共循环i*255次
//返回值:无
void delay(unsigned char i) //延时函数,无符号字符型变量i为形式参数
{
unsigned char j,k; //定义无符号字符型变量j和k
for(k=0;ki;k++) //双重for循环语句实现软件延时
for(j=0;j255;j++);
}
提示:在C语言中,十六进制数的表示方法:在数据前面加上符号“0x”
6. 程序运行测试
将程序下载到单片机中,接通电源,观察调试。
7.任务小结
1)本任务通过控制8个LED闪烁效果的软硬件设计,初步了解如何通过C语言编程序控制单片机并行I/O口。2)P1口某个引脚为低电平“0”时,对应LED点亮;为高电平“1”时,对应LED熄灭。3)通过向P1口写入一个8位二进制数来改变某个引脚的输出电平状态。如“ P1=0x00;”或者“ P1=0xff;”。4)程序调试时一个反复进行过程,必须反复修改软件、硬件,直到运行结果完全符合要求为止。
文档评论(0)