基于Proteus和8086CPU的智能家居虚拟仿真系统设计*
2021-08-23刘书赫李兰英汪明曌单黎潇
刘书赫,李兰英,肖 亮,汪明曌,单黎潇
(哈尔滨理工大学 计算机科学与技术学院,黑龙江 哈尔滨150080)
突如其来的新冠肺炎疫情,对高校嵌入式方向相关课程课堂教学提出了挑战,而挑战中难度最大的当属硬件相关的实验教学。硬件虚拟仿真实验平台可以在没有实验工具和实验平台的情况下,进行硬件仿真实验,学生可在没有硬件成本支出的情况下,不受时间空间的限制完成实验,提高实验的伸缩性和扩展性。
由于EDA工具软件在硬件仿真上的优异性能,可营造嵌入式系统低成本无硬件的实践教学环境。Proteus不仅可将许多嵌入式系统实例功能形象化,也可将其运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。
为了解决微机原理与接口技术课程的线上实践教学的难题,本文基于Proteus和8086CPU,设计与实现了一个简易智能家居虚拟仿真系统,该系统涵盖了课程大纲中要求学生掌握的总线缓冲驱动器74LS373、74LS244、74LS138译码器、并行可编程接口芯片8255、定时器/计数器8253、模数转换器ADC0809等接口器件,以及嵌入式系统设计常用的外围设备:按键、LCD显示器、指示灯、继电器等,还包括Proteus元件库中提供的光强检测、声音检测、电位器等器件。疫情期间的线上案例实践教学验证了其很好的教学效果,有助于学生全面、系统地达成课程的教学目标。
1 系统功能及Proteus简介
简易智能家居虚拟仿真控制系统可完成的功能如下:
1.1 实现室内温度监测和调节
在液晶屏上实时显示温度,温度超过设定值可以启动空调(电风扇),低于设定值则停止。
1.2 密码锁门控
在键盘上连续输入4位密码,在液晶屏上显示,当输入正确的密码后,显示OK,门锁打开,5秒后门锁自动熄灭。
1.3 楼道灯声光控制
天黑后,光线低于设定值后,如果有声音,楼道灯自动点亮10秒钟后熄灭。
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其他EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是比较好的仿真单片机及外围器件的工具。虽然国内推广刚起步,但已受到单片机爱好者、从事嵌入式教学的教师、致力于嵌入式系统开发应用的科技工作者的青睐。
Proteus是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器,另外Proteus还支持多种通用外设模型[1]。
2 仿真系统硬件设计
简易智能家居虚拟仿真系统硬件结构总体框图如图1所示。包括8086处理器及其接口电路、按键电路、LCD液晶显示电路、室内温度检测电路、楼道灯控制电路、密码锁控制电路和风扇控制电路等。
图1 智能家居硬件总体结构框图
8086CPU总线控制、译码电路和可编程并行接口芯片8255的接口电路[2]如图2所示。
图2 8086CPU总线控制与译码电路图
矩阵键盘控制电路如图3所示。0~15共16个按键通过74LS373和74LS244与8086接口。
图3 矩阵键盘控制电路图
温度测量及液晶显示电路如图4所示。温度检测采用一个10k电位器RV1进行模拟。电位器滑动头与ADC0808的IN0连接,通过改变滑动头的位置来模拟温度的变化。液晶显示器采用LCD1602。8086通过8255控制1602进行温度的显示。
图4 温度测量及液晶显示电路图
ADC0808接口电路如图5所示。通过8255的PC0~PC1控制通道的选择。
图5 ADC0809接口电路图
楼道灯、密码锁控制电路如图6所示。采用定时器8253接口芯片[3]控制楼道灯和密码锁的开关,8253的通道0控制楼道灯,通道1控制密码锁,用继电器作为电子开关控制电灯,用三色灯模拟密码锁的开关。风扇的控制和楼道灯类似。
图6 楼道灯、密码锁控制电路图
楼道灯声光检测电路如图7所示。采用器件库里面的APDS-9002作为光强度检测电路,A/D转换值最暗为2,最亮为282。采用器件库里面的VUMETER测量声音的大小。
图7 楼道灯声光检测电路图
3 仿真软件设计
系统软件采用8086汇编语言进行设计,其主程序流程如图8所示。
图8 主程序流程图
包括AD转换、温度代码转换和温度显示、电风扇控制、密码门控制和楼道灯控制等子程序。
4 结束语
由于Proteus提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了一个培养提高学生创新实践能力的平台。使用Proteus软件进行嵌入式系统虚拟仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力。
除此之外,由于经费以及时间成本问题,很多情况下学生没有能力购置所需的仪器以及元器件,大多数学生只能在实验室进行硬件实验和嵌入式系统相关技术的学习。所以本文设计的智能家居仿真系统也可作为基于其他处理器的仿真系统设计的参考案例。学习和掌握基于Proteus的仿真系统的设计方法,既能提高嵌入式系统线上实践教学质量,又能大大降低嵌入式系统人才培养的成本和门槛。