APP下载

PROTEUS 在“单片机技术基础”教学中的应用

2023-06-06刘春龙

师道·教研 2023年2期
关键词:抢答器交通灯省略

刘春龙

PROTEUS是英国Labcenter Electronics 公司研发的多功能EDA软件,是一个完整的单片机软件、硬件设计仿真平台,其仿真结果与实际硬件非常接近,因此在工程设计和单片机教学中都具有重要的现实意义。本人在课堂教学中已将PROTEUS应用于单片机技术基础课程的课堂教学、实验教学与课程设计中,并取得了很好的教学效果。

一、单片机PROTEUS仿真教学基本内容和步骤

单片机在理论教学和实验验证中,教学内容一般包括:单片机内部资源及周边外围电路设计和装调、控制程序的编写、单元电路的调试和整个应用系统的调试。所以,老师在单片机教学时,要根据单片机课程和学生实际,将课程教学内容合理分配课时,并在课前做好适当充分的准备,使更好的完成单片机教学任务。1.单片机内部资源实验;2.硬件电路的设计和装调;3.Keil软件C程序的编制、调试;4.调试。

二、教学实例

Protues运行于Windows操作系统中,可以仿真、分析各种模拟器件和集成电路。在硬件仿真系统中具有全速、单步、设置断点等调试功能。同时可以观察各个变量、寄存器等的当前状态。下面以一个实际的“单片机控制八路抢答器”仿真例子介绍如何使用PROTEUS软件进行电路设计。

(一)设计任务

设计一个单片机控制八路智能抢答器,使其可以完成竞赛时选手抢答功能。

(二)控制要求

1.设八个抢答按钮,另设一个按钮用来清零。

2.抢答时能够显示队号,具有报警功能。

3.只要有按钮按下,其他选手按钮功能失效。

4.电路具有倒计时功能。

(三)单片机控制八路抢答器硬件电路原理图(略)

(四)软件程序

#include  //头文件

……  // 单片机引脚定义、数码管数据等程序,此处省略

void main(void){  //主函数

……  // 定时设定等初始化程序,此处省略

while(1){  //大循环

……  // 数码管动态扫描、数码管倒计时闪烁等程序,此处省略

switch(ID){//状态机实现抢答程序

case 0:  ……  // 状态机初始化等程序,此处省略

ID=1;//交通灯执行流程切换变量赋值1,进入第1步

break;//跳出第0步

case 1:  ……  // 搶答器复位等程序,此处省略

ID=2;//交通灯执行流程切换变量赋值2,进入第2步

break;   //跳出第1步

case 2: ……  // 抢答器启动程序,此处省略

ID=3;//交通灯执行流程切换变量赋值3,进入第3步

break;   //跳出第2步

case 3://8位选手抢答程序

if(miao==0) {TR0=0;buf[0]=buf[1]=0;ID=0;}//秒为0,停止定时器,同时清除数码管缓存,交通灯执行流程切换变量赋值0,进入第0步

if(P1==0xFE){P0=0xF9;TR0= 0;LED1=1;ID=1;} //选手1抢答

else if(P1==0xFD){P0=0xA4;TR0=0;LED1=1;ID=1;}// 选手2抢答

……// 3~7抢答器程序,此处省略

else if(P1==0x7F){P0=0x80;TR0=0;LED1=1;ID=1;}// 选手8抢答

break;   //跳出第3步

}

}

}

void Timer_0(void)interrupt  1 //定时器T0的中断函数

{

……  // 定时中断等程序,此处省略

}

}

在Keil建立项目并编译出“.hex”文件后,将其导入Proteus仿真软件虚拟单片机中,并按F5或单击Proteus软件工具栏的仿真按钮,在Proteus软件里直接进行实验任务操作,直接可以查看到结果。最后,利用单片机下载软件将“.hex”文件传送至单片机进行硬件调试,查看是否满足控制要求。

责任编辑 徐国坚

猜你喜欢

抢答器交通灯省略
偏旁省略异体字研究
基于单片机的交通灯控制系统设计
4路抢答器的设计与研发
基于STC12C5A60S2单片机的6路抢答器设计
一直飘红的交通灯
基于单片机的LED模拟交通灯设计
中间的省略
多路竞赛抢答器电路的仿真设计
基于protues仿真的交通灯即时控制的一种实现
省略