NEC单片机的FIP应用
[09-12 18:13:17] 来源:http://www.88dzw.com 单片机学习 阅读:8659次
文章摘要:3 软件设计 3.1 相关的数据结构和变量 使用的数据结构和变量的定义说明如下: char PreKeyStatus[8]; /*前一次8列键的状态存入数组的低4位*/ char CurKeyStatus[8]; /*当有8列键的状态存入数组的低4位*/ char ScanData; /*当前用于扫描的数据*/ char RetData; /*临时存储回读的数据*/ char KeyBuff[10]; /*键盘缓冲区*/ char Khead; /*键盘缓冲区头指针*/ char Krear
NEC单片机的FIP应用,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com3 软件设计
3.1 相关的数据结构和变量
使用的数据结构和变量的定义说明如下:
char PreKeyStatus[8]; /*前一次8列键的状态存入数组的低4位*/
char CurKeyStatus[8]; /*当有8列键的状态存入数组的低4位*/
char ScanData; /*当前用于扫描的数据*/
char RetData; /*临时存储回读的数据*/
char KeyBuff[10]; /*键盘缓冲区*/
char Khead; /*键盘缓冲区头指针*/
char Krear; /*键盘缓冲区尾指针*/
char ChatterCount; /*消抖动计数器*/
char ScanEnd; /*一遍扫描结束标志*/
char KeyChanged; /*按键改变标志*/
const char DisplayCode[0][2]; /*0~9的显示编码,每个编码占2字节*/
3.2 程序初始化
进行显示方式设置、I/O端口设置、中断系统设置始化的具体程序段如下:
DI(); /*关中断*/
DSPM0=0x00; /*9段显示,段显示方式,系统时钟4.9152MHz*/
DSPM1=0xB3; /*23位显示,亮度为2/16,显示周期为416.7μs*/
PM12=0x0F; /*P12端口的低四位用于键盘回读,设为输出模式*/
KSIF=0; /*清除中断请求标志*/
KSMK=0; /*清除中断屏蔽标志,允许INTKS中断*/
Khead=9; /*初始化键盘缓冲区*/
Krear=0; /*消抖动计数器置初值*/
Scandata=0x01; /*键盘扫描数据置初值*/
ScanFinish=0; /*一遍扫描结束标志置初值*/
KeyChanged=0; /*按键改变标志置初值*/
EI(); /*开中断*/
3.3 显示程序
下面的程序可实现在指定位置显示一个数字的功能。其中能数digit为要显示的数字,范围是0~9;position为显示位置,从右向左与0~11相对应。
void DisplayDigit(char digit,char position)
{if((digit<10)&&(digit>=0)&&(position>=0)&&(position<12)
/*在显示范围之内*/
{pokeb(0xFA60+position,DisplayCode[digit][1]);
/*编码的低字节*/
{pokeb(0xFA70+position,DisplayCode[digit][0])};
/*编码的高字节*/
}
中断处理程序流程如图3所示。
Tag:单片机学习,单片机开发,单片机原理,单片机教程,单片机学习
《NEC单片机的FIP应用》相关文章
- › NEC单片机的FIP应用
- › 采用NEC单片机的漏电检测仪表的原理设计
- 在百度中搜索相关文章:NEC单片机的FIP应用
- 在谷歌中搜索相关文章:NEC单片机的FIP应用
- 在soso中搜索相关文章:NEC单片机的FIP应用
- 在搜狗中搜索相关文章:NEC单片机的FIP应用
分类导航
最新更新