《片机实验》PPT课件.ppt

上传人:牧羊曲112 文档编号:5586122 上传时间:2023-07-31 格式:PPT 页数:19 大小:221.49KB
返回 下载 相关 举报
《片机实验》PPT课件.ppt_第1页
第1页 / 共19页
《片机实验》PPT课件.ppt_第2页
第2页 / 共19页
《片机实验》PPT课件.ppt_第3页
第3页 / 共19页
《片机实验》PPT课件.ppt_第4页
第4页 / 共19页
《片机实验》PPT课件.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《《片机实验》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《片机实验》PPT课件.ppt(19页珍藏版)》请在三一办公上搜索。

1、微机原理与接口技术(单片机)实验 实验八 交通灯控制系统 一、实验目的:1、通过实验学会交通灯控制系统设计。2、熟悉XL400+单片机综合仿真试验仪的组成和使用方法。3、学会应用XLISP和keil-uvision2集成调试软件进行实验。掌握实验的步骤并能得到正确的实验结果。,二、实验内容与步骤(一)内容1 设计一个交通灯控制系统,要求能实现以下功能:1、正常时信号灯控制(1)初始状态东西南北全为红灯(2)东西红灯、南北绿灯(3)东西红灯、南北绿灯转黄灯闪烁(4)南北红灯、东西绿灯(5)南北红灯、东西绿灯转黄灯闪烁(6)转(2)(二)内容2 设计一个00-59简易秒表,(二)实验步骤 第一部分

2、:系统安装和检测 1、用USB电缆线连接PC机的USB口和实验仪的USB插座,打开PC机的控制面板系统硬件设备管理器观看,通常实验仪连接在COM3上。2、XL400+试验仪设置 按下电源开关,确认编程/仿真按钮处于编程(弹起)状态。确认CPU卡座上的CPU芯片为AT89S52并已压下扳手安装好。3、双击桌面XLISP启动程序,选择操作/检测编程器。出现编程器检测OK!说明系统已经连接完好,可以下一步实验,否则需要检查出错的原因并改正。,第二部分 软件设计 在Kiel软件中输入程序,编辑,编译链接,并运行程序。注意要生成HEX文件。1、双击桌面上的UV2快捷图标,启动软件。2、点击P工程 N新建

3、工程 输入工程名点击保存。出现CPU屏幕,选AtmelAT89C51 点确定。屏幕左上方出现图标目标1。,3、点击文件 新建文件 出现汇编语言输入区。输入程序,点击文件中的保存,输入:程序名.C 并点击保存。(输入的程序名一般不超过6个字母数字,以字母打头)4、点击(图标)目标1前的“+”号,出现(图标)源程序组1,选中并点右键,选”文件增加到源程序组1”,选择文件类型为.C,再选输入的程序名.C,点ADD(加入),点确定。此时点击源程序组1可以看到输入的程序名.C,5、对目标1的属性进行修改;如右图,点击工程下拉菜单中的”目标目标1属性”;,6、单击”目标”,输入仿真器的频率12(MHz);

4、,7、选择”输出”菜单中的”生成HEX文件”,以便汇编后产生HEX代码,供编程器使用;,第三部分 程序写入单片机观察运行结果1、双击桌面XLISP启动程序,选择打开框,找到需要执行的程序(HEX文件),点击;在XLISP的文件 程序区可见到要执行的程序;2、点击写入框,在程序写入结束后即可观察运行的结果,交通灯控制系统设置:绿 黄 红(南北)P1.7 P1.6 P1.5 P1.4 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 南北黄灯,交通灯控制

5、控制状态 绿 黄 红(东西)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 x01(3)东西黄灯闪烁南北红灯:P1=02和00;P2=0 x01(4)东西红灯南北绿灯:P1=0 x04;P2=0 x01,交通灯控制参考程序#include unsigned char t0,t1;/定义全局变量

6、,用来保存延时时间循环次数/函数名:delay0_5s1 用T1方式1编制0.5秒延时程序,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=0;/50ms定时时间到,将定时器溢出标志位TF1清零,/函数名:delay_t1 实现0.5秒128秒延时void delay_t1(unsigned char t)for(t1=0;t1t;t1+)/采用全局变量t0作为循环控

7、制变量 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 x0a;/A黄灯,B红灯,for(k=0;k5;k+)/A黄灯闪烁5次 P1=02;P2=0 x01 delay0_5s1();/延时0.5秒 P1=00;P2=0 x01;delay0_5s1();/延时0.5秒,P1=

8、0 x04;P2=0 x01;/东西红灯南北绿灯,延时5秒 delay_t1(10);for(k=0;k5;k+)/B黄灯闪烁3次 P1=0 x01;P2=0 x02;delay0_5s1();/延时0.5秒 P1=0 x01;P2=0 x00 delay0_5s1();/延时0.5秒,#include unsigned char msec,sec;/定义msec为50ms计数变量,sec为秒变量void delay(unsigned char i);void T0_INT(void)interrupt 1/定时器0中断类型号为1 TH0=0 x3c;/50ms定时初值 TL0=0 xb0;m

9、sec+;/中断次数增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,0 x80,0 x90;/定义数字09字型显示码 unsigned char temp;TMOD=0 x01;/定时器0工作方式1 TH0=0 x3c;/50ms定时初值 TL0=0 xb0;EA=1;/开总中断

10、 ET0=1;TR0=1;/开定时器0中断 while(1)P2=0 x7f;/选中P2.0控制的数码管 P0=ledsec%10;/显示秒个位 delay(10);P2=0 xbf;/选中P2.1控制的数码管 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、修改延时子程序,改变延时时间,观察结果。2、用LED数码管显示各方向绿灯亮的时间。四、实验要求:1、实习前必须编写好程序 2、程序必须编译通过并运行正确 3、提交试验报告:报告内容(1)实验目的(2)实验内容(3)实验原理图与线路连接(4)实验步骤(5)实验结果(6)实验体会,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号