单片机综合实验报告之模拟交通灯设计.docVIP

单片机综合实验报告之模拟交通灯设计.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文档。上传文档
查看更多
单片机综合实验报告 题 目: 模拟真实交通灯 班 级: 姓 名: 学 号: 指导老师: 2014 年 6 月 13 日 一、实验内容: 用8255芯片的PA、PB口低四位做输出口,控制十二个发光二极管燃灭,模拟十字路口交通灯管理,并利用数码显示器进行倒计时显示(采用单片机内部定时器定时)。通过外部中断能使交通灯暂停运行,并点亮4个红灯。通过16*16点阵中的图形模拟控制行人过马路的人形“走”、“停”指示灯,可参考下图所示: 利用实验系统16×16点阵实验单元,以两种方式控制点阵显示。要求编制程序实现汉字点阵循环显示。 I/O口地址分配 I/O口分别提供字形代码(列码)、扫描信号(行码),凡字形代码位为“1”、行扫描信号为“1”点亮该点,否则熄灭;通过逐行扫描循环点亮字形或曲线。 二、实验电路及功能说明 8255与发光二极管连线图 数码LED显示器电路 16×16LED点阵显示电路 实验原理图 三、实验程序流程图: 主程序: 四、实验结果分析 通过程序仿真,可以检测设计的电路能基本满足设计要求。 交通灯亮灭过程同“8255控制交通灯实验”,倒计时显示只需两位数(0~99),用定时器定时进行倒计时,每秒钟减1。在16*16点阵中显示的人形“走”、“停”标志可自定义。 五、心得体会 我们通过作这个单片机实验,我们总结了一下点: 1、 加深了对51单片机的理解,不仅仅是以前那样只能点亮发光二极管。 2、 感受到了完成一件程序的乐趣,并且知道了实践精神。 3、 理解了51单片机的强大和我们知识的肤浅。 4、 学到了许多原来C语言中没有的东西,如:控制按键的程序 While(P0_5==1) { Time++; While(P0_5==1); } 这样可以不加防按键抖动的延时程序,更精确时间。 5、进一步充分利用中断时刻都在运行,让时间在中断中显示,就不会出现进入死循环后而无法显示时间的情况,而且还可以快速的反映除时间的变化。 六、程序清单 #include reg51.h #include absacc.h #define uchar unsigned char #define uint unsigned int #define ROW1 XBYTE[0XFFE3] #define ROW2 XBYTE[0XFFE0] #define COL1 XBYTE[0XFFE2] #define COL2 XBYTE[0XFFE1] #define PA XBYTE[0xffd8] #define PB XBYTE[0xffd9] #define CTL XBYTE[0xffdb] #define SEG XBYTE[0xffdc] #define BIT XBYTE[0xffdd] #define allredend 10 #define ewredend 2*ewstarter+allredend #define snyellowend ewredend+10 #define snredend snyellowend+2*snstarter #define ewyellowend snredend+10 sbit KEY1=P1^0; sbit KEY2=P1^1; sbit KEY3=P1^2; sbit P32=P3^2; uchar tongBu; uchar code ewTable[]={0xb6,0x75,0xf3,0xf7,0xae,0x9e,0xbe}; uchar code nsTable[]={0xd,0xd,0xc,0xd,0xb,0x7,0xf}; //uchar tempa,tempb; int time=1,cnt,change,intflag,inttime=1,ewstarter=10,snstarter=15; int tempseg; uchar key1=0; uchar buffer[]={0,0,0,0,0,0}; uchar table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}; /*-- 行走 --*/ /*-- 宽度x高度=16x16 --*/ uchar code le

文档评论(0)

美丽花 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档