- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与接口技术(B)实验 实验三 I/O口应用与广告灯设计 一、实验目的 1、熟悉XLISP系列 单片机综合仿真试验仪的组成和使用方法。 2、学会应用XLISP仿真试验和keil-uvision2集成调试软件进行仿真实验。掌握仿真实验的步骤并能得到正确的实验结果。 二、实验内容 1、用并行口P0接8个发光二级管,编程序实现8个灯同时闪烁。 2、用并行口P1接8个发光二级管,编程序实现8路跑马,从上到下逐个点亮8个LED灯。 3、提高部分(广告灯设计):编写C语言程序,实现下面广告灯作业。 (1)从上到下逐个点亮8个LED灯,再从下到上逐个点亮8个LED灯 (2)从中间到上下逐个点亮8个LED灯 (3)隔灯逐个点亮8个LED灯 三、实验步骤 1、硬件连接 (1)使用USB线(电源)和串口线(通信),将XL2000综合仿真仪与微型计算机连接起来; (2)在XL2000/1000综合仿真仪上,将JP13和JP14两个232/USB通信选择方式端口的跳线帽跳至232的方式,将JP17的开关压下,选择仿真模式; (3)使用8P的连接线将JP44(CPU的P1口)与JP32(8个发光二极管)相连。 2、软件设计 (1) Kiel软件操作同实验一:建立工程并存储、选择芯片89C51、新建文件输入程序并保存,将文件加入到工程中。 (2)修改属性:如右图,点击工程下拉菜单中的”目标’目标1’属性”; 单击”目标”,输入仿真器的频率12(MHz); 选择“输出”菜单中的”生成HEX文件”,以便汇编后产生HEX代码,供编程器使用; 在”调试”菜单中,选择如下功能, 并”点击设置”,进行 右图设置,注意你使用 的是那个串口(Com1还 是其它的,可以看设备 管理器); (3)全部确定后,对程序进行编译,并生成相应的HEX文件后,进行调试(红色的D), ;如出现错误报告,要求连上仿真 仪时,请检查有无连接USB线和串 口线,并按下仿真仪上的复位键; (4)进入调试窗口,连接上相关的连接线,点击”全速运行”, 即可观查仿真结果; (5)退出仿真时,按下仿真仪上的复位键就会自动退到编辑模式下,修改完毕程序并编译后,再按下”调试”即可进入仿真模式。 四、参考程序 1、8个灯同时闪烁。 #includereg51.h Void delay(unsigned char i) Void main() { while(1) { p0=0x00; delay(200); p0=0xff; delay(200); } } Void delay(unsigned char i) { unsigned char j,k; for(k=0,kI,k++) for(j=0,j255,j++); } 2、8路跑马,从上到下逐个点亮8个LED灯。 #includereg51.h void main(void) { int i,j; char code led[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; while (1) { for (i=0;i8;i++) { P1=led[i]; for(j=0;j30000;j++); } } } 五、写实验报告三 每次实验完毕后记录实验结果,在下次实验时提交上次实验的实验报告。 报告内容: 1、实验目的 2、实验内容 3、实验原理图与线路连接 4、实验步骤 5、实验结果 6、实验体会 #include reg51.h #define uint unsigned int #define uchar unsigned char const tab[]={0Xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, 0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff, 0xaa,0x55,0xaa,0x55,0xaa,0x55,0xff, 0xf0,0x0f,0xf0,0x0f,0xff, 0x33,0xcc,0x33,0xcc,0x33,0xcc,0xff}; void delay(void) { uint i; for(i=0;i34530;i++); } void main(void) { char x;
文档评论(0)