电子信息工程综合实训分析澳门威尼斯人官方直营

摘要 :该院电子信息工程专业《单片机应用技术》课程的综合实训项目是简易计算器,能输入并显示十进制数据的算术运算表达式及运算结果,同时显示当前环境的温湿度。该项目考察的知识点包括单片机的I/O端口、中断系统、定时/计数器、串口以及传感器通信,能很好地检验学
阅读技巧Ctrl+D 收藏本篇文章

  摘要:该院电子信息工程专业《单片机应用技术》课程的综合实训项目是"简易计算器",能输入并显示十进制数据的算术运算表达式及运算结果,同时显示当前环境的温湿度。该项目考察的知识点包括单片机的I/O端口、中断系统、定时/计数器、串口以及传感器通信,能很好地检验学生对单片机应用技术的掌握情况。

  关键词:综合实训;《单片机应用技术》

  引言

  《单片机应用技术》是我院电子信息工程专业的专业核心课程,在整个课程体系中起着承上启下的重要作用。该课程的前导课程有《C语言程序设计》、《模拟电子技术》、《数字电子技术》等,后续课程有《电子产品系统设计》、《嵌入式系统》、《EDA技术》以及《传感器应用技术》等,《单片机应用技术》课程开设于大二上学期,共120课时。一门课程的综合实训项目要求覆盖该课程的重要知识点、针对性强、难度适中,并且具备一定的趣味性和实用性。基于以上几点要求,课程组将综合实训项目确定为"简易计算器"。简易计算器的基本功能为:开机后显示当前环境的温度和湿度,能进行三位以内(包含三位)十进制整数的加、减、乘、除运算,显示运算表达式及运算结果;当计算器进行运算时,运算指示灯亮,否则运算指示灯灭。

  1硬件设计

  简易计算器能进行十进制数据的加、减、乘、除运算,需要输入"0"-"9"十个数字,"+"、"-"、"*"、"/"和"="五个符号,故输入设备中至少应有十五个按键;简易计算器能显示当前环境的温湿度和两个三位十进制数的算术运算表达式及结果,故输出设备至少能显示20个(6个字符显示温湿度,14个字符显示算术表达式及结果)字符。

  1.1输入设备

  输入设备需要至少十五个按键(选用两个触点的弹性按键),按键与单片机的连接有独立按键和矩阵键盘两种形式。独立按键与单片机连接时,按键的一个触点连接单片机的一位I/O端口、另一个触点接地,即每一个按键需要占用单片机的一位I/O端口,因此独立按键形式适用于按键个数偏少(少于或等于八个)的场合。矩阵键盘与单片机连接时,按键按矩阵式排列、位于行列线的交叉点上,按键的一个触点与所在行的行线连接、另一个触点与其所在列的列线连接,即多个按键可共用一根行线或列线。矩阵键盘的一根行线或列线占用单片机的一位I/O端口,例如8*8(8行8列)的矩阵键盘共有64个按键,占用单片机16位I/O端口,因此矩阵键盘适用于按键数量相对较多(大于八个)的场合。在该项目中选用4*4(4行4列)16个按键的矩阵键盘作为输入设备。4*4矩阵键盘由4行、4列组成,16个按键位于行、列线的交叉点上,每根行线、列线与单片机的一位I/O端口连接,且4根行线分别经上拉电阻接+5V电源。用单片机的P3口连接矩阵键盘(P3.0-P3.3连接4根行线,P3.4-P3.7连接4根列线)。16个按键分别表示数字"0"-"9"、"+"、"-"、"*"、"/"、"="和"清零"。

  1.2输出设备

  单片机应用系统中常用的输出设备有数码管和液晶显示器。虽然单片机控制数码管显示时硬件电路和软件程序都相对简单,但项目中输出设备要显示至少20个字符,即使数码管采用动态扫描的方法显示,单片机控制20位数码管同时显示不同的字符需要28位I/O端口。本课程所教授的单片机为STC89C52,共32位I/O端口,且矩阵键盘已占用了8位,所以数码管显示不可取。在本项目中选用LCD1602液晶显示器作为输出设备。LCD1602可显示16*2(两行显示,每行显示16个字符)共32个字符,需要占用单片机11位I/O端口。用单片机的P2口连接LCD1602的数据端口D0-D7,单片机的P0.1-P0.2连接LCD1602的第4-6引脚(分别为RS、RW和EN引脚)。简易计算器的运算指示灯用一个LED即可,占用单片机一位I/O端口,用单片机的P0.3控制运算指示灯。

  1.3传感器

  项目要求显示当前环境的温度和湿度,常用的温湿度传感器有DS18B20、HIH9000、DHT11等等。因DHT11既是温度传感器又是湿度传感器,故本项目中选用DHT11温湿度传感器。DHT11与单片机串行通信,只需占用一位I/O端口,用单片机的P0.4接收DHT11传送的数据。整个电路图如图1所示。

  2软件设计

  项目的软件程序需要处理读键、LCD1602显示字符、算术运算以及接收处理温湿度传感器的数据。

  2.1读键

  单片机读取矩阵键盘的信息通常有列扫描和行列反转两种方法。列扫描法的基本原理是:单片机首先扫描第1列:给第1列的列线输出"0"电平、给其余三根列线输出"1"电平,读取4根行线的状态,若4根行线全部为"1",则表示第1列中的四个按键无键被按下;若4根行线不全为"1",则表示第1列中的四个按键有键被按下,根据所读行线的具体值确定被按下的是这一列四个按键中的哪一个;然后扫描第2列:给第2列的列线输出"0"电平、给其余三列输出"1"电平,读取4根行线的值,通过行线的状态确定第2列四个按键的状态。按照同样的方法扫描第3列和第4列,通过所读行线值判断第3列、第4列中四个按键的状态。当四列都扫描完后,再从第1列开始,如此反复循环。行列反转法的基本原理是:单片机先给四根列线同时输出"0"电平,读取行线的值并保存;然后单片机给四根行线同时输出"0"电平,读取列线的值并保存,再将行线值与列线值进行逻辑或运算,得到的数据称为按键码,单片机通过按键码确定被按下的是哪个按键。在本项目中单片机采用行列反转法读键,若矩阵键盘中无键被按下,则按键码为0xff;若矩阵键盘中有键被按下(假设同一时刻只有一个按键被按下),则16个按键被按下时的按键码各不相同(0xee、0xed、0xeb、0xe7、0xde、0xdd、0xdb、0xd7、0xbe、0xbd、0xbb、0xb7、0x7e、0x7d、0x7b、0x77)。

  2.2LCD1602显示字符

  根据LCD1602的通信时序以及指令格式编写液晶显示器的初始化子函数、读指令子函数、写指令子函数、写数据子函数和忙检测子函数。LCD1602第一行16个字符的地址分别为0x40-0x4f,根据字符显示地址和LCD1602中常用字符的字符显示代码使液晶显示器第一行显示当前环境的温度和湿度。LCD1602第二行16个字符的地址分别为0xc0-0xcf,根据字符显示地址以及字符显示代码使液晶显示器第二行显示算术运算表达式及运算结果。利用单片机的定时/计数器定时10分钟,使定时计数器T0工作于方式1,作为16位定时器,当晶体振荡器频率为fosc=12MHZ时,T0的最长定时时间为65.536ms。若使T0定时50ms,则T0定时初值的计算方法为:TH0=(65536-50000)/256(1)TH0=(65536-50000)%256(2)在T0的中断服务子函数中,用全局变量T(初值为0)计数T0中断的次数,若T的值累加到12000则表示10分钟时间到,此时便更新温湿度数据,T0中断服务子函数的流程图如图2所示。

  2.3接收传感器信息

  DHT11传送给单片机的数据共5个字节,分别是湿度整数字节、湿度小数字节、温度整数字节、温度小数字节和校验字节。在单片机接收到的数据中取第一个和第三个字节即湿度整数字节和温度整数字节,通过LCD1602液晶显示器的第一行显示出来。2.4算术运算在程序中,当矩阵键盘有按键被按下时,运算指示灯亮,程序通过多分支选择结构判断输入的运算符是"+"、"-"、"*"、"/"中的哪一个,从而进行相应的运算得出正确结果,通过LCD1602的第二行将算术运算表达式及结果显示出来。运算结束后按下"清零"按键,液晶显示器第二行显示内容清除,运算指示灯灭,算术运算的流程图如图3所示。

  3系统调试

  将程序载入到单片机中,观测简易计算器的运行状况。经检测,开机后LCD1602第一行显示温湿度(例如:25℃73%),矩阵键盘输入算术运算表达式后,运算指示灯亮,LCD1602第二行显示运算表达式及结果(例如:25*368=9200),按"清零"按键后LCD1602第二行显示内容清除,运算指示灯灭。

  4结束语

  在综合实训开始之前,授课教师通过在线学习平台发布综合实训通知、项目要求以及作品功能演示视频,让同学们清楚直观地了解实训目标、提前进行思考、自行查阅相关资料;在综合实训进行的过程中,在在线学习平台进行讨论、抢答等活动,逐个突破难点;作品完成后,同学们将各自的作品拍照、录功能检测视频,并将照片、视频等文件上传至在线学习平台,让大家充分地互相交流学习、互评自评;课后,每位同学将综合实训小结以作业形式上传。教师根据学生的作品、互评自评以及小结给与学生最后的总评。《单片机应用技术》课程综合实训近两年来学生作品完成情况很好,对学生综合应用本课程的各知识点以及承接后续课程起到良好的作用。

转载请注明来源。原文地址:/html/zhlw/20180911/7804538.html   

电子信息工程综合实训分析澳门威尼斯人官方直营相关推荐


------分隔线----------------------------
联系方式
微信号 biyelunwen
热点澳门威尼斯人官方直营
澳门威尼斯人手机版