欢迎来到天天文库
浏览记录
ID:62074337
大小:2.37 MB
页数:336页
时间:2021-04-14
《最新proteus单片机课件ppt.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、proteus单片机7.7模拟交通灯控制实训7.8液晶显示控制实训7.9A/D转换接口技术实训7.10D/A转换接口技术实训7.11双机通信技术实训7.12单片机课程设计7.1单片机最小系统实训本实训通过51单片机控制一个简单的LED灯,实现闪烁功能,并将程序编译下载到单片机中,从而使单片机工作起来。单片机最小系统实训图如图7.1.1所示,所用元件清单如表7.1.1所示。delay(255); } } voiddelay(unsignedchari) {unsignedcharj,k
2、; for(k=0;k
3、。其中转向灯包括左转灯和右转灯,其状态表示的意义如表7.2.1所示。本实训利用PROTEUS模拟汽车转向灯控制,其中开关S0、S1模拟驾驶员发出命令,若开关状态为0,则表示开关断开,反之闭合。其实训图如图7.2.1所示,所用元件清单如表7.2.2所示。图7.2.1模拟汽车转向灯控制实训图在上述电路图中,开关S0、S1模拟驾驶员命令,发光二极管D1、D2模拟左转灯和右转灯,两者之间的关系如表7.2.1所示。利用开关S0、S1的状态即可控制D1和D2的状态。程序代码为:#include
4、 sbitP1_0=P1^0; sbitP1_1=P1^1;sbitP3_0=P3^0;sbitP3_1=P3^1; voiddelay(unsignedchari); voidmain(){ bitleft,right; while(1) { P3_0=1; P3_1=1; left=P3_0; right=P3_1; switch(P3){ case0xfc:P1_0=1,P1_1=1;break; case0xfd:P1_0=0,P1_1=1;b
5、reak; case0xfe:P1_0=1,P1_1=0;break; case0xff:P1_0=0,P1_1=0;break; } delay(255); P1_0=1; P1_1=1; delay(255);} } voiddelay(unsignedchari) { unsignedcharj,k; for(k=0;k
6、ex,双击AT89C51,将弹出如图7.2.2所示的对话框。在图7.2.2中添加十六进制文件7-2-1.hex,点击“OK”即可。最后进行仿真,可实现表7.2.1的所有功能。图7.2.2添加十六进制文件7.3基于LED数码管的简易秒表设计实训利用51单片机控制1个LED数码管,依次循环显示0~9,显示间隔时间为1s,即可实现一位数的简易秒表。基于LED数码管的简易秒表设计实训图如图7.3.1所示,所用元件清单如表7.3.1所示。图7.3.1基于LED数码管的简易秒表设计实训在上述电路图中,利用单片机的P
7、2口控制一个共阳极LED数码管,向P2口输出相应字型码即可显示数字0~9。对于共阳极数码管,当连接段控制端的I/O引脚输出低电平时,相应段的发光管点亮。程序代码为:#include unsignedchar led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //定义数组led存放数字0~9的字型码 voiddelay1s( ) //采用定时器1实现1s的延时 { unsignedchari;
8、 for(i=0;i<20;i++)//设置循环次数为20{ TH1=0x3c;//设置定时器初值为3CBOH TL1=0xb0; TR1=1;//启动定时器T1 while(!TF1);//查询计数是否溢出,即 50ms时间到则TF1=1 TF1=0;//将溢出标志位TF1清零 } }voidmain( ) //主函数 { unsignedchari; TMOD=0x10; //设置定时器1在
此文档下载收益归作者所有