文档详情

实验六开机次数统计与独立式键盘显示控制设计实验解析.doc

发布:2016-04-28约9.76千字共10页下载文档
文本预览下载声明
实验六 5.2 开机次数统计与独立式键盘显示控制设计实验 系别专业:电子系12级电信2班 学号:3121003210 姓名:李书杰 指导老师:刘志群老师 5.2.1 实验要求 1. 复习构建单片机应用系统的方法。 2. 注意实验前方案论证和硬软件设计过程,硬件电路要有原理图,软件部分要求画出流程图和编写程序并作适当注释,拟定实验(调试、测试)步骤。 5.2.2 实验设备 PC 机一台,TD-NMC+教学实验系统,万用表一台,AT24C04芯片,若干电阻和导线 5.2.3 实验目的 1. 学会单片机应用系统的基本设计方法。 2. 掌握单片机人机通道的键盘输入和 LED显示技术。 3. 掌握键盘工作原理和按键设置、处理方法。 4. 学会单片机定时器的应用。 5. 掌握带I 2C总线接口的 E 2PROM存储器(如AT24C04)的应用。 6. 学会面包板在电路设计中的使用。 7. 进一步学习单片机 I/O口的使用。 8. 进一步学习单片机软件编程的方法。 9. 掌握单片机应用系统的调试技巧。 5.2.4 实验内容 根据TD-NMC+实验平台的单元电路,构建一个硬件系统,设计一个打开实验平台(开机)次数统计、显示并能掉电保存、可预置开机次数的控制系统,要求如下:使用带 I 2C总线接口的 E 2PROM存储器保存开机次数,显示由实验平台上的键盘及数码管单元电路模块实现;开机次数可以从默认的 0次开始统计,也可以由设计的系统电路中的按键预置,预置值最大只有两位,由 2个独立式按键分别控制;允许多次设置开机次数初值;同时系统中另外设计两个独立式功能按键,一个键用于决定是否预置开机次数初值(但按了预置功能请用指示灯指示),另一个键用于预置后的确认,确认后系统能实现计数器的功能,即从预置初值开始,每隔 1s(要求用单片机的定时器实现)加 1计数,允许的最大计数值为99,计数值能在数码管上显示。 程序如下: ;本程序最大仅能统计255次开机或复位次数 SLAW EQU 0A0H ;AT24C02寻址字节写的节点地址 SLAR EQU 0A1H ;AT24C02寻址字节读的节点地址 NUMBYT EQU 2FH ;被传送数据的字节数存放单元 MTD EQU 50H ;发送数据缓冲区首地址(24C02高8位地址) MTD1 EQU 51H ;24C02低8位地址 MRD EQU 30H ;接收字节缓冲区首地址 VSDA BIT P0.1 ;虚拟总线的数据线 VSCL BIT P0.0 ;虚拟总线的时钟线 SLA EQU 2BH ;IIC字节读写的节点地址暂存单元 // 按键和LED定义 SW_K BIT P1.4 ; 开机次数十位设置按键 GW_K BIT P1.5 ; 开机次数个位设置按键 SETUP BIT P1.6 ; 设置按键 COUNT BIT P1.7 ; 定时计数按键 LED BIT P1.0 ; 设置指示灯 // 数码管位定义 LEDSEG EQU P2 SEG1 BIT P1.2 ; 数码管的十位 SEG2 BIT P1.3 ; 数码管的个位 SHI EQU 60H GEWEI EQU 61H TIMES EQU 62H ETIMESF BIT 00H ; 确认键按键奇偶标志位 T1SF BIT 01H ; 定时1s标志位 ORG 0000H AJMP MAIN ORG 000BH AJMP INTT0 ORG 0030H MAIN: MOV SP,#70H ; 堆栈地址 ORL P1, #0F0H ; 设4个按键为输入口 CLR LED CLR ETIMESF ; 初始默认确认键按下偶数次 CLR T1SF MOV TMOD,#01H MOV TIMES, #20 SETB EA LCALL RDIIC ; 读出24C02在本次开机前的开机次数 MOV A, MRD ACALL H_BCD LOOP: LCALL DIS ; 调用显示子程序 JB SETUP, M1 LCALL
显示全部
相似文档