PCF8563矩阵键盘液晶显示数字时钟设计

PCF8563矩阵键盘液晶显示数字时钟设计

ID:37827458

大小:478.72 KB

页数:13页

时间:2019-06-01

PCF8563矩阵键盘液晶显示数字时钟设计_第1页
PCF8563矩阵键盘液晶显示数字时钟设计_第2页
PCF8563矩阵键盘液晶显示数字时钟设计_第3页
PCF8563矩阵键盘液晶显示数字时钟设计_第4页
PCF8563矩阵键盘液晶显示数字时钟设计_第5页
资源描述:

《PCF8563矩阵键盘液晶显示数字时钟设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、PCF8563矩阵键盘液晶显示数字时钟实验环境:Proteus编程语言:汇编编程环境:KEIL单片机:AT89C51晶振:12MHz实现功能:采用时钟芯片PCF8563为时钟源,以LCD显示,调节采用矩阵键盘.详见图及程序.图(1)单片机外围电路图(2)液晶显示效果图图(3)矩阵键盘连接方式部分程序源代码:;*******位寻址区BIT0EQU20HFLAG1EQU21H;**************DLAYEQU30H;EQU相当于“=”,在程序中,DLAY就代表30HDLAY1EQU31HSECOND

2、EQU32HMINUTEEQU33HHOUREQU34HDAYEQU35HWEEKEQU36HMONTHEQU37HYEAREQU38HCOM7EQU39HLCDDEQU3AHT0DLYEQU3BHT0T1EQU3CHKTEMPEQU3DHKTEMP1EQU3EHKEYPCEQU3FHDPLACEQU40HMAXEQU41HSETCEQU42H;以上是对设计中的某些变量的存储位置的安排;位定义LCDRSBITP1.2LCDRWBITP1.3LCDEBITP1.4;LCD,BIT也相当于“=”,只不过它是用

3、在某一位上I2C_SCLBITP1.0;PCF8563的IIC通信引脚I2C_SDABITP1.1ORG000HAJMPMAINORG000BHAJMPTMR0ORG0040HMAIN:ACALLINIT0;开机调用初始化程序;*****************************************;以下部分为矩阵键盘的扫描,这里没有采用延时函数,而是采用的定时80ms扫描的方式;如此既能实现按键的扫描,又避免了采用延时函数而对内部程序资源的浪费,至于矩阵键盘的原理;可在网上查找MAIN1:JN

4、BFLAG1.5,MAIN1;FLAG1.5是一个标志位,代表80ms定时到了CLRFLAG1.5;清标志物KEY:MOVP2,#0FH;MOVA,P2;读键盘位,键盘连接在P2口上CJNEA,#0FH,KEY_SCANAJMPMAIN2KEY_SCAN:MOVR7,#4MOVA,#07FHMOVKTEMP1,#0KEY_S:MOVP2,AJNBP2.3,KEY_DINCKTEMP1;通过KTEMP1单元数值来实现不同功能键的散转,;;0~9为数据键,10~15为功能键依次代表分,时,日,周,月,年JNB

5、P2.2,KEY_DINCKTEMP1JNBP2.1,KEY_DINCKTEMP1JNBP2.0,KEY_DINCKTEMP1DJNZR7,KEY_S1AJMPMAIN2;无键按下,转去主扫描,因为此处主程序少,;若还要实现其他功能将MAIN2换成其他函数即可KEY_S1:RRAAJMPKEY_S;以上实现了矩阵键盘的扫描,接下来是对键值的处理程序KEY_D:MOVP2,#0FH;*MOVA,P2;*CJNEA,#0FH,KEY_D;*这里的功能是在检测到有键按下后,等待按键释放,以防串键MOVA,KTE

6、MP1CLRCSUBBA,#10JCNUM_DW;KTEMP1中的值若小于10,数字键,C=1,转数字处理程序,大于10继续功能处理JBFLAG1.4,MAIN2;判断之前有无功能键被按下,如此安排防止功能键冲突SETBFLAG1.4;原无功能键被按下,则置标志位MOVR4,AMOVDPTR,#MAXTB;查表,根据KTEMP1值读取上限范围MOVCA,@A+DPTRMOVMAX,AMOVDPTR,#SETTB;查表,根据KTEMP1值读取它所代表的功能键存储单元地址MOVA,R4MOVCA,@A+DPT

7、RMOVSETC,AMOVA,R4ANLA,#07HRLA;散转程序,两个指令周期的要乘2(左移实现)MOVDPTR,#KEY_DWJMP@A+DPTRKEY_DW:AJMPKMINAJMPKHOURAJMPKDAYAJMPKWEEKAJMPKMONTHAJMPKYEARNOPNOPNOP;**********************MAIN2:AJMPMAIN1;**********************各相关表格MAXTB:DB60,24,32,8,13,100NUMTB:DB1,2,3,4,5,6

8、,7,8,9,0SETTB:DB3H,4H,5H,6H,7H,8H;*********************NUM_DW:JNBFLAG1.4,MAIN2;判断是否有功能键被按下,否则不做数据处理MOVA,KTEMP1;数据在PCF8563中是以BCD码的格式存储的,因此要以BCD格式处理MOVDPTR,#NUMTBMOVCA,@A+DPTRJNBFLAG1.3,GEDW;判断是否为十位,否转个位处理CLRFLAG1.3;进

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。