当前位置:文档之家› 单片机课程设计-武汉理工大学单片机实训报告

单片机课程设计-武汉理工大学单片机实训报告

第一章绪论 (2)1.1概述 (2)1.2课程设计任务 (2)第二章硬件系统设计 (3)2.1单片机最小系统 (3)2.1.1 STC89C52的介绍 (3)2.1.2 stc89c52系列单片机最小系统的介绍 (4)2.2矩阵键盘模块 (5)2.3数码管显示单元 (5)2.4 LCD1602液晶显示电路 (6)2.5蜂鸣器单元 (7)第三章软件设计 (8)3.1数码管实验 (8)3.1.1循环数码管显示0—F程序设计结构图: (8)3.1.2 59秒倒计数流程图 (9)3.2 矩阵键盘流程图 (10)3.3 LCD1602滚动显示年月日时分秒 (11)3.4 AD转换, (12)3.5家电遥控器 (13)第四章调试结果分析 (14)4.1数码管调试及分析 (14)4.1.1循环数码管显示0—F (14)4.1.2数码管59秒倒计数 (15)4.2矩阵键盘 (15)4.3 LCD1602滚动显示年月日时分秒 (16)4.4 AD转换 (16)4.5家电遥控器 (17)第五章小结 (17)参考文献: (18)第一章绪论1.1概述随着我国工业技术和电子技术的发展和进步,自动控制技术也已经得到了极大的普及和应用,而这些自动控制技术的核心技术就是单片微型计算机,简称单片机。

它以其高可靠性、高性价比、低电压、低功耗等一系列优点,被广泛应用于控制系统、数据采集等领域。

而51单片机系列以其超高的性价比深受广大电子爱好者和开发者以及大学生群体的欢迎。

故而本次课程设计采用STC89C52单片机。

1.2课程设计任务必做项目(这是每个学生必做的任务):1.基本系统:在51单片机开发系统PCB电路板上完成电子元器件的焊接、调试、程序下载,并实现数码管显示、矩阵键盘扫描、中断程序、定时器程序、串口通讯等基本功能;2.显示功能:焊接电路并实现对1602液晶屏的显示功能,要求能滚动显示字符;3.输出控制:焊接电路并实现对继电器的控制功能;4.数据采集:焊接电路并实现对AD0832的数据采集功能;选做项目(以下任选一):1.家电遥控器:实现对红外接收管和发射管的控制功能,要求能够学习遥控器的红外码,并能发射相应的编码,实现红外遥控器的功能。

2.增强显示:实现光魔方的功能,要求搭建不少于8*8*4单元的光魔方,能够动态显示字符。

3.空气质量监测:实现对室外空气PM2.5浓度测量,要求能够实时读取PM2.5模块数据计算浓度,并将结果显示在屏幕中,或者通过无线方式发送到PC机中显示,或者超过设定值启动电机模拟开关窗。

4.入侵在线报警:要求通过采集远红外传感器数据,自动触发相机模块抓拍,照片发至PC或网络中。

5.穿戴式设备控制:对陀螺仪传感器的数据采集和处理,要求能根据采集到的数据计算出传感器加速度值,识别基本动作触发继电器开合,模拟启动外部设备。

6.智能台灯:根据环境光强度自动调节LED亮度,通过光敏元器件采集环境亮度,通过PWM方式控制LED灯亮度。

定时自动开灯,设定开灯时间,到时间由暗逐渐变亮。

通过门控检测夜晚有人回家时自动开启LED灯等功能。

7.火灾在线探测:采集烟感/异味传感器数据,并进行判断有无火情,继而控制继电器动作同时通过无线发送信息到PC或网络中。

8.智能门磁:设计门磁开关,一端安装门上,另一端安装在门框。

读取霍尔传感器输出,确定门开合状态,并在门状态变化时发送提示信息到PC或者网络中。

9.智能窗帘:根据光强变化、夜晚休息、人离开等多种条件自动开闭窗帘。

可以设计导轨及电机控制机构。

10.智能信息提示:每天早上自动搜集门户网站头条新闻、当天天气情况等,滚动显示在屏幕中。

也可以将用户设定的提醒信息从PC机推送至单片机系统显示;也可以若置于门背,开门时显示重要提示信息。

上述无线方式包括WIFI,蓝牙,Zigbee,433M等多种第二章硬件系统设计2.1单片机最小系统2.1.1 STC89C52的介绍STC89C52是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能COMOS8的微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制作技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

其引脚图如下图所示。

图2.1 STC89C52单片机STC89C52RC引脚功能说明:VCC(40引脚):电源电压 VSS(20引脚):接地P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O 口。

P1端口(P1.0~P1.7,1~8引脚):P1口是一个带内部上拉电阻的8位双向I/O口。

P2端口(P2.0~P2.7,21~28引脚):P2口的基本功能和P1端口相同。

P3端口(P3.0~P3.7,10~17引脚):P3口的基本功能和P1端口相同。

ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。

