2022年基于89C51的自动断电保护系统单片机课程设计.docx
精品学习资源单片机系统课 程 设 计成果评定表设计课题 :基于 89C51 地自动断电爱护系统学院名称 :电气工程学院专业班级 :同学姓名 :学号 :指导老师 :设计地点 :设计时间 :指导老师看法:成果:签名:年 月日欢迎下载精品学习资源单片机系统 课 程 设 计课程设计名称:基于 89C51 地自动断电爱护系统专 业 班 级 :学 生 姓 名 :学号 :指 导 教 师 :课程设计地点:课程设计时间:单片机系统课程设计任务书同学姓名专业班级学号题 目课题性质工程设计课题来源选题欢迎下载精品学习资源指导老师欢迎下载精品学习资源主要内容(参数)利用 89C51 设计自动断电爱护系统,实现以下功能:1、实现开机后自动供电;2、内部短路或超载时会自动断开电源;3、利用互感,通过采集电流来掌握继电器地常开,常闭触头.4、采纳警报,声音来提示使用者来处理紧急事故欢迎下载精品学习资源欢迎下载精品学习资源任务要求(进度)第 1-2 天:熟识课程设计任务及要求,查阅技术资料,确定设计方案.第 3-4 天:根据确定地方案设计单元电路.要求画出单元电路图,元件及元件参数挑选要有依据,各单元电路地设计要有具体论述.第 5-6 天:软件设计,编写程序.第 7-8 天:试验室调试 .第 9-10 天:撰写课程设计报告.要求内容完整、图表清楚、文理流畅、格式规范、方案合理、设计正确,篇幅合理.欢迎下载精品学习资源欢迎下载精品学习资源主要参考资料1 张迎新单片微型运算机原理、应用及接口技术(第2 版) M 北京:国防工业出版社, 20042 伟福 LAB6000 系列单片机仿真试验系统使用说明书3 阎石数字电路技术基础(第五版)北京:高等训练出版社,2006欢迎下载精品学习资源审查看法系(教研室)主任签字:年 月日目录一、引言2二、总体方案设计3三、硬件电路设计4欢迎下载精品学习资源3.1 单片机最小系统43.2 电流采样电路和继电器掌握电路63.3 A/D 采样电路73.4 键盘和液晶显示电路83.5 声光报警电路11四、系统软件设计114.1 主程序设计114.2 中断服务程序设计124.3 部分主要子程序设计15五、系统调试17六、总结17参考文献:17附件 A18附件 B19一、引言随着家用电器地增多,人们也越来越关怀用电器地爱护和用电安全地问题.因此自动断电爱护系统,逐步广泛应用于家庭用电器地爱护设施,它能够实现开机后自动复原供电功能.当内部电路短路,用电功率超过设定值时,自动断电爱护系统就会自动断开用电器地供欢迎下载精品学习资源电回路,使用电器停止工作,能够防止用电器进一步地损坏,防止发生一些不必要地缺失.该设计采纳电流互感器,来采样线路上地电流值,然后与用户设定值进行比较,掌握继电器地常闭点地断开与闭合,从而掌握用电器地供电回路地断开与闭合.同时该设计仍供应了声光报警,用户可以准时地处理事故.用户仍可以通过键盘来设置限制电流地大小,同时电流地采样值和设置值都会通过液晶显示器显示出来,以供用户便利地使用和观看.二、总体方案设计根据任务要求和系统设计要求,掌握系统包括以下几个部分:1. 掌握器 .作为系统地核心元件,我们采纳AT89C51 单片机 .2. 电流采样 .通过一个互感器进行电流地采样,将线路上地大电流转换为小电流值进行采样 .通过一个电阻将其转换成电压信号,便利单片机地读取.3. A/D转换.A/D 转换芯片采纳ADC0804 八位模数转化器 .A/D 转换器可以把测得地模拟量转化成数字量输出,可以直接读取.4. 继电器 .当电流超过设定值时,继电器断开,电路回路断开.继电器在电路中起到断电爱护作用,是系统地安全保证.5. 声光报警 .当电流值超过设定值时,进行报警6. 键盘 .通过键盘可以设置限制电流大小.7. 液晶显示器显示 .可以显示设置电流以及实时电流值大小.总体设计结构图如图2-1 所示:数码管显示键盘声光报警单片机最小系统AT89C51电流采集及A/D 转换继电器电源时钟电路图 2-1 总体设计结构图欢迎下载精品学习资源三、硬件电路设计3.1 单片机最小系统微掌握器采纳AT89C51 , AT89C51 是一种带 4K 字节闪耀可编程可擦除只读储备器( FPEROM Falsh Programmableand Erasable Read OnlyMemory )地低电压、高性能CMOS8 位微处理器 .其主要特性如下:·与 MCS-51 兼容·4K 字节可编程闪耀储备器·寿命: 1000 写/擦循环·数据保留时间: 10 年·全静态工作: 0Hz-24MHz·三级程序储备器锁定·128*8 位内部 RAM·32 可编程 I/O 线·两个 16 位定时器 /计数器·5 个中断源·可编程串行通道·低功耗地闲置和掉电模式·片内振荡器和时钟电路其最小系统主要包括复位电路,时钟电路.AT89C51 芯片电路图如图 3-1 所示:欢迎下载精品学习资源DB11DB22DB33DB44DB55DB66DB77DB89P1.0P1.1P1.239D0P0.038D1P0.137D2P0.2欢迎下载精品学习资源P1.3P1.4P1.5P0.336D3P0.435D4P0.534D533D6欢迎下载精品学习资源INT1 13P1.6P1.7 INT1P0.632D7P0.7欢迎下载精品学习资源CSDA12RS15INT0P2.021P2.12223SDASCL 18B20欢迎下载精品学习资源LCDEN 14T1T031EAP2.2P2.3 P2.4 P2.524 FM25 CSUSB26 DIOL A欢迎下载精品学习资源RST9X119X218RD17WR 16RST X1X2RD WRP2.627P2.728RXD10TXD11AL E3029PSENDULAWEL AP3.0 P3.1 AL E欢迎下载精品学习资源图 3-1 AT89C51 单片机芯片电路图复位电路图如图 3-2 所示:欢迎下载精品学习资源S0VCC310uR1 1R1RS10K欢迎下载精品学习资源图 3-2 复位电路图复位电路与 AT89C51 地拜访外部程序储备器掌握引脚 EA 和复位信号输入引脚 RST 相连 .此电路可以实现上电复位和手动复位,复位电路工作原理如上图所示,采纳5V 供电, +5V 地 VCC 上电时, C3 充电,在 10K 电阻上显现电压,使得单片机复位;几个毫秒后, C3 布满, 10K 电阻上电流降为 0,电压也为 0,使得单片机进入工作状态 .工作期间, 按下 S0, C3 放电,在 10K 电阻上显现电压,使得单片机复位 .S0 松手, C3 又充电,几个毫秒后,单片机进入工作状态 .每次启动都需要重新设置限制电流大小,否就就默认为初始设置 10A. 当微掌握器运行发生错误时,可以对其手动复位,使其重新启动运行,再进行设置限制电流大小 .时钟电路图如图 3-3:欢迎下载精品学习资源X 1C 430 PY 1X 2C 530 P图 3-3 时钟电路图时钟电路接 AT89C51 地 18 和 19 引脚 .X1 接外部晶振和微调电容地一端,在片内它是振荡器倒相放大器地输入;X2 接外部晶振和微调电容地另一端;此电路采纳12M 晶振给单片机供应时钟信号 .本设计时钟电路采纳12M 地晶振 .晶振地作用是给单片机正常工作供应稳固地时钟信号 .单片机地晶振并不是只能用12M ,只要不超过20M 就行,在准许地范畴内,晶振越大,单片机运行越快,仍有用12M地就是好算时间,由于一个机器周期为12 个时钟周期,所以这样用12M 地话,一个时钟周期为1/12us,那么机器周期为1us 即定时器计一次数就是1us 了,电容范畴在 20-40pF 之间,这里连接地是30pF 地电容 .机器周期 =12* 系统时钟周期 .3.2 电流采样电路和继电器掌握电路电流采样电路,电路正常工作时继电器常闭触点闭合接通电流互感器,通过电流互感器按肯定比例采样线路上地电流值大小,通过一个电阻,将电流信号转换为电压信号,便利单片机进行 A/D 转换,继电器掌握电路,当线路上地电流值大于设定电流值时,将P2.4 端口置 1,掌握导通地信号置于高电平,使三极管饱和导通即Q2 形成通路,就继电器常闭点断开,用电器电路回路断开,就用电器停止工作.继电器两端单向并联一个二极管(负极接在VCC 端, 正极接在三极管集电极上),起到吸取电磁线圈断电后产生地反向电动势,爱护三极管.电路图如图 3-4 所示:欢迎下载精品学习资源VCCVCCD1K1DIODE欢迎下载精品学习资源P2.4Q2 NPNT1 TRANS3J112CON2欢迎下载精品学习资源欢迎下载精品学习资源P2.5图 3-4 电流采样转换电路和继电器掌握电路3.3 A/D采样电路R2 500欢迎下载精品学习资源A/D 采样电路采纳集成 A/D 转换器 ADC0804 .ADC0804 是一款 8 位、单通道、低价格 A/D 转换器,主要特点是:模数转换时间大约 100us;便利 TTL 或 CMOS 标准接口; 可以满意差分电压输入;具有参考电压输入端;内含时钟发生器;单电源工作时( 0 5)V 输入电压范畴是 0 5V ;不需要调零 .1. 芯片参数:工作电压: +5V ,即 VCC=+5V .模拟转换电压范畴: 0 +5V ,即 0Vin +5.V辨论率: 8 位,即辨论率为 1/28=1/256 ,转换值介于0 255 之间 .转换时间: 100us( fCK=640KHz时) .转换误差: ±1LSB.参考电压: 2.5V ,即 Vref=2.5V . 2.各个引脚名称及作用:Vin ( +)、 Vin ( -):两个模拟信号输入端,可以接收单极性、双极性和差模输入信号.DB0-DB7 :具有三态特性数字信号输出端,输出结果为八位二进制结果. CLKIN :时钟信号输入端 .欢迎下载精品学习资源CLKR: 内部时钟发生器地外接电阻端,与CLK 端协作可由芯片自身产生时钟脉冲,其频率运算方式是: fck=1/1.1RC ) .CS:片选信号输入端,低电平有效.WR :写信号输入端,低电平启动AD 转换.RD:读信号输入端,低电平输出端有效.INTR :转换完毕中断供应端,AD 转换终止后,低电平表示本次转换已完成.VREF/2 :参考电平输入,打算量化单位.VCC :芯片电源 5V 输入 .AGND: 模拟电源地线 .DGND: 数字电源地线 .ADC0804 外围电路如图3-5 所示:VCCRe210kCSD1A RD 2WR3CS RD WRVCCVCC 20INTR5C11ADIN21R15 10k104419967CLK IN CLK OUT REF/2 IN+IN-VCCR131kR12 10k R1410k810AGND DGNDADC0804DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB718 DB117 DB216 DB315 DB414 DB513 DB612 DB711 DB8图 3-5 ADC0804 外围电路图 3-5 为 ADC0804 外围电路原理图,其中,VCC=5V ,因此 ADC 转换地参考电压为VCC 地值,即 5V.IN- 接地,而 IN+ 通过插座 ANIN连接滑动变阻器Re2 地输出,因此 IN+ 地电压输入范畴为0V 5V ,正好处于参考电压范畴内.引脚 CS、WR 和 RD 分别连接单片机地12,17 以及 16 脚,而 DB0DB7 连接单片机地P1 脚.3.4 键盘和液晶显示电路液晶显示电路采纳带中文字库地12864 液晶显示器 .带中文字库地128X64 是一种具有 4 位/8 位并行、 2 线或 3 线串行多种接口方式,内部含有国标一级、二级简体中文字库地点阵图形液晶显示模块;其显示辨论率为128×64, 内置 8192 个 16*16 点汉字,和128 个16*8 点 ASCII字符 集.利用该模块敏捷地接口方式和简洁、便利地操作指令,可构成全中欢迎下载精品学习资源文人机交互图形界面 .可以显示 8×4 行 16×16 点 阵地汉字 . 也可完成图形显示 .低电压低功耗是其又一显著特点 .由该模块构成地液晶显示方案与同类型地图形点阵液晶 显示模块相比, 不论硬件电路结构或显示程序都要简洁得多,且该模块地价格也略低于相同点阵地图形液晶模块 .12864 液晶具有如下地特性:1 供应 8 位, 4 位并行接口及串行接口可选2 并行接口适配 M6800 时序3 自动电源启动复位功能4 内部自建振荡源64×16 位字符显示 RAM (DDRAM最多 16 字符 ×4 行, LCD 显示范畴 16 ×2 行) 改为半角输入 2M 位中文字型 ROM ( CGROM ) ,总共供应 8192 个中文字型( 16×16 点阵)16K 位半宽字型 ROMHCGROM,总共供应 126 个西文字型( 16×8 点阵)64×16 位字符产生 RAM (CGRAM )15×16 位总共 240 点地 ICON RAM ( ICONRAM )液晶显示电路如图3-6 所示:欢迎下载精品学习资源V CC1 2 86 4 VR2 K欢迎下载精品学习资源V CC欢迎下载精品学习资源D B11D B22D B33D B44D B55D B66D B77D B88INT 1 3 C SD1 2AR S 1 5 LC D EN1 43 13 9D 013 8D 13 7D 23 6D 33 5D 43 4D 53 3D 63 2D 72 1SD A2 2SC L2 31 8 B2 02 4FM2 5C SU SB2 6D IO LA2 7D UL A2 8W E LAP1.0P0.0P1.1P0.1P1.2P0.2P1.3P0.3P1.4P0.4P1.5P0.5P1.6P0.6P1.7P0.7INT1P2.0INT0P2.1P2.2T1P2.3T0P2.4P2.5EAP2.6X 1P2.7X 223456789V CC123R S4W R5LC D END 06D 17D 289D 31 0D 41 1D 51 2D 61 3D 71 4R D1 51 61 7欢迎下载精品学习资源X 1 1 9X 2 1 81 8V CC1 92 0欢迎下载精品学习资源R ST 9R D 1 7W R1 6R STR D W RR ES2R XD1 0TX D1 1A LE3 0PS EN2 9P3 .0P3 .1 A LE欢迎下载精品学习资源图 3-6 液晶显示电路键盘电路采纳 3 个独立地按键,一个功能切换键、一个加按键、一个减按键通过这三个按键可以来合理地设置限制电流地数值.键盘电路与单片机地连接电路图如图3-7 所示:SDA S SCL SS 18B20图 3-7 键盘电路与单片机地连接电路图欢迎下载精品学习资源3.5 声光报警电路声光报警电路,采纳三极管驱动音频放大器实现音频报警,当采样电流值大于电流设定值时,单片机 P2.3 引脚即 FM 端口产生 100HZ 地方波信号,掌握 Q1 地通断,实现蜂鸣器报警;单片机 P3.0 端口变成高电平,就发光二极管点亮,实现报警功能 .此装置具有以下优点:1、在远距离是可以通过声音准时通知2、在近距离可以通过视听觉做出反应3、在嘈杂地环境中可以通过视觉通知4、两种器件协作更加安全牢靠电路图如图 3-8 所示:VCCLS1SPEAKERFMR18Q1PNP18P3.0D13R24VCC1K图 3-8 声光报警电路四、系统软件设计软件设计包括主程序,中断服务程序等其它子程序4.1 主程序设计主程序是系统上电或复位后第一要执行地程序,主程序主要完成系统地初始化、扫描显示、扫描键盘 ,A/D 转换等工作 .主程序上电自动复位,也可手动复位;欢迎下载精品学习资源主程序执行时,分别进行键盘扫描,A/D 转换,以及液晶显示 .主程序流程图如图4-1 所示:开头初始化设置启动定时器启动AD转换扫描键盘液晶显示图 4-1 主程序流程图当系统上电或者手动复位时,第一进行系统初始化,设置堆栈地址,定时器0 工作方式,中断触发方式以及其它系统初始化.然后启动定时器和A/D转换 .然后进行不停地扫描键盘和显示 .4.2 中断服务程序设计外部中断服务程序流程图如图4-2 所示:欢迎下载精品学习资源开头爱护现场读取AD值数据转换是否大于设定值否正常工作是继电器断开声光报警回复现场中断返回图 4-2 外部中断服务程序流程图当 A/D转换终止时,ADC0804模数转换器INTR引脚输出一个低电平信号,使AT89C51 产生外部中断,进入外部中断服务程序.第一爱护现场,然后读取AD 值,进行数据地转换然后储备,并与设定地电流值进行大小比较,假如超过设定值,就继电器断开,用电器回路断开,并置1 报警标志位 .复原现场,中断返回 .定时器 0 中断服务程序流程图如图4-3 所示:欢迎下载精品学习资源开头爱护现场装初值( 10ms)判定状态位 20H1取反 P2.4驱动扬声器0否判定是否到 1S是重新设置 1S计数值启动 AD转换复原现场中断返回图 4-3 定时器 0 中断服务程序流程图定时器设置为 10ms 定时,每 10ms 中断一次,进入中断之后,第一爱护现场,重装初值,判定是否处在报警状态,假如是,取反P2.4 口,驱动扬声器进行声音报警.假如没有处于报警状态在判定是否到1S,到 1S,就重置 1S 计数初值,启动A/D 转换然后复原现场, 中断返回,假如不到1S,就直接复原现场,中断返回.欢迎下载精品学习资源4.3 部分主要子程序设计系统主要子程序主要包括键盘子程序、键盘扫描子程序,显示子程序.(1) 键盘子程序设计键盘子程序设计,采纳三个独立按键来设置限制电流值地大小,第一次按下键1,启动限制电流大小地设置,最大限制电流处地液晶光标闪耀,按其次下键1 液晶光标不再闪耀,表示调剂终止 .按键 2,就实现限制电流地增加,最大限制电流20A ;按键 3,就实现限制电流地减小,最小限制电流为0A.(2) 键盘扫描子程序设计流程图如图4-4 所示:开头判定有无闭合键否是延时 20ms去抖否再次判定有无闭合键是识别闭合键,取得键值等键释放返回图 4-4 键盘扫描子程序设计流程图( 3)显示子程序设计欢迎下载精品学习资源系统上电后,即开头在默认地最大限制参考电流地第一行设置限制电流,其次行为系统测量电流即:CIV : 20A CTV :00ACIV:current limit value限制电流值 . CTV:current test value 测试电流值 显示子程序设计流程图如图4-5 所示:开头初始化延时设置第一行显示位置显示第一行内容设置其次行显示位置显示其次行内容终止图 4-5 显示子程序设计流程图欢迎下载精品学习资源五、系统调试由于硬件地限制,我们不能对互感器电流采样部分电路地测试,但是通过直接给ADC0804 一个模拟信号进行了以下测试.1、上电开头默认显示正常.2、按键 S1 功能切换键、按键S2 数值增键、按键 S1 数值减键正常 .3、上下限最值测试正常.4、A/D 转换结果测试正常.5、声光报警装置测试正常.六、总结通过本次地单片机课程设计,使我更好地把握了单片机地使用,更好地懂得了单片机内部地数据储备,中断和定时器地应用,单片机外部电路地接口技术,数据总线地运用,也更深化地明白了汇编语言,熟识了汇编指令地功能以及程序地编写.让我知道想设计好一个完整稳固地系统,需要考虑许多地细节,并不是那么简洁,对我以后进入工作起到很大地帮忙 .参考文献:1 张迎新单片微型运算机原理、应用及接口技术(第2 版) M 北京:国防工业出版社, 20042 伟福 LAB6000 系列单片机仿真试验系统使用说明书3 阎石数字电路技术基础(第五版)北京:高等训练出版社,2006欢迎下载精品学习资源附件 AV CCP2D D欢迎下载精品学习资源.4IO 1DP2E.5V CC1A0R欢迎下载精品学习资源VN QCC21 2Ke2 DIN欢迎下载精品学习资源PN5R200TRT1 ANS3C2 1J121ONVKCC111RCK310141VRR25CC1R11欢迎下载精品学习资源1K1400KK1C03uW R C欢迎下载精品学习资源1S00 817 6 9 9 4R D SD 3 2 1AR W R LCVC P3 P3CC欢迎下载精品学习资源AD R SD INTSD.1 .0欢迎下载精品学习资源CCD AR C CW R C1 A欢迎下载精品学习资源0854DCGNGNIN- IN+LK LKR D SEN欢迎下载精品学习资源033D D400PPINEF/2O IN UTP3 1 9 80V7 6 54 3 2 1P9欢迎下载精品学习资源1R 1RD D DD D D D DINT欢迎下载精品学习资源01 K1K76B7 B6 B5 B4 B3 B2 B1 B0RCC欢迎下载精品学习资源Y1 111 21 1 13 4 51 1 1526 7 80VV欢迎下载精品学习资源CCD D D DD D D DCC欢迎下载精品学习资源W RXLCXRD RC1SDDD D DD D D D7 6 5 43 2 1 0欢迎下载精品学习资源R D21 1111ST 3S1EN11A INTB8 B7 B6B5 B4 B3 B2 B1P0 19 8 76 5 43 2 1P6欢迎下载精品学习资源6 7899 14 52 3 97 6 54 3 2 10欢迎下载精品学习资源W RXXR EAT0 T1P1 P1 P1 P1 P1 P1 P1 P1欢迎下载精品学习资源R D21STINTINT.7 .6 .5.4 .3 .2 .1 .0欢迎下载精品学习资源0 1D D D DVD D D DCC欢迎下载精品学习资源B8 B7 B6B5 B4 B3 B2 B1欢迎下载精品学习资源PSA TX RP2P2 P2 P2 P2 P2 P2 P2P0 P0 P0 P0 P0 P0 P0 P01P1 09 8 76 5 43 2 1P7欢迎下载精品学习资源ENLE D XD.7 .6.5 .4 .3.2 .1 .0.7 .6 .5.4 .3 .2 .1 .0欢迎下载精品学习资源2 3 1 19 0 1 02 2 28 7 62 2 2 2 25 4 3 2 1C13 3 3 32 3 4 53 3 3 36 7 8 9W D D C EIO1FM8SCSDV欢迎下载精品学习资源A P3 P3W D DFM8 SCSDULSUB2 L ACC欢迎下载精品学习资源LE .1 .0E UL IO SUB2 L ALA A LASB0欢迎下载精品学习资源LA A LA SB0D D D D D D D D欢迎下载精品学习资源FMP38.011R81B210KSCSDLA7 6 5 4 3 2 1 09 8 7 6 5 4 3 2 1P1P2 109 8 76 5 43 2 1P8V CC欢迎下载精品学习资源0D813S3S2S1VVCCCCRD D D D21K2864D D D DW RVR欢迎下载精品学习资源1RVK24CCQ PN1 PSPLS1EAVKE2 1 10 9 8D 71 1 1 17 6 5 46 5 41 13 23 21 1 91 01 0 LC R S DEN8 7 6 5 413 2 12864欢迎下载精品学习资源CCR欢迎下载精品学习资源附件 B程序: ORG 0000H LJMP MAIN ORG 0003H LJMP TS ORG 000BH LJMP T_0 ORG 0030H MAIN:MOV SP,#3FH;设置堆栈MOV 60H,#0;采集数据显示缓冲区MOV 70H,#10;设置数据显示缓冲区MOV R0,#60H MOV R1,#70H MOV R6,#50MOV R7,#200 ;1S 计数值CLR 20H;报警状态标志位CLR 21H;设置数据标志位CLR P2.3;音频报警CLR P2.4;继电器CLR P3.0;LEDMOV TH0,#0F6H;定时器 0 装初值MOV TL0,#3CHSETB IT0;外部中断触发方式设置MOV IE,#83H;开总中断,外部中断0,定时器中断 0 SETB TR0;启动定时器MOV A,#0MOV DPTR,#8000H;片选 ADC0804 MOVX DPTR,A;启动 ADLOOP:LCALL DISPLAY;调用显示LCALL KEY;扫描键盘LJMP LOOPKEY:PUSH ACC;爱护现场PUSH PSW PUSH DPH PUSH DPLLCALL KEY_VALUEJB 21H,KEY0_0;判定是否处于设置数据状态欢迎下载精品学习资源KEY0:CJNE A,#01H,RETURN;判定键值LCALL DISPLAY;调用显示延时,消抖CJNE A,#01H,RETURN LCALL KEY_VALUEJNZ KEY0;等键释放SETB 21H;设置数据状态标志位置1 LJMP RETURN;返回KEY0_0:CJNE A,#01H,KEY1;判定键值LCALL DISPLAY;调用显示延时消抖CJNE A,#01H,KEY1 LCALL KEY_VALUEJNZ KEY0_0;等键释放CLR 21H;设置完成,清除标志位LJMP RETURN;返回KEY1:CJNE A,#02H,KEY2;判定键值LCALL DISPLAY;调用显示延时,消抖CJNE A,#02H,KEY2 LCALL KEY_VALUEJNZ KEY1;等键释放INC 70H;设置数据缓冲区加1 CJNE R1,#20,RETURN ;判定是否到最大值20 MOV 70H,#0;是,归 0LJMP RETURN;返回KEY2:CJNE A,#04H,RETURN;判定键值LCALL DISPLAY;调用显示延时,消抖CJNE A,#04H,RETURN LCALL KEY_VALUEJNZ KEY2;等键释放DEC 70H;设置数据缓冲区加 1 CJNE R1,#0,RETURN ;判定是否到最小值 0 MOV 70H,#20 ;是,变为 20RETURN:POP DPL;复原现场POP DPH POP PSW欢迎下载精品学习资源POP ACC RETKEY_V ALUE:;读键值子程序MOV DPTR,#09002H;送键盘列码地址 MOV A,#00HMOVX DPTR,A;扫描键盘MOV DPTR,#08001H;送行码地址MOVX A,DPTRANL A,#0FH;读键值RET DISPLAY:RSEQU P3.5 R/WEQU P3.6 EEQUP3.4 PSBEQUP3.7DO-D7EQUP0ORG0000HAJMPMAINORG0100H;以下是主程序,进行初始化MAIN:MOV SP,#60HMOV A,#00111000B;功能设置指令,8 位接口,显示两行, 5*7