资源描述:
《实验六开机次数统计与独立式键盘显示控制设计实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验六5.2开机次数统计与独立式键盘显示控制设计实验系别专业:电子系12级电信2班学号:3121003210姓名:李书杰指导老师:刘志群老师5.2.1实验要求1.复习构建单片机应用系统的方法。2.注意实验前方案论证和硬软件设计过程,硬件电路要有原理图,软件部分要求画出流程图和编写程序并作适当注释,拟定实验(调试、测试)步骤。5.2.2实验设备PC机一台,TD-NMC+教学实验系统,万用表一台,AT24C04芯片,若干电阻和导线5.2.3实验目的1.学会单片机应用系统的基本设计方法。2.掌握单片机人机通道的键盘输入和LED
2、显示技术。3.掌握键盘工作原理和按键设置、处理方法。4.学会单片机定时器的应用。5.掌握带I2C总线接口的E2PROM存储器(如AT24C04)的应用。6.学会面包板在电路设计中的使用。7.进一步学习单片机I/O口的使用。8.进一步学习单片机软件编程的方法。9.掌握单片机应用系统的调试技巧。5.2.4实验内容根据TD-NMC+实验平台的单元电路,构建一个硬件系统,设计一个打开实验平台(开机)次数统计、显示并能掉电保存、可预置开机次数的控制系统,要求如下:使用带I2C总线接口的E2PROM存储器保存开机次数,显示由实验平台
3、上的键盘及数码管单元电路模块实现;开机次数可以从默认的0次开始统计,也可以由设计的系统电路中的按键预置,预置值最大只有两位,由2个独立式按键分别控制;允许多次设置开机次数初值;同时系统中另外设计两个独立式功能按键,一个键用于决定是否预置开机次数初值(但按了预置功能请用指示灯指示),另一个键用于预置后的确认,确认后系统能实现计数器的功能,即从预置初值开始,每隔1s(要求用单片机的定时器实现)加1计数,允许的最大计数值为99,计数值能在数码管上显示。程序如下:;本程序最大仅能统计255次开机或复位次数SLAWEQU0A0H;
4、AT24C02寻址字节写的节点地址SLAREQU0A1H;AT24C02寻址字节读的节点地址NUMBYTEQU2FH;被传送数据的字节数存放单元MTDEQU50H;发送数据缓冲区首地址(24C02高8位地址)MTD1EQU51H;24C02低8位地址MRDEQU30H;接收字节缓冲区首地址VSDABITP0.1;虚拟总线的数据线VSCLBITP0.0;虚拟总线的时钟线10SLAEQU2BH;IIC字节读写的节点地址暂存单元//按键和LED定义SW_KBITP1.4;开机次数十位设置按键GW_KBITP1.5;开机次数个位
5、设置按键SETUPBITP1.6;设置按键COUNTBITP1.7;定时计数按键LEDBITP1.0;设置指示灯//数码管位定义LEDSEGEQUP2SEG1BITP1.2;数码管的十位SEG2BITP1.3;数码管的个位SHIEQU60HGEWEIEQU61HTIMESEQU62HETIMESFBIT00H;确认键按键奇偶标志位T1SFBIT01H;定时1s标志位ORG0000HAJMPMAINORG000BHAJMPINTT0ORG0030HMAIN:MOVSP,#70H;堆栈地址ORLP1,#0F0H;设4个按键为
6、输入口CLRLEDCLRETIMESF;初始默认确认键按下偶数次CLRT1SFMOVTMOD,#01HMOVTIMES,#20SETBEALCALLRDIIC;读出24C02在本次开机前的开机次数MOVA,MRDACALLH_BCDLOOP:LCALLDIS;调用显示子程序JBSETUP,M1LCALLSETUPTIMES;JNBSETUP,$M1:JBCOUNT,LOOPLCALLENTER10AJMPLOOP//M1:JBCOUNT,M2//LCALLENTER//AJMPLOOP//M2:CLRTR0//CLRET
7、0//AJMPLOOP;T0中断服务程序INTT0:PUSHACCMOVTH0,#4CHMOVTL0,#00HDJNZTIMES,INTLMOVTIMES,#20MOVA,GEWEICJNEA,#9,INTL1MOVGEWEI,#00HMOVA,SHICJNEA,#9,INT2MOVSHI,#00HAJMPINT3INTL1:INCGEWEIAJMPINT3INT2:INCSHIINT3:SETBT1SFINTL:POPACCRETI;预置开机次数初值子程序SETUPTIMES:CLRTR0CLRET0SETBLEDJB
8、SW_K,ST3;十位按键设置MOVA,SHICJNEA,#9,ST1MOVSHI,#00HAJMPST2ST1:INCSHIST2:JNBSW_K,$;等待按键松开ST3:JBGW_K,ST6;个位按键设置MOVA,GEWEI10CJNEA,#9,ST4MOVGEWEI,#00HAJMPST5ST4:INCGEWE