《《片机实验》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《片机实验》PPT课件.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理与接口技术(单片机)实验微机原理与接口技术(单片机)实验 实验八实验八 交通灯控制系统交通灯控制系统 一、实验目的:一、实验目的:1、通过实验学会交通灯控制系统设计。、通过实验学会交通灯控制系统设计。2、熟悉、熟悉XL400+单片机综合仿真试验仪的组成和使单片机综合仿真试验仪的组成和使用方法。用方法。3、学会应用、学会应用XLISPXLISP和和keil-uvision2集成调试软件进行集成调试软件进行实验。掌握实验的步骤并能得到正确的实验结果。实验。掌握实验的步骤并能得到正确的实验结果。二、实验内容与步骤二、实验内容与步骤(一)内容(一)内容1 设计一个交通灯控制系统,要求能实现以下
2、功能:设计一个交通灯控制系统,要求能实现以下功能:1 1、正常时信号灯控制、正常时信号灯控制(1 1)初始状态东西南北全为红灯)初始状态东西南北全为红灯(2 2)东西红灯、南北绿灯)东西红灯、南北绿灯(3 3)东西红灯、南北绿灯转黄灯闪烁)东西红灯、南北绿灯转黄灯闪烁(4 4)南北红灯、东西绿灯)南北红灯、东西绿灯(5 5)南北红灯、东西绿灯转黄灯闪烁)南北红灯、东西绿灯转黄灯闪烁(6 6)转()转(2 2)(二)内容(二)内容2 2 设计一个设计一个00-5900-59简易秒表简易秒表(二)实验步骤二)实验步骤 第一部分:系统安装和检测第一部分:系统安装和检测 1、用USB电缆线连接PC机的
3、USB口和实验仪的USB插座,打开PC机的控制面板系统硬件设备管理器观看,通常实验仪连接在COM3上。2、XL400+试验仪设置 按下电源开关,确认编程/仿真按钮处于编程(弹起)状态。确认CPU卡座上的CPU芯片为AT89S52并已压下扳手安装好。3、双击桌面XLISP启动程序,选择操作/检测编程器。出现编程器检测OK!说明系统已经连接完好,可以下一步实验,否则需要检查出错的原因并改正。第二部分第二部分 软件设计软件设计 在在KielKiel软件中输入程序,编辑,编译链接,软件中输入程序,编辑,编译链接,并运行程序。并运行程序。注意要生成注意要生成HEXHEX文件文件。1 1、双击桌面上的、双
4、击桌面上的UV2UV2快捷图标,启动软件。快捷图标,启动软件。2 2、点击、点击P P工程工程 N N新建工程新建工程 输入工程名输入工程名点击保存。出现点击保存。出现CPUCPU屏幕,选屏幕,选AtmelAtmel AT89C51 AT89C51 点确定。屏幕左上方出现图标目标点确定。屏幕左上方出现图标目标1 1。3 3、点击文件、点击文件 新建文件新建文件 出现汇编语言输入区。出现汇编语言输入区。输入程序,点击文件中的保存,输入:程序名输入程序,点击文件中的保存,输入:程序名.C C 并点并点击保存。击保存。(输入的程序名一般不超过输入的程序名一般不超过6 6个字母数字个字母数字,以字以字
5、母打头母打头)4 4、点击(图标)目标、点击(图标)目标1 1前的前的“+”+”号,出现(号,出现(图标图标)源程序组源程序组1 1,选中并点右键,选,选中并点右键,选”文件增加到源程序组文件增加到源程序组1”1”,选择文件类型为,选择文件类型为 .C.C,再选输入的,再选输入的程序名程序名.C C,点,点ADDADD(加入),点确定。(加入),点确定。此时点击源程序组此时点击源程序组1 1可以看到输入的可以看到输入的程序名程序名.C C 5 5、对目标、对目标1 1的属性进行修改的属性进行修改;如右图如右图,点击点击工程下拉菜单中的工程下拉菜单中的”目标目标目标目标11属性属性”;”;6 6
6、、单击、单击”目标目标”,”,输入仿真器的频率输入仿真器的频率12(MHz);12(MHz);7 7、选择、选择”输出输出”菜单中的菜单中的”生成生成HEXHEX文件文件”,”,以便汇编后产生以便汇编后产生HEXHEX代码代码,供编程器使用供编程器使用;第三部分第三部分 程序写入单片机观察运行结果程序写入单片机观察运行结果1、双击桌面XLISP启动程序,选择打开框,找到需要执行的程序(HEX文件),点击;在XLISP的文件 程序区可见到要执行的程序;2、点击写入框,在程序写入结束后即可观察运行的结果交通灯控制系统设置:交通灯控制系统设置:绿 黄 红(南北)P1.7 P1.6 P1.5 P1.4
7、 P1.3 P1.2 P1.1 P1.0 P1口 状 态 0 0 0 0 0 0 0 1 01H 南北红灯 0 0 0 0 0 1 0 0 04H 南北绿灯 0 0 0 0 0 0 1 0 02H 南北黄灯 交通灯控制控制状态 绿 黄 红(东西)P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P2口 状 态 0 0 0 0 0 0 0 1 01H 东西红灯 0 0 0 0 0 1 0 0 04H 东西绿灯 0 0 0 0 0 0 1 0 02H 东西黄灯 (1)东西南北全红灯:P1=0 x01;P2=0 x01(2)东西绿灯南北红灯:P1=0 x04;P2=0
8、x01(3)东西黄灯闪烁南北红灯:P1=02和00;P2=0 x01(4)东西红灯南北绿灯:P1=0 x04;P2=0 x01 交通灯控制参考程序交通灯控制参考程序#include unsigned char t0,t1;/定义全局变量,用来保存延时时间循环次数/函数名:delay0_5s1 用T1方式1编制秒延时程序,void delay0_5s1()for(t0=0;t00 x0a;t0+)/用全局变量t0作为循环控制变量 TH1=0 x3c;/设置定时器初值 TL1=0 xb0;TR1=1;/启动T1 while(!TF1);/查询计数是否溢出,即定时50ms时间到,TF1=1 TF1=
9、0;/50ms定时时间到,将定时器溢出标志位TF1清零 /函数名:delay_t1 实现秒128秒延时void delay_t1(unsigned char t)for(t1=0;t1t;t1+)/采用全局变量t0作为循环控制变量 delay0_5s1();void main()/主函数 unsigned char k;TMOD=0 x10;/T1工作在方式1 EA=1;/开放总中断允许位 EX0=1;/开外部中断0中断允许位 while(1)P1=0 x01;P2=0 x01;/东西南北红灯,延时5秒 delay_t1(10);P1=0 x04;P2=0 x01;/东西绿灯南北红灯 P1=0
10、 x0a;/A黄灯,B红灯,for(k=0;k5;k+)/A黄灯闪烁5次 P1=02;P2=0 x01 delay0_5s1();/延时秒 P1=00;P2=0 x01;delay0_5s1();/延时秒 P1=0 x04;P2=0 x01;/东西红灯南北绿灯,延时5秒 delay_t1(10);for(k=0;k5;k+)/B黄灯闪烁3次 P1=0 x01;P2=0 x02;delay0_5s1();/延时秒 P1=0 x01;P2=0 x00 delay0_5s1();/延时秒#include unsigned char msec,sec;/定义msec为50ms计数变量,sec为秒变量v
11、oid delay(unsigned char i);void T0_INT(void)interrupt 1/定时器0中断类型号为1 TH0=0 x3c;/50ms定时初值 TL0=0 xb0;msec+;/中断次数增1 if(msec=20)/中断次数到20次吗?msec=0;/1秒计时到,50ms计数单元清零 sec+;/秒单元加1 if(sec=60)/到60秒吗?sec=0;/是,秒单元清零 0059简易秒表参考程序简易秒表参考程序void main()unsigned char led=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,
12、0 x80,0 x90;/定义数字09字型显示码 unsigned char temp;TMOD=0 x01;/定时器0工作方式1 TH0=0 x3c;/50ms定时初值 TL0=0 xb0;EA=1;/开总中断 ET0=1;TR0=1;/开定时器0中断 while(1)P2=0 x7f;/选中控制的数码管 P0=ledsec%10;/显示秒个位 delay(10);P2=0 xbf;/选中控制的数码管 P0=ledsec/10;/显示秒十位 delay(10);void delay(unsigned char i)/延时函数,i为形式参数 unsigned char j,k;/定义无符号字符型变量j和k for(k=0;ki;k+)/双重for循环语句实现软件延时 for(j=0;j255;j+);三、思考题三、思考题 1 1、修改延时子程序、修改延时子程序,改变延时时间,观察结果。改变延时时间,观察结果。2 2、用、用LEDLED数码管显示各方向绿灯亮的时间。数码管显示各方向绿灯亮的时间。四、实验要求四、实验要求:1、实习前必须编写好程序 2、程序必须编译通过并运行正确 3、提交试验报告:报告内容 (1)实验目的 (2)实验内容 (3)实验原理图与线路连接 (4)实验步骤 (5)实验结果 (6)实验体会