




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理实验课程设计毕业设计目 录摘要1绪论11.1引言11.2系统方案设计11.3系统方案论证与实现12系统主要器件选型及依据32.1数码管驱动及键盘控制芯片CH45132.2DS1302芯片简介42.3LED8*8点阵52.474HC573芯片简介52.574HC138芯片简介62.6AT24C02A芯片简介73系统硬件设计83.1系统的硬件设计总框图83.2LED8*8点阵交通灯界面设计基础83.3时间日期显示设计基础83.4数据存储查询设计基础93.5键盘显示模块设计基础104系统软件设计114.1系统主流程图114.2LED8*8点阵显示交通灯功能模块134.3时间日期修改、显示功能模块144.4数据记录显示功能模块154.5数据存储显示功能模块165结论17参考文献附录东北林业大学课程设计基于AT89C51单片机的电子交通灯的设计1 绪论1.1 引言单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能,还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路,集成到一块硅片上构成的一个小而完善的计算机系统。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等以及自动控制领域的机器人、智能仪表、医疗器械和各种智能机械。单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。单片机经过1、2、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引脚的多功能化,以及低电压底功耗。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。1.2 系统方案设计利用控制芯片、键盘显示模块、时钟电路、存储器和点阵等分别实现:(1) 通过8*8点阵简单实现直行、转弯的交通指挥设计(2) 显示年、月、日、星期、时、分、秒(3) 能够通过键盘输入日期和时间的初值(4) 通过功能键实现数据储存、查询、上传(串行通讯)功能(5) 通过功能键实现外中断和定时中断功能系统初始化后,点阵上显示“电 ”“WHY NOT ?”。通过功能键能实现日期和时间的初值设定。通过功能键进入交通灯状态,在点阵上显示“交 通 灯”、“左 前 右”,并且自动储存。系统框图如图1-1所示89C51ROM24C028*8点阵时钟电路LCD液晶屏8段数码管CH451键盘电 源 模 块 图1-1系统框图1.3 系统方案论证与实现(1) 方案论证:倒计时显示模块方案1:用液晶屏显示交通灯的各方倒计时功能,LCD 液晶显示器的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。显示清晰,实现功能全。但是开发板P0口同时作用在点阵和液晶上,不能同时用,故该方案舍弃。方案二:使用8为数码管作为交通灯倒计时,通过芯片CH451,可实现当前交通倒计时功能显示,缺点是数码管显示数字,显示不灵活多变,需严格控制交通界面的时间来实现此倒计时功能。 综上,LCD液晶屏与点阵IO口冲突,会导致此设计出现故障。故选用方案二数码管作为倒计时模块。交通状态显示模块方案一:利用8*8点阵显示实时交通界面,可利用几个方格代替几个方向,并且通过点阵的颜色控制,可实现“红”“黄”“绿”三种颜色,与现实交通灯十分接近,也一目了然。故此方案可行性相当之高。方案二:使用LCD液晶屏作为交通状态显示,LCD液晶屏显示内容丰富,多样。但是它不能实现多种颜色的切换,单调,而且也不明显。现实生活中的交通灯采用点阵,故此方案实用价值不高。 综上,故选用方案一点阵显示当前交通状态,更形象,更切实际。(2)系统方案实现:系统主要由硬件和软件两大部分构成,其中硬件主要由单片机芯片上LED8*8点阵、LCD部分、键盘及LED部分、信息按钮部分构成。软件部分是由keil编写的一个汇编程序,然后利用单片机芯片上的串口将程序下载到单片机芯片板中进行各部分功能的实现,具有良好的人机界面,便于使用。 由于显示年、月、日、星期、时、分、秒,能够通过键盘输入日期和时间的初值,通过功能键实现数据储存、查询、上传(串行通讯)功能,通过功能键实现外中断和定时中断功能,通过功能键实现交通灯左转、右转、直行等功能。2 系统主要器件选型及依据2.1 数码管驱动及键盘控制芯片CH451CH451 是一个多功能外围芯片,通过可以级联的4 线串行接口与单片机、DSP、微处理器等交换数据。CH451 包含三个功能:数码管显示驱动、键盘扫描控制、P 监控,三个功能之间相互独立,单片机可以通过操作命令分别启用、关闭、设定CH451的任何一个功能。CH451 的串行接口是由硬件实现的,单片机可以频繁地通过串行接口进行高速操作,而绝不会降低CH451 的工作效率。图2-1为 CH451外围电路图。表2-1为按键键值表。图2-1 CH451外围电路图 表2-1 按键键值表(1)显示驱动 内置大电流驱动级,段电流不小于25mA,字电流不小于150mA。 动态显示扫描控制,直接驱动8 位数码管或者64 位发光管LED。 可选数码管的段与数据位相对应的不译码方式或者BCD 译码方式。 数码管的字数据左移、右移、左循环、右循环。 各数码管数字独立闪烁控制。 通过占空比设定提供16 级亮度控制。 支持段电流上限调整,可以省去所有限流电阻。 扫描极限控制,支持1 到8 个数码管,只为有效数码管分配扫描时间。(2)键盘控制 内置64 键键盘控制器,基于88 矩阵键盘扫描。 内置按键状态输入的下拉电阻,内置去抖动电路。 键盘中断,低电平有效输出。 提供按键释放标志位,可供查询按键按下与释放。(3)外部接口 高速的4 线串行接口,支持多片级联,时钟速度从0 到10MHz。 串行接口中的DIN 和DCLK 信号线可以与其它接口电路共用,节约引脚。 完全内置时钟振荡电路,通常不需要外接晶体或者阻容振荡。 内置上电复位和看门狗Watch-Dog,提供高电平有效和低电平有效复位输出。2.2 DS1302芯片简介DS1302包括时钟/日历寄存器和31字节(8位)的数据暂存寄存器,数据通信仅通过一条串行输入输出口。实时时钟/日历提供包括秒、分、时、日期、月份和年份信息。闰年可自行调整,可选择12小时制和24小时制,可以设置AM、PM。实时时钟具有能计算2100年之前的秒、分、时、日期、月份、年、星期的能力,还有闰年调整能力。(1) 控制指令 图2-2为控制指令(8位) 图2-2 控制指令(8位)每个字节的传输是有控制字节指定的,控制字节的最高位Bit7必须是1,如果是0,写入将被禁止。bit6为0则指定对时钟/日历寄存器控制读写操作,为1则为RAM区数据的控制读写操作,bir1bit5指定相关寄存器待进行输入输出操作,最低位bit0指定是输入还是输出,为0则为输入,相反则输入有效,输入输出根据脉冲的上升沿和下降沿串行进行。(2)写保护位控制字节的bit7是写保护位,低7位(bit0bit6),被置0,在任何写操作前,bit7都应该置0。(3)时钟/日历时钟/日历包含在7个寄存器中,图2-3为时钟/日历。数据在时钟/日历寄存器是二进制编码的十进制格式(BCD码 )。图2-3 时钟/日历(4)数据输入经过8个时钟周期的控制字节的输入,一个字节的输入将在下8个时钟周期的上升沿完成,数据传输从字节最低位开始。 (5)数据输出经过8个时钟周期的控制读指令的输入,控制指令串行输入后,一个字节的数据将在下个8个时钟周期的下降沿被输出,注意第一位输出是在最后一位控制指令所在脉冲的下降沿被输出,要求RST保持位高电平。 同理8个时钟周期的控制读指令如果指定的是突发模式,将会在脉冲的上升沿读入数据,下降沿读出数据,突发模式一次可进行多字节数据的一次性读写,只要控制好脉冲就行了。2.3 LED8*8点阵LED显示屏,又叫电子显示屏或者飘字屏幕。是由LED点阵组成,通过红色或绿色灯珠的亮、灭来显示文字、图片等内容可以随时更换。通常由显示模块、控制系统及电源系统组成。显示模块由LED灯组成的点阵构成,负责发光显示;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片等内容;电源系统负责将输入电压电流转为显示屏需要的电压电流。单片机通过两片74HC573的片选控制红、绿灯的交替显示。图2-4为点阵内部结构图。图2-4 点阵内部结构图2.4 74HC573芯片简介74HC573 是一种带三态门的8D锁存器,其管脚示意图为图2-5:其中:0D-7D为8个输入端。0Q-7Q为8个输出端。 LE为数据打入端:当C为“1”时,锁存器输出状态同输入状态;当C由“1”变“0”时,数据打入锁存器OC为输出允许端:当OC=0时,三态门打开;当OC=1时,三态门关闭,输出高阻。图2-5 74HC573管教图2.5 74HC138芯片简介74HC138是一款高速CMOS器件,74HC138引脚兼容低功耗肖特基TTL(LSTTL)系列。74HC138译码器可接受3位二进制加权地址输入(A0, A1和A3),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74HC138特有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)。除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。利用这种复合使能特性,仅需4片74HC138芯片和1个反相器,即可轻松实现并行扩展,组合成为一个1-32(5线到32线)译码器。任选一个低有效使能输入端作为数据输入,而把其余的使能输入端作为选通端,则74HC138亦可充当一个8输出多路分配器,未使用的使能输入端必须保持绑定在各自合适的高有效或低有效状态。74HC138与74HC238逻辑功能一致,只不过74HC138为反相输出。图2-6为138管脚图图2-6 138管脚图2.6 AT24C02A芯片简介AT24C02A是带有IC总线接口的E2PROM存储器,具有掉电记忆的功能,并且可以象普通RAM一样用程序改写。它的容量是256个字节(00h-0ffh),有A2、A1、A0三位地址,可见IC总线上可以连接8片AT24C02A,它的寻址字节是1010A2A1A0R/W。DIP封装的AT24C02A芯片管脚图和功能描述如图2-10所示,其中A2、A1、A0是芯片地址线,单片使用时接地,SCL是串行移位时钟端,SDA是串行数据或地址端,CPU通过SDA访问芯片,WP是写保护端,接高电平时芯片只能读。如图2-7 为AT24C02A芯片管脚及其描述如图2-8为AT24C02A芯片读写时序图。图2-7 AT24C02A芯片管脚及其描述图2-8 为AT24C02A芯片读写时序图3 硬件设计3.1 系统硬件设计总框图系统原理图设计如图3-1所示,AT89C51单片机硬件系统实现如下功能:(1)控制时钟芯片DS1302读取日期和时间,设置初值;(2)控制CH451,通过液晶屏显示时间和日期;(3)控制LED8*8点阵通过界面切换实现交通指挥;(4)控制24C02存储器实现实时数据存储和查询。图3-1 系统原理图3.2 LED8*8点阵交通灯界面设计基础LED8*8点阵电路如图3-2所示。该电路可实现系统启动时液晶屏上显示“交”“通”“灯”“左”“前”“右”,点阵通过三个方块代表三方向的实时状态,有“红”“黄”“绿”三色 。点阵的具体控制和实现方法如下:(1)单片机P15、P16、P17 I/O口连接38译码器的A、B、C口,作为译码控制,38的输出Y0-Y7连接三极管驱动电路的输入端,三极管输出连接点阵的H1-H8端口,作为点阵行的控制。(2)单片机的P36口连接两个二输入与非门,P21、P22各连一个二输入与非门,控制点阵的颜色,二输入与非门的输出各连接一个74HC573,当P36和P21口同时为高电平时SL1输出低电平第一片74HC573选通,当P36和P22口同时为高电平时SL2输出低电平第二片74HC573选通,两个二输入与非门作为锁存器的片选信号;(3)单片机的P0口连接74HC573输入端1D-8D,74HC573锁存器输出口1Q-8Q控制点阵的列。连接点阵上的红灯或者绿灯输入端口,起到红灯或者绿灯点亮信号的锁存作用,如果红灯和绿灯同时点亮,那么显示黄灯。图3-2 LED8*8点阵电路图3.3 时间日期显示设计基础电路如图3-3所示,该时钟电路通过对时钟内部时钟寄存器的读写控制可以对年、月、日、周、时、分、秒进行计时。DS1302实时时钟具体控制方法如下:(1)单片机的P10口连接DS1302的I/O口,作为串行数据的输入和输出口;(2)单片机的P11口连接DS1302的SCLK口,给DS1302提供读写数据的脉冲信号;(3)单片机的P14口连接DS1302的RST口,起到时钟芯片的复位作用。图3-3 时钟电路3.4 数据存储查询设计基础外部存储器电路 如图3-4所示,AT24C02A是串行存储方式,单片机可直接控制,内有地址,可存取与读出。具体控制方法如下:(1) 其中A2、A1、A0是芯片地址线,根据不同芯片此三位作用不同,次试验中接地处理,只有一页可写可读;(2) 单片机的P11口连接AT24C02A的SCL口,SCL是串行移位时钟端;(3) 单片机的P10口连接AT24C02A的SDA口,SDA是串行数据或地址端;(4) 单片机通过SDA访问芯片,WP是写保护端,接高电平时芯片只能读。图3-4 存储器3.5 键盘显示模块设计基础键盘显示模块控制电路如图3-5所示,CH451控制键盘与8位数码管,根据命令判断是对数码管操作还是对键盘控制,有键按下时产生中断,并获得相应的键值,根据相应的键值实现程序不同功能,具体控制方法如下:(1)单片机的P12口连接CH451的LOAD口,作为串行数据加载;(2)单片机的P35口连接CH451的DIN口, 作为串行数据输入;(3)单片机的P34口连接CH451的DCLK口,作为串行接口的数据时钟;(4)单片机的INT1口连接CH451的DOUT口,作为串口数据的输出和键盘中断;(5) CH451的RST1口连接外部按键,起到上电复位和看门狗复位的作用。图3-5 键盘显示原理图4 系统软件设计4.1 系统主流程图 本设计通过不同按键实现不同功能,其中:“1”键功能为定时器中断,此中断有内部中断0引发,通过设定时间初值,产生溢出,其功能效果为在LED8段数码管中显示八个“8”。“2”键功能为外中断,通过外部中断触发中断进入相应的子程序,其效果为在LED 8段数码管中显示“12345678”。“3”键功能为实现两位数存储,通过输入两位数通过24C02芯片进行数据存储。“4”键功能为显示存储记录,通过功能键选取显示不同的存储数据类型,有13位实时交通灯数据和2位键盘输入存储数据两种类型。“5键”功能为串行通讯发送,通过功能键利用串行接口向计算机发送数据。“7”键功能为引响蜂鸣器,通过功能键引发蜂鸣器鸣响,且需要相应跳线帽的配合。“8”键功能实现本设计的中心交通灯,在交通灯模块中详细介绍。“B”键实现修改时间功能,后续模块详细介绍。“C”键显示事实时间,通过程序的控制,对时钟芯片寄存去的读访问,并通过液晶屏幕将各时钟寄存器的内容显示出来。“D”键为清除存储记录,通过命令0A0H,对24C02的第一个单元进行写0操作,实现对存储个数清0处理,在后续的访问时钟寄存器时,均需要借助寄存器个数计算读位置,在个数为0的情况下,相当与此时无存储数据,以实现清除操作。开始 系统初始化 欢迎界面N 有按键YY 按键1 定时中断NY 外中断 按键2NY 按键3 存储两位数NY 显示存储记录 按键4NY 串行发送数据 按键5NY 蜂鸣器 按键7NY 按键8 交通灯NY 修改时间 按键BNY 显示时间 按键CNY 清除存储记录 按键DN图4-1 系统主流程图4.2 LED8*8点阵显示交通灯功能模块 此为本设计的中心设计,根据现实生活中的交通灯设计得来,通过按键“8”进入交通灯模式,液晶屏上依次现实“交”“通”“灯”,“左”“前”“右”。在8*8点阵上显示三方向的交通状况,利用三个方格并各自带有“红”“黄”“绿”三种颜色反应三个方向实时交通状况。通过LED 8段数码管实现三方向的倒计时,在倒计时到来之时进行界面切换,当“黄”倒计时为0时,“红”“绿”倒计时均为3时,进行界面切换。当有按键触发时,若为“C”键则进入10秒的紧急界面,三方均为红色,若不为“C”键则退出交通灯模式。每次在界面切换时,自动存储前一时刻的实时交通状态。返回功能说明:只有当按键不为C时,退出交通灯模块,其他返回均为返回进入此界面的界面.例如:从界面一进入紧急界面,且进入时保存各数据。则返回界面一,且恢复之前保存的各数据。 开始 交通灯界面 第一个界面NN 倒计时完毕 有按键YY 存储实时状态 按键CYN 紧急界面 第二个界面到计时完毕N 倒计时完毕NY存储实时状态Y存储实时状态 返回. 第九个界面N 倒计时完毕Y 存储实时状图4-2交通灯流程图4.3 时间日期修改、显示功能模块通过按键“B”,进入修改时间模式,通过按键输入想设置的时间,且每次修改时液晶屏上显示此时修改的目标,每次按键均在液晶屏上显示所按的键值,此输入为顺序输入,依次输入,“年”“月”“日”“星期”“时”“分”“秒”。修改完毕后自动退出。显示实时时间时,通过按键“C”实现,在液晶屏上和LED管上显示此时时间,液晶屏上显示整体时间,LED管上只显示“时”“分”“秒。显示完毕后自动退出。 开始输入年输入月输入日输入时输入分输入秒 返回图4-3时间日期流程图4.4 数据记录显示功能模块通过按键“4”,进入显示存储功能,并且此时设置了一个子选择,此时读取记录个数,若个数为0则直接退出,若不为0,则此时液晶屏上显示“请选择查询类型”,若按键为“A”则显示所存储的实时交通灯状态,若为“B”则显示所存储的两位数,若此时所存储的记录数尚不为“0”,则通过继续按键继续按顺序显示所存储的记录,所存储的记录在液晶屏上显示,而此时所存的记录数,与此时所查询的记录条数则显示在LED管上。若既不为“A”也不为“B”则退出显示存储功能。 开始 按键Y读记录个数NY记录数=0NNY记录数=0 A键Y 顺序显示交通灯记录NNYY记录数=0 顺序显示两位数记录 B键N 返回图4-4数据存储和查询流程图4.5 数据存储显示功能模块此设计为实现两位数存储,检验是否能通过按键输入,进入存储,也检验了此时的存储芯片的状态是否良好,通过按键“3”进入存储功能,此时屏幕上显示“请输入两位数”,在输入两位数后,即实现了此两位数存储。通过按键“E”退出此功能,若不为“E”则继续等待按键。 开始输入两位数 E键NY 返回图4-5两位数存储流程图5 结论本系统利用控制芯片、键盘显示模块、时钟电路、存储器和点阵等分别实现:(1)点阵实现简单直行、左转、右转的交通指挥设计;(2)显示年、月、日、星期、时、分、秒、当前交通状态等信息;(3)能够通过键盘输入日期和时间的初值;(4)通过功能键能够实现数据储存、查询、功能;(5)实现外中断和定时中断功能。本设计特点:系统设计简便、实用性强、操作简单、程序设计简便。 系统不足:此设计的中心设计交通灯,由于点阵面积过小不能很好的实现每一界面的“前”“左”“右”三方的实时状态,只好采用三个方格代替三个方向的箭头,由于液晶屏幕,与点阵的管脚冲突,有些功能不能很完美的实现,比如说“不能实时查询交通灯所存储的交通状态,只能退出交通灯以后才能查询,这是一个很不理想的地方。 按键方面,按键扫描不是很敏感,有些按键却不能反应出来。再者此存储器功能不是很完善,只能实现一页数据的存储。在数据传送与接收方面,此系统也不完善,不能在KEIL 3软件中同时使用此传输功能.设计中遇到的困难:1.在此次设计过程中,由于对各芯片的了解不是甚为了解,对程序的编写出现了很多弯路,尤其在交通灯与液晶芯片上的良好切换上耗费了不少时间。而且此存储芯片功能也不是很好,页地址只能一页,导致在存储功能那一块浪费了不少时间,且此为主要的问题。2. 对KEIL 3软件的了解的不透彻,很多操作方式都不熟练,导致设计出现停滞的现象。3. 在设计中心浮气躁,导致出现一大堆不必要的麻烦。解决的办法:保持清醒的头脑,通过不断了解芯片资料,与修改程序,并且通过修改每次均现场演示,找出错误,善于思考,再修改错误.实验心得:通过此次设计,对单片机更深一层次的了解与掌握,对编程思想,与算法有更深一步的领悟。同时在做研究的时候必须保持一颗良好的心态,相信自己。其次我觉得做任何事情都应该报一个“既然去做了,为什么不把它做到最好呢?”若是这样,想必你必有收获参考文献1赵伟 、张锡英。MCS51系列单片机原理与应用 东北林业大学出版社 20072童诗白,模拟电子技术基础,高等教育出版社,20013谭浩强,C语言程序设计,清华大学出版社,200162附录A;*;* 标题: 北京蓝海微芯LJD-SY-5200单片机实验系统演示程序 *;* 文件: ZW20100425.asm *;* 日期: 2010-5-25 *;*LOAD BIT P1.2 ;键盘和显示定义CH451DIN BIT P3.5DCLK BIT P3.4DOUT BIT P3.3DATA_F EQU 0CHDATA_KEY EQU 0DHMR EQU 08HMR1 EQU 09HMR2 EQU 0AHMR3 EQU 0BH;*ADDR EQU 0EH ;起始的显示位置ADDR1 EQU 0FH ;起始的显示位置临时变量N1 EQU 10H ;行数的临时变量 ; p2.5=r/w p2.4=rsW_C_GLCDEQU 0cfffH ; 0 0 写指令W_D_GLCDEQU 0dfffH ; 0 1 写数据R_B_GLCDEQU 0efffH ; 1 0 读忙标志R_D_GLCDEQU 0ffffH ; 1 1 读数据;*SCLK BIT P1.1 ; ;系统时钟芯片ds1302IODATA BIT P1.0 ;RST BIT P1.4 ;FLAG BIT 02H ;读写标志位;*;*SDA bit P1.0 ; /* iic数据传送位 */ AT24C02A定义SCL bit P1.1 ; /* iic时钟控制位 */WP BIT P1.4 ORG 00H LJMP MAIN ORG 03H LJMP LINT0 ORG 0BH LJMP LTIME0 ORG 13H LJMP CH451_INT1 ;设置键盘中断外部中断1 ORG 30HMAIN: MOV SP,#60H LCALL INITIAL_GLCD;调用LCD初试化 LCALL INICH451 ;显示和键盘初始化 LCALL DS1302INI ;时钟芯片ds1302初始化 SETB IT1 ;置外部中断信号为边沿触发 SETB EX1 ;允许键盘中断 SETB EA ;开总中断STAT: LCALL DELAY_1S MOV A,#01H ;清除LCD显示器 LCALL COMMAND_GLCD MOV DPTR,#DHZTAB1 MOV ADDR1,#00H ; 开始行位置 MOV N1,#6 ; 显示数量 LCALL DHZCLR EAMOV DPTR,#DHZTAB0 MOV ADDR1,#10H ;送显示地址第2行 MOV N1,#8 ; 显示数量 LCALL DHZ LCALL OFFDIS MOV 77H,#0 MOV 78H,#18H MOV 79H,#18H MOV 7AH,#0EH MOV 7BH,#17H LCALL DISPLAY MOV 20H,#0 MOV DATA_KEY,#0 SETB EX1;*键盘判断*KEY0: JNB 00H,KEY0 CLR 00H MOV A,DATA_KEYKEY1: CJNE A,#41H,KEY2 ;1键;-定时器- CLR EX1 ;禁止键盘中断 MOV TMOD,#01H ;T0方式1 MOV TL0,#0B0H ;定时50毫秒 MOV TH0,#3CH MOV R5,#40 ;2秒 SETB ET0 ;允许T0中断 SETB EA CLR F0 SETB TR0 JNB F0,$ CLR F0 AJMP STAT;-外中断INT0-KEY2: CJNE A,#42H,KEY3 ;2键 CLR EX1 SETB IT0 ;置外部中断0信号为边沿触发 SETB EX0 SETB EA JNB 01H,$ CLR 01H AJMP STAT;-存储器写记录-KEY3: CJNE A,#43H,KEY31 ;3键 LCALL OFFDIS MOV A,#01H ;清除显示器 LCALL COMMAND_GLCD MOV 77H,#3 LCALL DISPLAY MOV A,#01H ;清除显示器 LCALL COMMAND_GLCD MOV 7AH,#0BH LCALL DISPLAYMOV DPTR,#DHZTABB MOV ADDR1,#00H ; 开始行位置 MOV N1,#7 ; 显示数量 LCALL DHZ LCALL DELAY_1SMOV A,#90H ;送显示地址第二行 LCALL COMMAND_GLCD SETB WP ;控制允许24C02A读写 NOP CLR WP LCALL M2 LCALL DELAY_1SJK0: JNB 00H,JK0 CLR 00H MOV A,DATA_KEY JK3: CJNE A,#5AH,JK0 ;3+E键返回 MOV 7AH,#0EH LCALL DISPLAY LCALL DELAY_1S AJMP STAT;-存储器读记录-KEY31: CJNE A,#48H,KEY4 ;4键 LCALL OFFDIS MOV A,#01H ;清除显示器 LCALL COMMAND_GLCDMOV DPTR,#DHZTABC MOV ADDR1,#00H ; 开始行位置 MOV N1,#7 ; 显示数量 LCALL DHZ MOV 77H,#4 LCALL DISPLAYJKEY: JNB 00H,JKEY CLR 00H MOV A,DATA_KEY CJNE A,#52H,JKEY1 ;4+A键显示实时交通灯记录 MOV 7AH,#0AH LCALL DISPLAY MOV A,#01H ;清除显示器 LCALL COMMAND_GLCD LCALL DELAY_1S LCALL DJL0 ;显示记录 AJMP STATJKEY1: CJNE A,#53H,JKEY2 ;4+B键显示存储的两位数记录 MOV 7AH,#0BH LCALL DISPLAYMOV A,#01H ;清除显示器 LCALL COMMAND_GLCDMOV DPTR,#DHZTABD MOV ADDR1,#00H ; 开始行位置 MOV N1,#5 ; 显示数量 LCALL DHZ LCALL DELAY_1SLCALL DJL1 AJMP STATJKEY2: CJNE A,#5AH,JKEY ;4+E键返回 MOV 7AH,#0EH LCALL DISPLAY LCALL DELAY_1S AJMP STAT;-串行通讯发送-KEY4: CJNE A,#49H,KEY5 ;5键 CLR EX1MOV A,#01H ;清除显示器 LCALL COMMAND_GLCDMOV DPTR,#DHZTAC MOV ADDR1,#00H ; 开始行位置 MOV N1,#3 ; 显示数量 LCALL DHZ LCALL TONGXIFMOV A,#01H ;清除显示器 LCALL COMMAND_GLCDMOV DPTR,#DHZTAB MOV ADDR1,#00H ; 开始行位置 MOV N1,#3 ; 显示数量 LCALL DHZLCALL DELAY_1S AJMP STAT;-串行通讯接收-KEY5: CJNE A,#4AH,KEY6 ;6键 CLR EX1 LCALL TONGXIS AJMP STAT;-蜂鸣器-KEY6: CJNE A,#4BH,KEY7 ;7键 CLR EX1 MOV R7,#10KK: L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年烟草四川公司招聘考试真题及答案
- 中级计量经济学知到智慧树答案
- 计算机三级(信息安全技术)考试题(含答案)
- 中外名建筑赏析知到智慧树答案
- 中西方文化比较知到智慧树答案
- 中西医结合基础思路研究与方法知到智慧树答案
- 中学生物实验教学知到智慧树答案
- 2025版水电安装工程合同履行与维护合同
- 2025年仓储配送一体化大数据分析服务合同
- 2025版土地储备项目合作开发中介服务合同
- 勉县一中小升初数学试卷
- 2025一建《建设工程经济》计算、时间、数字考点笔记
- 校园基孔肯雅热防控措施课件
- 第1课 中国古代政治制度的形成与发展 课件 统编版高中历史选择性必修1
- 药师考试历年真题综合测试试卷(含答案)
- 2025年村级防疫员考试模拟试题及答案
- 快餐公司门店设备夜间关闭管理制度
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 期权风险管理课件
- 《护理伦理学》教学大纲(本科)
- 板带轧机刚度对热轧板形的影响
评论
0/150
提交评论