51单片机系统实验报告--计数器、交通灯.docVIP

51单片机系统实验报告--计数器、交通灯.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系 统 实 验 报 告 学院 XXXXXXXXX 专业 XXXXXX 姓名 XXXXX 学号 XXXXXXX 一、本设计拟实现的功能 1.时钟:四只数码管低二位0~59计数后给高二位0~59计数(即分秒计时),一只按键控制开始、结束; 2.交通灯:灯和数码管结合,模拟十字路口的交通灯的点亮与熄灭,数码管倒计时显示时间。 二、所用器件的功能、引脚图 1.所用器件:AT89S51、74LS47、LM7085 2.所用器件功能、引脚图 a)AT89S51 AT89S51引脚图 AT89S51是一个低功耗,高性能 CMOS?8位 单片机,片内含4k Bytes? ISP(In-system programmable)的可反复擦写1000次的 Flash只读程序存储器,器件采用 ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash 存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。 主要性能特点 1、4k Bytes Flash片内程序存储器; 2、128 bytes的随机存取数据存储器( RAM); 3、32个外部双向输入/输出(I/O)口; 4、5个 中断优先级、2层 中断嵌套中断; 5、6个中断源; 6、2个16位可编程 定时器/ 计数器; 7、2个全双工串行通信口; 8、 看门狗( WDT)电路; 9、片内 振荡器和 时钟电路; 10、与MCS-51兼容; 11、全静态工作:0Hz-33MHz; 12、三级程序存储器保密锁定; 13、可编程串行通道; 14、低功耗的闲置和掉电模式。 b) 74LS47 74LS47引脚图 74LS47真值表 74LS47是一种常用的BCD--七段数码管译码器驱动器,74LS47的输入端是四位二进制信号(8421BCD码),a、b、c、d、e、f、g是七段译码器的输出驱动信号,低电平有效。可直接驱动共阴极七段数码管, 是使能端,起辅助控制作用。 使能端的作用如下: (1) LT是试灯输入端,当 LT=0, BI=1时,不管其它输入是什么状态,a~g七段全亮; (2)BI静态灭灯输入 ,当 BI=0,不论其它输入状态如何,a~g均为0,显示管熄灭; (3)RBI动态灭零输入 ,当 LT=1, RBI=0时,如果 A3A2A (4) RBO动态灭零输出 ,它与灭灯输入BI 共用一个引出端。当 在动态灭零时输出才为0。片间与 RBI配合,可用于熄灭多位数字前后所不需要显示的零。 c) LM7805 LM7085引脚图 7805是常用到的稳压芯片,外围电路简单,输出电压为5V,可为51单片机提供工作电压。 三、软件设计流程图 开始 开始 初始化 初始化 按键扫描 按键扫描 判断按键决定执行相应按键程序不同按键的执行函数定时器 判断按键决定执行相应按键程序 不同按键的执行函数 定时器 数码管及交通灯输出函数 结束 结束 四、源程序 #include reg51.h #define uchar unsigned char #define uint unsigned int #define TH_SET 0x4C #define TL_SET 0x00 //定时50ms的初始值 #define RTime 24 // 红灯时间20s #define GTime 24 // 绿灯时间20s #define YTime 3 //黄灯时间5s sbit KEY_A=P1^0; sbit KEY_B=P1^1; sbit GREEN1=P2^0; sbit GREEN2=P2^3; sbit RED1=P2^1; sbit RED2=P2^4; sbit YELLOW1=P2^2; sbit YELLOW2=P2^5;//位定义 bit key1=0,key2=0;//四个按键状态标志 uint time1,time2;//time1,time2分别为键1、键2功能实现的时间变量 uchar acount,keyflag,Status=1,yellow=0;//acount定时一秒标志 //Status交通灯状态显示标志,keyflag按键选择标志,P黄灯闪烁定时标志 void Delay(int n){ //延时程序 uint i; uint j; for(i=0;in;i++){ for(j=0;j200;j++); } } //定时器0 void Timer0_SVR() interrupt 1{ TH0=TH_SET; TL0=TL_SET; acount+

文档评论(0)

我思故我在 + 关注
实名认证
文档贡献者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档