2.1.2 stc89c52系列单片机最小系统的介绍单片机最小系统是单片机工作的最简单电路,它由单片机、电源、晶体振荡器、复位电路等构成。

它是本系统的处理单元也是控制单元,负责处理信号、外设的接口与控制,同时它也是所有软件的载体。

对52单片机来说,最小系统一般应该包括:单片机、时钟电路、复位电路、输入/ 输出设备等。

52单片机最小系统见下图。

图2.1.2 STC89C52单片机最小系统(1)时钟电路:XTAL1(19 脚):芯片内部振荡电路输入端。

XTAL2(18 脚):芯片内部振荡电路输出端。

XTAL1 和XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。

图2-2 中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。

(2)复位电路:在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。

5l 系列单片机的复位引脚RST(第9 管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作。

如果RST 持续为高电平,单片机就处于循环复位状态。

2.2矩阵键盘模块矩阵键盘的工作原理是:从0行开始,顺序行扫描,即该行输出为0。

每扫描一行,读入列线数据,从0开始,列检查,找该行输出为0的列,若无,则顺序扫描下一行,并检查其各列;若找到某列线为0,则该列与检查行交叉的按键为被按下的键。

从0行0列开始,顺序将按键编号,就可以按扫描的值得到按键的值。

此外还要消除按键在闭合或断开时的抖动。

消除抖动的方法可采用消抖电路(RS 触发器闩锁电路硬件消除抖动),也克采用延时方式软件消除抖动(延时后再重读,以跳过抖动期)。

在矩阵键盘中,通常采用软件消除抖动。

本设计中主要使用了独立键盘,故电路图中简要的画出了4*4的矩阵键盘,其电路原理图如图2.2所示图2.2矩阵键盘2.3数码管显示单元本次设计的显示单元是由4个共阴的7段LED数码管组成的显示电路。

原理电路图见图2.3所示:图2.3数码管显示单元如上图所示,4个数码管的段选和位选分别由单片机的不同IO口控制,此图用了一个锁存器74HC573来实现数码管的段选,而其位选则由单片机的其他IO口控制。

2.4LCD1602液晶显示电路本次课程设计采用的液晶显示屏是LCD1602,其具有体积小、功耗小、显示操作简单LCD1602主要技术参数:显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mmLCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表所示:引脚功能说明:第1脚:VSS为地电源。

第2脚:VDD接5V正电源。

第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W 为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线。

第15脚:背光源正极。

第16脚:背光源负极。

其原理图如图2.4所示:图2.4LCD1602接口电路2.5蜂鸣器单元本次课程设计采用的蜂鸣器为电磁式蜂鸣,其采用直流供电,其可分为两种类型:有源式和无源式。

本次课程设计采用的为无源蜂鸣。

其原理图如图2.5所示:图2.5蜂鸣器第三章软件设计3.1数码管实验3.1.1循环数码管显示0—F程序设计结构图:实验要求:能循环数码管显示0—F图3.1.1循环数码管显示0—F3.1.2 59秒倒计数流程图实验要求:能用定时器循环显示59秒倒计时。

图3.1.2 数码管59秒倒计数3.2 矩阵键盘流程图实验要求:实现按键检测能用按键控制数码管加减,控制定时器的启动和停止图3.2矩阵键盘3.3 LCD1602滚动显示年月日时分秒实验要求:要求用1602滚动显示年月日时分秒,并可发送到上位机,上位机可修改1602上显示的时间3.4 AD转换,实验要求:实现AD采集电阻的电压,并把采集到的数据通过串口传送给上位机。

3.5家电遥控器实验要求:实现对红外接收管和发射管的控制功能,要求能够学习遥控器的红外码,并能发射相应的编码,实现红外遥控器的功能。

图3.5家电遥控器接收红外数据第四章调试结果分析4.1数码管调试及分析4.1.1循环数码管显示0—F数码管位选接单片机的P2口,段选接+5V电压。

当用KEIL软件把程序编号以后点击编译按钮,程序便编译好了,然后通过数据线把生成的HEX文下载进单片机,其实验现象如图4.1.1所示为数码管循环显示的部分图片。

图4.1.1数码管循环显示由其现象可知其程序调试成功。

4.1.2数码管59秒倒计数数码管的段选端接单片机的P2口,四个位选端接单片机P0端口,当编译好后,并把线路连接好后,数码管变开始从60开始每隔一秒倒计数,当记到0时,数码管的值便又变成60,如此开始循环。

其部分实验现象图如图4.1.2所示:图4.2.1数码管59秒倒计数4.2矩阵键盘矩阵键盘的接口接单片机的P1口,数码管的段选端接单片机的P2口,四个位选端接单片机P0端口。

当开始运行程序时矩阵键盘从0行开始,顺序行扫描,即该行输出为0。

每扫描一行,读入列线数据,从0开始,列检查,找该行输出为0的列,若无,则顺序扫描下一行,并检查其各列;若找到某列线为0,则该列与检查行交叉的按键为被按下的键。

相关主题