实验六开机次数统计与独立式键盘显示控制设计实验解析.doc
文本预览下载声明
实验六 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
显示全部