单片机实验二_3.docx

上传人:安*** 文档编号:19019138 上传时间:2022-06-03 格式:DOCX 页数:22 大小:259.39KB
返回 下载 相关 举报
单片机实验二_3.docx_第1页
第1页 / 共22页
单片机实验二_3.docx_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《单片机实验二_3.docx》由会员分享,可在线阅读,更多相关《单片机实验二_3.docx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、单片机实验二一、实验目的1熟悉和把握AT89C51单片机的并口工作原理;2了解和把握单片机的并口输入输出应用。3把握数码管的使用方法。二、实验内容一、LED模拟交通灯讲明:东西向绿灯亮若干秒,黄灯闪烁5次后红灯亮,红灯亮后,南北向由红灯变为绿灯,若干秒后南北向黄灯闪烁5此后变红灯,东西向变绿灯,如此重复。Proteus设计的仿真电路如下图。1运行下述程序,并在电路上验证。2假如要求黄灯闪烁3次后红灯亮,应该怎么该写程序?#include#defineucharunsignedchar#defineuintunsignedintsbitRED_A=P00;/东西向灯sbitYELLOW_A=P0

2、1;sbitGREEN_A=P02;sbitRED_B=P03;/南北向灯sbitYELLOW_B=P04;sbitGREEN_B=P05;ucharFlash_Count=0,Operation_Type=1;/闪烁次数,操作类型变量/延时voidDelayMS(uintx)uchari;while(x-)for(i=0;i#include#defineucharunsignedchar#defineuintunsignedintsbitRED_A=P00;/东西向灯sbitYELLOW_A=P01;sbitGREEN_A=P02;sbitRED_B=P03;/南北向灯sbitYELLOW_

3、B=P04;sbitGREEN_B=P05;ucharFlash_Count=0,Operation_Type=1;/闪烁次数,操作类型变量/延时voidDelayMS(uintx)uchari;while(x-)for(i=0;iFlash_Count=0;Operation_Type=1;/主程序voidmain()while(1)Traffic_Light();2、开关控制用AT89C51单片机控制四个按键K1到K4和四个发光二极管D1到D4,要求当按下K1或K2键时D1或D2点亮,松开时对应的发光二极管熄灭,当按下K3或K4后,D3或D4不停地闪烁。Proteus仿真电路如下列图。1验

4、证程序实现所要求的功能。若K3、K4同时按下时,D3和D4同时不停地闪烁,怎样改写程序?#include#defineucharunsignedchar#defineuintunsignedintsbitD1=P10;sbitD2=P11;sbitD3=P12;sbitD4=P13;sbitK1=P34;sbitK2=P35;sbitK3=P36;sbitK4=P37;voidDelayMS(uintx)/延时子程序uchart;while(x-)for(t=120;t0;t-);voidmain()/主程序P1=0xff;/四个二极管暗while(1)D1=K1;/D1反映K1开关的状态D2

5、=K2;/D2反映K2开关的状态if(K3=0)/K3按下时,D3的状态不停地变反while(K3=0)D3=D3;DelayMS(10);if(K4=0)/K4按下时,D4的状态不停地变反while(K4=0)D4=D4;DelayMS(10);修改:#include#defineucharunsignedchar#defineuintunsignedintsbitD1=P10;sbitD2=P11;sbitD3=P12;sbitD4=P13;sbitK1=P34;sbitK2=P35;sbitK3=P36;sbitK4=P37;voidDelayMS(uintx)/延时子程序uchart;

6、while(x-)for(t=120;t0;t-);voidmain()/主程序P1=0xff;/四个二极管暗while(1)D1=K1;/D1反映K1开关的状态D2=K2;/D2反映K2开关的状态if(K3=0&K4=0)/K3按下时,D3的状态不停地变反while(K3=0&K4=0)D3=D3;D4=D4;DelayMS(10);D3=1;D4=1;3、设计题目用AT89C52单片机驱动1个数码管,电路如下图,开场时显示0;以后每过1s,显示内容加1,显示内容从09不断循环,即实现1位秒表的功能。#include#defineucharunsignedchar#defineuintunsignedintucharcodeDSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;voidDelayMS(uintxms)uinti,j;for(i=xms;i0;i-)for(j=110;j0;j-);voidmain()uchari=0;P0=0x00;while(1)P0=DSY_CODEi;i=(i+1)%10;DelayMS(880);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 培训材料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