《单片机原理与接口技术实验指导书(2020修订).docx》由会员分享,可在线阅读,更多相关《单片机原理与接口技术实验指导书(2020修订).docx(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机原理与接口技术实验指导书(2020修订) 单片机原理与接口技术试验 试验指导书 适用专业: 电信工程 通信工程 信息工程 自动化 信息与通信工程学院 前 言 一、课程性质 本课程是电子信息工程、通信工程、信息工程和自动化专业必修的专业试验课程。 通过本课程的教学,使学生深刻体会到单片机原理与接口技术的应用,驾驭汇编和C51语言的语法和技巧,熟识电子系统的设计和调试过程,使其具备探讨和开发以单片机为核心的电子系统的实力。二、项目设置 本课程总学时为16,开设的详细试验项目如下: l 试验1 跑马灯限制(2学时,必修) l 试验2 模拟交通灯限制系统设计(2学时,选修) l 试验3 串行口通
2、信试验(3学时,必修) l 试验4 动态显示与矩阵式键盘试验(3学时,必修) l 试验5 I2C的DA/ADC转换试验(3学时,选修) 三、本书特点 本指导书的特点是引入工程项目机制来管理试验项目,着重培育学生的方案设计、算法分析和现场调试实力,为将来成为卓越工程师打下坚实的基础。 目 录 目 录 1 第一章 开发平台运用入门 1 1.1 keil C51运用入门 1 1.1.1 Keil C51简介 1 1.1.2 uVision4操作步骤 1 1.2 Proteus运用入门 10 1.2.1 Proteus简介 10 1.2.2 Proteus设计与仿真开发过程 10 1.3 PZ-ISP
3、运用介绍 18 1.3.1 USB驱动程序安装 18 1.3.2 PZ-ISP烧录软件运用 19 其次章 HNIST-2型单片机试验装置原理 24 2.1 HNIST-2型单片机试验装置原理图 24 2.2 单片机主机及外围电路 24 2.2.1 LED与简洁按键电路 25 2.2.2 动态显示与矩阵式键盘电路 26 2.2.3 AD与DA电路 28 2.2.4 E2PROM电路 29 第三章 试验项目 31 试验报告要求 31 试验报告封面 31 试验一 跑马灯试验 33 试验二 交通灯试验 36 试验三 串行口通信试验 40 试验四 动态显示与矩阵式键盘试验 42 试验五 I2C的DA/A
4、DC转换试验 45 第一章 开发平台运用入门 1.1 keil C51运用入门 1.1.1 Keil C51简介 Keil C51是德国Keil Software公司出品的51系列兼容单片机开发工具。 它集编辑、编译、仿真与调试于一体,支持C语言与汇编语言开发。Keil C51软件供应丰富的库函数和功能强大的集成开发调试工具,生成的目标代码效率特别高。C51工具包目前的集成开发环境uVision将项目管理,源代码编辑和程序调试等组合在一个功能强大的环境中。目前,集成开发环境运用较多的版本为uVision4,因此,下面主要介绍uVision4的基本应用。1.1.2 uVision4操作步骤 1、
5、启动uVision4。当正确安装keil软件后,会在桌面上自动建立一个名为“keil uVision4”的快捷图标,双击该图标启动软件,第一次进入uVision4的启动界面,如图1.1所示。 图1.1 uVision4启动界面 2、建立工程。 单击Project菜单,在下拉菜单中选中New Project选项。 图1.2 建立工程菜单 3、命名工程,进行保存。 选择你要保存的路径,输入工程文件的名字,如保存到exam1文件夹里,工程名命名为exam1,如下图1.4所示,然后点击保存。(注:因为一个工程中会包含多个文件,将工程放在文件夹中便利管理,一般给新建的工程建立一个文件夹,文件夹名和工程名
6、一样,如图1.3所示) 图1.3 给新建的工程建立一个文件夹 图1.4 保存新建的工程 4、选择器件。这时会弹出一个对话框,如图1.5所示,要求你选择单片机的型号,你可以依据所选用的单片机来选择,keil C51几乎支持全部的51核的单片机,这里以运用较多的Atmel 公司的AT89S52来说明,如图1.6所示,先选择Atmel并双击绽开,然后选择AT89S52,点击“OK”。 图1.5 器件选择对话框 图1.6 选择MCU型号 5、完成上一步骤后,出现提示是否加载标准8051 Startup文件,单击“是(Y)”,如下图1.7所示。 图1.7 是否加载8051 STARTUP文件 6、源程序
7、编辑。 在下图1.8中,单击“File”菜单,再在下拉菜单中单击“New”选项,或干脆单击快捷按钮。 图1.8 新建源程序 新建文件后界面如下图1.9所示。 编辑窗口 图1.9 源程序编辑界面 此时间标在编辑窗口里闪耀,这时可以键入用户的应用程序了,建议首先保存该空白的文件,单击菜单上的“File”,在下拉菜单中单击“Save As”选项,或单击保存快捷按钮,如下图1.10所示,在“文件名”栏右侧的编辑框中,键入欲运用的文件名,同时,必需键入正确的扩展名。留意,假如用C语言编写程序,则扩展名为(.c);假如用汇编语言编写程序,则扩展名必需为(.asm)。此处我们保存为“exam1.asm”,然
8、后,单击“保存”按钮。 图1.10 源程序保存 7、添加源程序到工程。 在编辑界面,单击Target 1前“”号,在Source Group 1上单击右键,如图1.11所示。 图1.11 添加源程序到工程 然后单击“Add File to Group Source Group 1” 弹出对话框如下图1.12所示。 图1.12 添加源文件窗口 添加文件对话框默认文件类型为C source file ,是以C为扩展名的文件,由于这次我们编写的是汇编程序,是以asm为扩展名,所以我们要在文件类型的下拉列表中找到并选中Asm Source file,如图1.13所示。 图1.13 选择源文件的类型 选
9、择好源文件类型后,会出现如图1.14所示窗口,双击exam1.asm,将文件加入项目。(留意,文件加载后,该对话框并不会消逝,往往会误以为加载失败而再次双击加载,这时会出现图1.15所示对话框,提示文件已在列表中) 图1.14 添加汇编语言源文件 图1.15 提示文件已在工程中 返回到主界面后,我们留意到“Source Group 1”文件夹中多了一个子项“exam1.asm”。子项的多少与添加到工程中的源程序的多少相同。如图1.16所示。 图1.16 添加源程序后的主界面 8、程序编辑。 输入程序后的主界面如图1.17所示。输入程序 图1.17 输入程序后的主界面 9、设置目标文件属性。单击
10、Project菜单,如图1.18所示。 图1.18 打开设置对话框 在下拉菜单中单击“Options for Target Target 1”,弹出如图1.19所示对话框,单击Output标签,勾选Create HEX File选项,使程序编译后产生HEX代码,如图1.20所示。 图1.19 output页面设置对话框 图1.20 选中Create HEX File选项 10、编译工程。 点击“Project”菜单,在下拉菜单中单击“Built Target”选项(或者运用快捷键F7,或干脆单击图标或图标),如源程序中有语法错误,会有错误提示给出,应重新修改源程序,直至通过编译。1.2 Pro
11、teus运用入门 1.2.1 Proteus简介 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。这里我们主要介绍51单片机系统的Proteus设计与仿真应用。1.2.2 Proteus设计与仿真开发过程 51单片机系统的Proteus设计与仿真的开发过程如下: 1、电路设计。在ISIS平台上进行单片机系统电路设计、选择元器件、接插件、连接电路和电气检测等。 2、程序设计。 在Vision_4平台上进行单片机系统程序设计、编辑、汇编编译、代码级调试,最终生成目标代码文件(*hex)。
12、3、仿真调试。 在ISIS平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。它在相当程度上反映了实际单片机系统的运行状况。详细操作步骤如下: 一 、Proteus仿真电路设计 1、启动proteus。双击桌面上的ISIS Professional图标或者单击屏幕左下方的“起先”“程序”“Proteus 7 Professional” “ISIS 7 Professional”,进入Proteus ISIS集成环境。如图1.21所示。 图1.21 Proteus ISIS启动界面 2、新建设计文件。 启动Proteus 进入ISIS系统后,自动出现一个空白设计,模板默
13、认为“DEFAULT”,文件名在窗口顶端的标题栏为未命名“Untitled”。单击按钮 ,对新建设计文件命名,其后缀自动为DSN。也可单击菜单中的“fileNew Design”,出现选择模板窗口,如图1.22所示,选中模板“DEFAULT”,点击“确定”。单击按钮 ,完成新建设计文件操作。 图1.22 模板选择窗口 3、选取元器件并添加到对象选择器中。 单击绘图工具栏中元器件按钮 ,进入元器件放置模式。单击如图1.23 所示“P”按钮,弹出 “Pick Devices”的选取元器件对话框,如图1.24所示,在其左上角关键字一栏中输入元器件名称,则出现与关键字匹配的元器件列表。选中元件,再单击
14、“OK”按钮,便将该器件加入到ISIS对象选择器中,如图1.25所示。 选取元器件 元器件按钮 图1.23 选取元器件 图1.24 选取元器件对话框 对象选择器窗口 图1.25 所选元器件在对象选择器中显示 留意:单片机电路可以略去单片机振荡电路,复位电路,电源和接地。 4、放置、移动、旋转元器件。 放置元器件:单击ISIS对象选择器中的元器件名,蓝色条出现在该元器件名上,预览窗口出现该元件符号,如图1.26所示。把鼠标移到编辑窗口后,单击左键就出现该元件,拖动鼠标到某位置,单击鼠标放置元器件于该位置。编辑窗口 单击器件名 预览窗口出现所选器件符号 图1.26 器件放置 移动元器件:先将鼠标指
15、在元器件上左击选中,使元器件处于选中状态(即高亮度状态),再按住鼠标左键拖动,元器件就跟随指针移动到达目的地后,松开鼠标即可。若要变更元器件放置方向,转90,对元器件右击选中,再依据弹出的菜单单击按钮 或 进行旋转,单击按钮 或 进行镜像操作,等等。 5、放置电源、地(终端) 。 单击绘图工具栏中终端按钮 ,在ISIS对象选择器中出现如图1.27所示终端,选择POWER、GROUND等,象放置元器件一样放置。终端按钮 DEFAULT 缺省 INPUT 输入 OUTPUT 输出 BIDIR 双向 POWER 电源 GRONND 地 BUS 总线 图1.27 选择终端 6、连线。直线:系统默认自动
16、捕获,在自动捕获有效的状况下,当光标靠近引脚末端或线时该处会自动感应出现一个“”,单击左键连线与该引脚连接,拖动鼠标连线跟着光标走,当光标靠近另外一个引脚末端或线出现“”时,单击鼠标,则连线这两点间。 折线:若要画折线,只要在转折点单击左键;若在中途想取消,可右双击或按“Esc”键。 若两点之间较远或不便利连线:可以将连线在空白处时左双击即可结束画线,这时终端出现一个黑点。右击该连线,在弹出菜单中选择网络标号对该线给出一个网络标号,同样在连线的另外一端给出相同网络标号,则这两点连接了。 7、设计的简洁电路。 如图1.28所示: 图1.28电路设计 二、 仿真调试 1、加载目标代码文件。 鼠标在
17、ISIS编辑区中单片机AT89C51单击左键选中,再单击左键打开其属性窗口,如图1.29所示,在其中的“Program File”右侧框中输入Keil uVision4产生目标代码文件(*.hex)。在Clock Frequency栏中设置仿真时钟频率。设置仿真时钟频率 选择目标代码文件 图1.29 加载目标代码文件 2、仿真。单击仿真按钮中的按钮,则会全速仿真,如图1.30所示仿真效果。单击停止仿真按钮,则终止仿真。 图1.30 仿真效果图 3、虚拟仪器加入。 仿真时,可加入虚拟仪器。单击工具栏的虚拟仪器按钮,出现如图1.31所示对话框,在对象选择器列表中选择所须要的仪器,然后象放置元器件一
18、样放置。 虚拟仪器按钮 OSCILLOSCOPE 示波器 LOGIC ANALYSER 逻辑分析仪 COUNTER TIME 时间计数器 VIRTUAL TERMINAL 虚拟终端 SPI DEBUGGER SPI调试器 I2C DEBUGGER I2C调试器 SIGNAL GENERATOR 信号发生器 PATTERN GENERATOR 图形产生 DC VOLTMETER 直流电压表 DC AMMETER 直流电流表 AC VOLTMETER 沟通电压表 AC AMMETER 沟通电流表 图1.31 虚拟仪器选择 如图1.32所示实例,利用示波器观测仿真波形。仿真时,右击示波器,在弹出的对
19、话框中选择digital oscilloscope选项,视察从P1.0引脚产生的波形。 图1.32 仿真波形 1.3 PZ-ISP运用介绍 1.3.1 USB驱动程序安装 接上USB下载线,电脑会出现如图1.33显示,安装好USB驱动程序后,右击“我的电脑”“属性”“硬件”“设备管理器”,查看设备管理器,如图1.34所示,表示安装胜利。 图1.33 提示安装USB驱动程序 图1.34 安装胜利 1.3.2 PZ-ISP烧录软件运用 1、PZ-ISP软件无需安装,双击打开即可运行。启动PZ-ISP,出现如图1.35所示启动界面 图1.35 启动界面 2、选择合适的芯片类型。如图1.36所示。 图
20、1.36 选择合适芯片类型 3、选择合适的串口号。 如图1.37所示,串口号可自动获得,也可在协助功能的“打开设备管理器”选项中查看获得。 图1.37 选择合适串口号 4、加载HEX文件。 单击“打开文件”选项,打开对应程序书目,选定须要烧写的HEX文件,点击“打开”,如图1.38所示。 图1.38 加载HEX文件 5、下载程序。 选择低速下载,先将试验板断电,点击下载程序,如图1.39所示,稍等片刻后打开电源,等待下载完成,如图1.40所示。 图1.39 试验板先断电,单击下载程序 图1.40打开电源,下载完成 以上介绍了利用PZ-ISP烧录软件烧录程序的步骤,共分为4步,如下图1.41所示
21、。 2 1 3 4 图1.41 程序烧录步骤 如在烧录过程中提示下载失败,可能以下缘由造成: 1、 第四步下载程序时,试验板电源开关依次不正确; 2、 芯片类型选择不正确; 3、 串口号选择不正确; 4、 USB下载线没有连接好; 5、 下载速度没有调整好; 6、 芯片是否放置正确(没有放偏)。 其次章 HNIST-2型单片机试验装置原理 2.1 HNIST-2型单片机试验装置原理图 湖南理工学院信息与通信工程学院电子信息教研室为了协作单片机教学,特地设计HNIST-2型试验装置,如图2.1所示。 图2.1 HNIST-2型单片机试验装置原理图 2.2 单片机主机及外围电路 STC89C52单
22、片机及其外围电路如图2、3,其中P0、P1、P2、P3口均将引脚连接到排插,以便通过排插连接到其它器件,P0口通过排阻接入上拉电阻。 晶振电路晶振频率为12MHz,通信接口排插将TXD、RXD以及地线引出。 图2.2 STC89C52单片机主机部分电路原理图 (a) 晶振电路 (b) 通信接口 (c) 复位电路 图2.3 STC89C52单片机外围电路原理图 2.2.1 LED与简洁按键电路 LED电路如图2.4,共12个LED,其阳极通过1K排电阻接电源,阴极连接到排插J10、J12,通过J10、J12可以连接到P0、P1、P2、P3口引脚连接的排插,明显低电平点亮LED。 图2.4 LED
23、电路原理图 简洁按键电路如图2.5,共有4个按键K17、K18、K19、K20,分别连接到单片机P2.0、P2.1、P2.2、P2.3引脚,按键后对应引脚为低电平,通过4个二极管D17、D18、D19、D20连接到P3.2(外部中断0),即随意按一个键能在P3.2上产生一个低电平或下降沿,作为中断触发信号。 图2.5 简洁按键电路原理图 2.2.2 动态显示与矩阵式键盘电路 动态显示电路如图2.6,共8个共阴极数码管,采纳两片74LS573进行驱动,74LS573与74LS373都是8D锁存器,只是573引脚排列更易于布线。其引脚功能为:D1-D8为数据输入端;Q1-Q8为数据输出端;LE为数
24、据输入锁存端,LE=1数据输入D锁存器,LE=0数据不能输入D锁存器,即LE下降沿锁存当前输入数据;地址输出允许端,=0输出锁存数据,=1输出高阻。 图2.6 动态显示电路原理图 电路中,U1输出段码a b c d e f g db,限制显示的字形与小数点,U2输出位选码,限制第几个数码管显示。单片机P1.4、P1.5分别连接到U1、U2的LE,P1.3连接U1和U2的。依据硬件电路,动态显示编程时,应: P1.3=1,U1、U2输出高阻; P1.4=1,P0口输出段码,P1.4=0,U1锁存输入的段码; P1.5=1,P0口输出位选码,P1.5=0,U2锁存输入的位选码; P1.3=0,U1
25、、U2同时输出段码和位选码,进行显示,经过一段时间后,再对另一个数码管做同样的操作。 矩阵式键盘电路如图2.7,电路中P2.0-P2.3作为行线,P2.4-P2.7作为列线。 图2.7 矩阵式键盘电路原理图 2.2.3 AD与DA电路 采纳具有I2C接口的8位A/D与D/A转换器PCF8591构成AD与DA电路如图2.8。 图2.8 AD与DA电路原理图 PCF8591引脚及功能如下表2.1所示: 表2.1 PCF8591引脚及功能表 引脚 I/O 功能 AIN0AIN3 I 4路模拟信号 A0A3 I 引脚地址 SDA I/O 数据线 SCL I 时钟线 AOUT O DAC 输出端 VRE
26、F I 基准电源端 VDD、VSS I 电源、数字信号地 AGND I 模拟信号地 OSC I/O 外部时钟输入,内部时钟输出端 EXT I 内、外部时钟选择,接地内部时钟 电路中,P3.6、P3.4分别连接SCL、SDA,地址引脚A2A1A0=000,PCF8591的特征编码为1001,电路中PCF8591的地址为1001000。4路模拟输入,AIN0连接一个10K电位器的中心抽头,调整电位器可变更AIN0的模拟电压,AIN1、AIN2、AIN3通过排插可连接其他电压,如电源、地。 PCF8591的15脚AOUT是DAC输出的模拟量,电路中可以将J16的1、2脚短路,AOUT引脚通过50电阻
27、、LED与电源连接,输出模拟量越小,LED越亮。2.2.4 E2PROM电路 E2PROM电路由具有I2C接口的24C02构成如图2.9。 图2.9 E2PROM电路原理图 24C02的引脚及功能如下表2.2所示: 表2.2 24C02的引脚及功能表 引脚 名称 I/O 功能 13 A0、A1、A2 I 可编程地址 4 GND I 地 5 SDA I/O 数据线 6 SCL I 时钟线 7 WP I =1写爱护 8 Vcc I 电源 电路中,P3.6,P3.4分别连接SCL、SDA,地址引脚A2A1A0=000,24C02的特征编码为1010,电路中24C02的地址为1010000。 此外,H
28、NIST-2型单片机试验系统电路中,还包括如下电路,在课程设计或其它设计中可以采纳。1、 由CH340T构成的USB转串口电路; 2、 由DS1302构成的实时时钟电路; 3、 由LM386构成的音频功放电路,须要外接扬声器; 4、 蜂鸣器(BEEP)电路; 5、 LCD12864/LCD1602液晶接口电路,需外接液晶模块; 6、 红外接收接口电路,需外接器件; 7、 温度测量接口电路,需外接器件。 第三章 试验项目 试验报告要求 试验报告要求依次给出: 1、 试验内容 2、 电路原理图; 3、 程序流程图(简洁程序可无); 4、 源程序; 5、 试验结果,假如有数据则给出数据; 6、 回答
29、思索问题; 7、 总牢固验调试过程,并给出本次试验过程中的心得体会。 根据上述依次,整理试验报告,并打印整理,加上封面装订成册。试验报告封面 学号 序号 单片机原理与接口技术 试验报告 试验项目序号 试验项目名称 姓 名 专 业 班 级 完成时间 试验一 跑马灯试验 一、试验目的 1、 熟识HNIST-2型单片机系统相关硬件电路,程序下载方法; 2、 驾驭采纳汇编语言与C语言开发单片机系统的程序结构; 3、 驾驭51系列单片机通用I/O口的运用。二、试验前打算 1、 完成作业3; 2、 依据试验内容编写好相关程序,并进行Proteus仿真。三、试验内容 试验内容为3项,其中第1、2项必做。1、
30、基本的流水灯。依据图1电路,编写一段程序,使8个发光二极管D1、D2、D3、D4、D5、D6、D7、D8依次(正序)点亮:先点亮D1,再点亮D2、D3D8、D1,循环点亮。每点亮一个LED,采纳软件延时一段时间。2、简洁键控的流水灯。不按键,按正序点亮流水灯;按下K1不松手,按倒序点亮流水灯,即先点亮D8,再依次点亮D7、D6D1、D8。松手后,又按正序点亮流水灯。3、键控的流水灯。上电,不点亮LED,按一下K1键,按正序点亮流水灯。按一下K2键,按倒序点亮流水灯,按一下K3键,全部关闭LED。四、试验原理图 如图3.1所示。 图3.1 跑马灯试验电路原理图 电路原理图如图3.1,AT89S5
31、2的P0.0P0.7作为输出连接8个发光二极管,输出低电平0时对应发光二极管发光;由于发光二极管的导通电压为1.7V,所以HNIST-2型试验装置在电源与二极管之间加一个阻值为1K限流电阻爱护二极管。 AT89S52的P2.0、P2.1作为输入连接2个按键K1、K2,若检测到P2.0=0,则说明K1键按下。五、软件设计思想 1、基本的流水灯 软件延时采纳例题程序delay( j ),可调整延时时间。2、简洁键控的流水灯。由于是按下键不松手,键值始终保留,所以推断P2.0=0即是按下K1,采纳如例题所示的while(P2.0= =0)或while(P2= =0xfe)的模式。3、键控的流水灯 由
32、于是按一下键后立刻松手,所以要设置一个变量b保留按键键值,要在延时程序中检测是否按键,当按键后马上设置b的值。六、试验思索题 1、采纳I/O口作为输出口时要考虑哪些因素?为什么试验装置中LED要串联一个电阻? 2、采纳I/O口作为输入口时要留意什么?键控的流水灯时为什么要在延时程序中检测是否按键? 3、为什么延时程序要做一个函数? 试验二 交通灯试验 一、试验目的 1、 进一步熟识HNIST-2型单片机系统相关硬件电路; 2、 驾驭单片机中断的应用和中断处理程序的编写方法; 3、 驾驭单片机内部定时/计数器的运用及编程方法。二、试验前打算 1、 完成作业4; 2、 依据试验内容编写好相关程序,
33、并进行Proteus仿真。三、试验内容 试验内容为3项,其中第1、2项必做。1、基本交通灯。依据图3.2电路,用单片机的IO口限制4组红绿黄共12个发光二极管,使发光二极管根据肯定规则与次序发光与闪亮以实现模拟交通灯的功能。假设初始状态为:(南北通行状态)南北绿灯、东西红灯(25s);后转为过渡状态:南北黄灯、东西红灯(5s);再转为东西通行状态:东西绿灯、南北红灯25(s)。再转为过渡状态:东西黄灯、南北红灯(5s),然后循环往复。要求采纳定时器实现所须要的定时时间。2、键控交通灯。按一下K1键,保持南北通行状态;按一下K2键,保持东西通行状态;按一下K3键,保持正常交通灯。要求在中断中进行
34、按键处理。3、具有闪耀的交通灯。在2的基础上增加,绿灯最终5s闪耀,即亮0.5S灭0.5S闪耀。四、试验原理图 图3.2 交通灯试验电路原理图 图3.2共有4个按键K1、K2、K3、K4,分别连接到单片机P2.0、P2.1、P2.2、P2.3引脚,按键后对应引脚为低电平,通过4个二极管D17、D18、D19、D20连接到P3.2(外部中断0),这是二极管构成的相与电路,即随意按一个键能在P3.2上产生一个低电平或下降沿,作为中断触发信号。五、软件设计思想 1、定时思想。采纳定时器T0或T1的方式1定时50ms,每50ms中断进行计数,计数10次即0.5s,计数20次即1s,对秒计数实现所须要的
35、定时时间。2、亮灯限制思想。单片机限制灯引脚与灯对应如下,0点亮。一共有四种状态S0、S1、S2、S3, a、南北通行S0状态: 南北绿灯、东西红灯,P0= 11111100=0xfc,P1=11110011=0xf3; P0.3 P0.2 P0.1 P0.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 东G 东Y 东R 北G 北Y 北R 西G 西Y 西R 南G 南Y 南R 1 1 0 0 1 1 1 1 0 0 1 1 南北绿灯、东西红灯,P0= 11110111=0xf7,P1=10011110=0x9e; P0.3 P0.2 P0.1 P0.0 P1.
36、7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 北G 北Y 北R 西G 西Y 西R 南G 南Y 南R 东G 东Y 东R 0 1 1 1 1 0 0 1 1 1 1 0 b、过渡状态S1: 南北黄灯、东西红灯,P0=11111101=0xfd,P1=01110101=0x75; P0.3 P0.2 P0.1 P0.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 东G 东Y 东R 北G 北Y 北R 西G 西Y 西R 南G 南Y 南R 1 1 0 1 0 1 1
37、1 0 1 0 1 南北黄灯、东西红灯,P0=11111011=0xfb,P1=10101110=0xae; P0.3 P0.2 P0.1 P0.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 北G 北Y 北R 西G 西Y 西R 南G 南Y 南R 东G 东Y 东R 1 0 1 1 1 0 1 0 1 1 1 0 c、东西通行状态S2: 东西绿灯、南北红灯,P0=11110111=0xf7,P1=1001110=0x9e; P0.3 P0.2 P0.1 P0.0 P1.7 P1.6 P
38、1.5 P1.4 P1.3 P1.2 P1.1 P1.0 东G 东Y 东R 北G 北Y 北R 西G 西Y 西R 南G 南Y 南R 0 1 1 1 1 0 0 1 1 1 1 0 东西绿灯、南北红灯,P0=11111100=0xfc,P1=11110011=0xf3; P0.3 P0.2 P0.1 P0.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 北G 北Y 北R 西G 西Y 西R 南G 南Y 南R 东G 东Y 东R 1 1 0 0 1 1 1 1 0 0 1 1 d、过渡状态S3
39、: 东西黄灯、南北红灯,P0=11110111=0xfb,P1=10101110=0xae; P0.3 P0.2 P0.1 P0.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 东G 东Y 东R 北G 北Y 北R 西G 西Y 西R 南G 南Y 南R 1 0 1 1 1 0 1 0 1 1 1 0 东西黄灯、南北红灯,P0=11111101=0xfd,P1=01110101=0x75; P0.3 P0.2 P0.1 P0.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 D11 D10 D9 D8 D7 D6 D5 D4 D3
40、 D2 D1 D0 北G 北Y 北R 西G 西Y 西R 南G 南Y 南R 东G 东Y 东R 1 1 0 1 0 1 1 1 0 1 0 1 设置一个秒计数单元SEC每秒+1,设置两个限制值变量a,b。首先令SEC=0,a=0xfc,b=0xf3,处于S0状态; SEC=25,a=0xfd,b=0x75,处于S1状态; SEC=30,a=0xf7,b=0x9e,处于S2状态; SEC=55,a=0xfb,b=0xae,处于S3状态; SEC=60,SEC=0,a=0xfc,b=0xf3,处于S0状态; P0=a,P1=b。设置一个秒计数单元SEC每秒+1,设置两个限制值变量a,b。首先令SEC=
41、0,a=0xf7,b=0x9e,处于S0状态; SEC=25,a=0xfb,b=0xae,处于S1状态; SEC=30,a=0xfc,b=0xf3,处于S2状态; SEC=55,a=0xfd,b=0x75,处于S3状态; SEC=60,SEC=0,a=0xf7,b=0x9e,处于S0状态; P0=a,P1=b。 3、交通灯键控 按键后即进入外部中断0,在外部中断0中断程序中推断:若是按K1键,限制南北通行状态,并将定时器T0关闭,即可保持南北通行状态;若是按K2键,限制东西通行状态,并将定时器T0中断关闭,即可保持东西通行状态;若是按K3键,开启定时器T0中断,复原正常交通灯。 4、闪耀限制
42、在须要闪耀时,0.5s按正常显示,0.5s全灭,即是闪耀效果。实现方法是:当=0.5s的时刻,并且在南北通行的最终5s(19<sec<25)或在东西通行的最终5s(49<sec<55),灭绿灯: P0=a|0xf9,P1=b|0x24,当=1s的时刻,按正常显示。P0.3 P0.2 P0.1 P0.0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 东G 东Y 东R 北G 北Y 北R 西G 西Y 西R 南G 南Y 南R 1 0 0 1 0 0 1 0 0 1 0 0 六、试验思索题 1、 为什么采纳定时器T0的方式1?为什么不采纳方式2?
43、 2、 采纳中断处理按键有什么优点?本试验可不行以不采纳中断处理按键,不采纳中断怎样实现? 试验三 串行口通信试验 一、试验目的 1、 驾驭单片机串行口通信的应用和编写方法; 2、 进一步驾驭单片机中断的应用和中断处理程序的编写方法; 3、 进一步驾驭单片机内部定时/计数器的运用及编程方法。二、试验前打算 1、 完成作业5; 2、 依据试验内容编写好相关程序,并进行Proteus仿真。三、试验内容 试验内容为3项,其中第1、2项必做。据图3.3电路,两个同学为一组分为甲方、乙方,全部试验都采纳方式3,偶校验,波特率为2400bit/s,采纳T1作波特率发生器,均采纳中断发送和接收。按键值a:按
44、K1,a=0x01;按K2,a=0x02;按K3,a=0x04;按K4,a=0x08。1、单向通信 向甲方连绵不断地发送变量a的值,未按键,a=0x0f,按键后依据按键确定a值;并将a的值取反从P0口输出,限制D0、D1、D2、D3相应点亮。乙方接收到数据并偶校验正确后,将接收数据取反从P0口输出,限制D0、D1、D2、D3相应点亮。2、双向通信 甲方连绵不断地发送变量a的值,未按键,a=0x0f,按键后依据按键确定a值;乙方未按键不发送,按键后将a*16发送;甲乙双方都将发送数据与接收数据相或后再取反,从P0口输出限制D0D7相应点亮。3、间隔发送 未按键,甲方不发送数据,按键后甲方每隔50
45、ms连续发送4个字节:0xff、a、a、a。 乙方只在收到甲方数据0xff后的3个数据并验证相同时,才将接收数据*16发送。 甲乙双方都将发送数据与接收数据相或后,从P0口输出限制D0D7相应点亮。四、试验原理图 试验原理图如图3.3所示: 图3.3 串行口通信试验电路原理图 在HNIST-2型试验装置中,通过通信接口排插将甲机的TXD、RXD连接到乙机的RXD、TXD,留意:下载程序时,要将RXD引脚线断开,有接收时,HNIST-2型试验装置上的D25会闪耀。五、软件设计思想 1、 按键处理 采纳中断处理按键,甲方在外部中断0服务程序中:推断按键确定发送数据,并推断是否起先发送,若未起先发送
46、,设置TI=1。2、 双向通信 串行口中断后要留意推断是发送中断 ( TI=1 ) 还是接收中断( RI=1 ),推断完后要清除标记。六、试验思索题 1、 为什么串行口中断后要留意推断是发送中断 ( TI=1 ) 还是接收中断( RI=1 ),推断完后要清除标记。为什么不能象其它中断一样,中断后自动清除中断标记? 2、 在甲方发送时,乙方是否也可以发送?为什么? 3、 第3题,为什么要3次相同;这是全双工通信还是半双工通信? 试验四 动态显示与矩阵式键盘试验 一、试验目的 1、 进一步理解数码管与单片机的接口原理与动态显示原理,理解单片机矩阵式键盘按键识别的原理; 2、 驾驭单片机动态显示应用和编程方法; 3、 驾驭单片机矩阵式键盘按键识别的方法。 二、试验前打算 1、 完成作业6; 2、 依据试验内容编写好相关程序,并进行Proteus仿真。 三、试验内容 试验内容为3项,其中第1、2项必做。1、动态显