单片机IO口和中断.ppt_第1页
单片机IO口和中断.ppt_第2页
单片机IO口和中断.ppt_第3页
单片机IO口和中断.ppt_第4页
单片机IO口和中断.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理与接口技术(单片机)实验 实验四 I/O口和中断 一、实验目的: 1、通过实验学会I/O口和中断的应用。 2、熟悉XL400+ 单片机综合仿真试验仪的组成和使用方法。 3、学会应用XLISP和keil-uvision2集成调试软件进行实验。掌握实验的步骤并能得到正确的实验结果。,二、实验内容与步骤 (一)内容 用XL400+单片机综合仿真试验仪和Keil软件实现: 1、8个LED灯循环点亮,形成跑马灯。 2、在8个LED数码管上依次显示1,2,3,4,5,6,7,8。 (二)实验步骤 第一部分:系统安装和检测 1、插入随机附带的光盘(WWW.51C51.COM),打开驱动程序XL400单片机开发板XL400+快速入门手册阅读 2、安装XLISP软件:打开驱动程序XLISP驱动程序备份安装点setup;按照提示完成XLISP的安装。,3、用USB电缆线连接PC机的USB口和实验仪的USB插座,打开XL400+使用手册,按照说明安装USB驱动程序。 安装后可按下面方法检查是否安装正确:打开PC机的控制面板系统硬件设备管理器观看,通常实验仪连接在COM3上。 4、XL400+试验仪设置 按下电源开关,确认编程/仿真按钮处于编程(弹起)状态。确认CPU卡座上的CPU芯片为AT89S52并已压下扳手安装好。 5、双击桌面XLISP启动程序,选择操作/检测编程器。出现编程器检测OK!说明系统已经连接完好,可以下一步实验,否则需要检查出错的原因并改正。,第二部分 软件设计 在Kiel软件中输入程序,编辑,编译链接,并运行程序。注意要生成HEX文件。 1、双击桌面上的UV2快捷图标,启动软件。 2、点击P工程 N新建工程 输入工程名点击保存。出现CPU屏幕,选Atmel AT89C51 点确定。屏幕左上方出现图标目标1。,3、点击文件 新建文件 出现汇编语言输入区。 输入程序,点击文件中的保存,输入:程序名.C 并点击保存。(输入的程序名一般不超过6个字母数字,以字母打头) 4、点击(图标)目标1前的“+”号,出现(图标)源程序组1,选中并点右键,选”文件增加到源程序组1”,选择文件类型为 .C,再选输入的程序名.C,点ADD(加入),点确定。 此时点击源程序组1可以看到输入的程序名.C,5、对目标1的属性进行修改;如右图,点击工程下拉菜单中的”目标目标1属性”;,6、单击”目标”,输入仿真器的频率12(MHz);,7、选择”输出”菜单中的”生成HEX文件”,以便汇编后产生HEX代码,供编程器使用;,第三部分 程序写入单片机观察运行结果 1、双击桌面XLISP启动程序,选择打开框,找到需要执行的程序(HEX文件),点击;在XLISP的文件 程序区可见到要执行的程序; 2、点击写入框,在程序写入结束后即可观察运行的结果,题1参考程序 #include “reg51.h“ #define unit unsigned int #define unchar unsigned char const tab=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; void delay (void) unsigned int i; for(i=0;i35530;i+); void main (void) unsigned char x; while(1) for (x=0;x8;x+) P0=tabx; delay(); ,include #include unsigned char data dis_digit; unsigned char code dis_code11= 0x28, 0x7E, 0xA2, 0x62, 0x74, 0x61, 0x21, 0x7A, 0x20, 0x60,0xff; unsigned char data dis_buf8; unsigned char data dis_index; char code SST5163 _at_ 0x003b; void main() P0 = 0xff; P2 = 0xff; TMOD = 0x01; TH0 = 0xFC; TL0 = 0x17; IE = 0x82; dis_buf0 = dis_code0x1; dis_buf1 = dis_code0x2;,题2参考程序,dis_buf2 = dis_code0x3; dis_buf3 = dis_code0x4; dis_buf4 = dis_code0x5; dis_buf5 = dis_code0x6; dis_buf6 = dis_code0x7; dis_buf7 = dis_code0x8; dis_digit = 0xfe; dis_index = 0; TR0 = 1; while(1); void timer0() interrupt 1 TH0 = 0xFC; TL0 = 0x17; P2 = 0xff; P0 = dis_bufdis_index;,P2 = dis_digit; dis_digit = _crol_(dis_digit,1); dis_index+; dis_index ,三、思考题 编程改变流水灯的方式 A:由灯1至灯8,再由灯8回到灯1 B:由两头到中间,再由中间到两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论