飞思卡尔单片机编程实例!!
#include <hidef.h> /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
#define RowSize 4
#define ColumnSize 4
const unsigned char DisplayDecode[]={~0x3f,~0x06,~0x5b,~0x4f,~0x66,~0x6d,~0x7d,~0x07,~0x7f,
~0x6f,~0x77,~0x7c,~0x39,~0x5e,~0x79,~0x71};
const unsigned char KeyDecode[]={ 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x00,0x0a,0x0b,
0x0c,0x0d,0x0e,0x0f};
unsigned char showdata[4];
unsigned char k;
void Init_PORT() {
DDRA=0x0F;//输出
/*Ports ABEK, BKGD pin Pull-up Control Register (PUCR)
7 PUPKE
6 BKPUE
5 0
4 PUPEE
3 0
2 0
1 PUPBE
0 PUPAE
*/
PUCR|=0x01;
DDRB=0xFF;//输出
DDRP=0xFF;
DDRT=0xFF;
}
void delay(unsigned int countert)
{
unsigned int i,j;
for(i=0;i<countert;i++)
for(j=0;j<4000;) j++;
}
unsigned char KeyScan()
{
unsigned char Input,Output,Keynumber,Keyvalue1;
unsigned char i;
Keyvalue1=0xFF;
Output=0xF0;
PORTA=Output;
Input=PORTA>>4;
if(Input!=0x0F)
{
delay(4);
Input=PORTA>>4;
if(Input!=0x0F)
{
Output=0x01;
; for(i=0;i<RowSize;i++)
{
PORTA=~Output;
Input=PORTA>>4;
if(Input!=0x0F)
{
switch(Input)
{
case 0x0E:
Keynumber=0;
break;
case 0x0D:
Keynumber=1;
break;
case 0x0B:
Keynumber=2;
break;
case 0x07:
Keynumber=3;
break;
}
Keynumber=Keynumber+i*ColumnSize;
Keyvalue1=KeyDecode[Keynumber];
break;
}
else Output<<=1;
}
}
}
k++; //有一次按键操作,K就+1次;
return(Keyvalue1);
}
void Show(unsigned char m)
{
unsigned int n;
PTT=0x0f;
for(n=0;n<4;n++) {
switch(n) {
case 0:
PTP=~0x08;
PTT=0xfe; break;
case 1:
PTP=DisplayDecode[m%10];
PTT=0xfd; break;
case 2:
PTP=DisplayDecode[m/10];
PTT=0xfb; break;
default:
PTP=~0x08;
PTT=0xf7; break; }
delay(1); }
}
unsigned char m_length(unsigned int year,unsigned char month)
{
int leap;
if(month==2)
{ if(year%4==0) {
if(year%100==0)
{
if(year%400==0)
leap=1;
else
leap=0;
}
else
leap=1;
}
else
leap=0;
if(leap)
return(29);
else
return(28) ;
}
else {
if((month==4)||(month==6)||(month==9)||(month==11))
return(30);
else return(31);
}
}
void main(void)
{
/* put your own code here */
unsigned char p;
unsigned char M[6];
unsigned int year;
unsigned char m
你可能喜欢
- 单片机C语言程序
- 单片机开发
- 飞思卡尔单片机
- 工程电路
- 看懂电路图
- 单片机编程
- 第5章 80C51单片机的C语言程序设计22页
- 单片机课件 第14章 C语言程序设计142页
- 51单片机C语言延时程序的简单研究5页
- 快速学通51单片机C语言程序设计420页
- 单片机C语言程序设计师试题4页
- 第4章 单片机C语言程序设计100页
- 2012单片机设计与开发项目模拟试题3页
- 单片机开发中应掌握的几个基本技巧2页
- 单片机开发4页
- MCS51单片机实验与开发系统3页
- 单片机系统开发基本步骤8页
- 单片机开发系统54页
- 电气工程师_电路基础91页
- 电气工程师_电路的分析方法81页
- 20种工程电路7页
- 工程电路分析答案(英文版)15页
- 工程电路分析答案(英文版)34页
- 工程电路分析答案(英文版)19页
- 浅谈自制51单片机编程器方法和策略1页
- 无需PC机的AT89系列单片机编程器2页
- 第3章 51单片机编程语言161页
- 单片机C51编程规范6页
- 单片机音乐的编程8页
- 单片机编程经验7页


