飞思卡尔单片机各种功能程序

飞思卡尔单片机各种功能程序

ID:10926231

大小:83.50 KB

页数:11页

时间:2018-07-09

飞思卡尔单片机各种功能程序_第1页
飞思卡尔单片机各种功能程序_第2页
飞思卡尔单片机各种功能程序_第3页
飞思卡尔单片机各种功能程序_第4页
飞思卡尔单片机各种功能程序_第5页
资源描述:

《飞思卡尔单片机各种功能程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、流水灯四种效果:#include/*commondefinesandmacros*/#include#include/*derivativeinformation*/#pragmaLINK_INFODERIVATIVE"mc9s12xdp512"#include"main_asm.h"/*interfacetotheassemblymodule*/unsignedchartemp;//unsignedcharpa@0x200;//unsignedcharpb@0x

2、202;unsignedcharkey;staticvoiddelay(void){volatileunsignedlongi;for(i=0;i<100000;i++);}staticunsignedcharrandom;staticvoidRandom(void){random=(unsignedchar)rand();}voideffect1(){unsignedcharc;for(c=0;c<=6;c++){delay();PORTB=~(1<=1;c--){delay();PORTB=~(1<

3、=1;c--){delay();PORTB=~(3<

4、1;;}}voidmain(void){unsignedcharx;DDRA=0xf0;DDRB=0xff;for(;;){x=PORTA&0x03;switch(x){case0:effect1();break;case1:effect2();break;case2:effect3();break;case3:effect4();break;}}/*waitforever*//*pleasemakesurethatyouneverleavethisfunction*/}//行列反转法unsignedcharkey_scan()//

5、键盘扫描函数{unsignedcharx,row=4,col=4,key=16;PUCR|=0x01;//等同于PUCR=PUCR|0x01,PUCR寄存器的第0位设置为1,即允许PORTA端口的上拉电阻。PUCR寄存器的解释参见书本P113DDRA=0x0f;//行线PA0-PA3设置为输出,列线PA4-PA7设置为输入DDRA寄存器知识参见书本P113数据方向寄存器PORTA=0xf0;//0bxxxx0000,四条行线PA0-PA3输出四个0,相当于四条行线接地x=PORTA&0xf0;//读取四条列线的值,并保留高4位,清除

6、低4位的值if(x!=0xf0)//如果四条列线不全为1,则说明有按键按下{switch(x){case0xe0:col=1;break;//按键在第1列case0xd0:col=2;break;//按键在第2列case0xb0:col=3;break;//按键在第3列case0x70:col=4;break;//按键在第4列}//以下开始行列反转,输入变输出,输出变输入。即行线PA0-PA3设为输入,列线PA4-PA7设为输出DDRB=0xf0;//行线PA0-PA3设为输入,列线PA4-PA7设为输出PORTA=0x0f;//0

7、b0000xxxx,四条列线PA4-PA7输出四个0,相当于四条列线接地x=PORTA&0x0f//读取四条行线的值,并保留低4位,清除高4位的值if(x!=0x0f)//如果四条行线不全为1,则说明有按键按下{switch(x){case0x0e:row=1;break;//按键在第1行case0x0d:row=2;break;//按键在第2行case0x0b:row=3;break;//按键在第3行case0x07:row=4;break;//按键在第4行}key=(row-1)*4+col-1;//求出键号:0-15的整数}}

8、returnkey;//如果没有按键按下,则函数返回的key=16;}main(){unsignedcharkeyno;while(1){keyno=key_scan();//调用键盘扫描函数获取是否有按键按下,是哪个按键按下if(k

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

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

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