单片机程序大全(29页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《单片机程序大全(29页).doc》由会员分享,可在线阅读,更多相关《单片机程序大全(29页).doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-独立按键#include#define uchar unsigned char#define uint unsigned intsbit P27=P27;sbit K5=P14;sbit fmq=P36;uchar num;unsigned char code s816=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;void delay1ms(uint i)uchar j; while(i-) for(j=0;j115;j+) /1ms基准延时程序 ;void beep()/产生
2、1KHZ频率声音的函数 fmq=0;delay500us();fmq=1;delay500us();void delay500us()unsigned char j; for(j=0;j57;j+) /500us基准延时程序 ; void main() uchar t; P27=0; while(1) if(K5=0)delay1ms(15);if(K5=0)for(t=0;t100;t+) beep(); num=num+1; if(num=16) num=0; while(!K5);/等待按键释放 P0=s8num; #include#define uchar unsigned char
3、/数据类型的宏定义#define uint unsigned int /数据类型的宏定义sbit P27=P27;unsigned char code table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xBF; /共阳数码管显示字型码数组 1011 1111 -void delay1ms(uint i)uchar j; while(i-) for(j=0;j115;j+); /1ms基准延时程序 void display(unsigned char i) P27=0; /
4、选通最有端的数码管显示P0=tablei; /显示i参数传来的字型码 void main(void) unsigned char temp; display(16); /初始显示 -while(1) P1=0xff; /先向P1口写1;端口读状态P1=0xf0;temp=P1; if(temp!=0xf0) delay1ms(15); if(temp!=0xf0) P1=0xfe; temp=P1;switch(temp) case(0xee):display(0);break; case(0xde):display(1);break; case(0xbe):display(2);break;
5、 case(0x7e):display(3);break; P1=0xfd; temp=P1;switch(temp) case(0xed):display(4);break; case(0xdd):display(5);break; case(0xbd):display(6);break; case(0x7d):display(7);break; P1=0xfb; temp=P1;switch(temp) case(0xeb):display(8);break; case(0xdb):display(9);break; case(0xbb):display(10);break; case(0
6、x7b):display(11);break; P1=0xf7; temp=P1;switch(temp) case(0xe7):display(12);break; case(0xd7):display(13);break; case(0xb7):display(14);break; case(0x77):display(15);break; /*行线接P1.0P1.3,列线接P1.4P1.7。根据线反转法扫描键盘返回的键值编码查键值编码表,从而得到键值并送数码管显示。开机时,数码管显示“”。*/#include #include #define uchar unsigned char#de
7、fine uint unsigned intsbit P27=P27;sbit fmq=P36;uchar key;unsigned char code disp_code= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf;unsigned char code key_code= 0xee,0xde,0xbe,0x7e,0xed,0xdd,0xbd,0x7d, 0xeb,0xdb,0xbb,0x7b,0xe7,0xd7,0xb7,0x77;void delay1ms(ui
8、nt i)uchar j; while(i-) for(j=0;j115;j+) /1ms基准延时程序 ; void delay500us()unsigned char j; for(j=0;j57;j+) /500us基准延时程序 ; void beep()/产生1KHZ频率声音的函数 fmq=0;delay500us();fmq=1;delay500us();/*键盘扫描子函数*/uchar keyscan() uchar scan1,scan2,keycode,j; P1=0xf0; scan1=P1; if(scan1&0xf0)!=0xf0) /判键是否按下 delay1ms(20)
9、; /延时20ms scan1=P1; if(scan1&0xf0)!=0xf0) /二次判键是否按下 P1=0x0f; /线反转法的核心 scan2=P1; keycode=scan1|scan2; /组合成键编码 for(j=0;j=15;j+) if(keycode= key_codej) /查表得键值 key=j; return(key); else P1=0xff; /P1口写1 输入状态 return (16);/-main() uchar tt; P0 = 0xbf; P27 =0; /数码管显示- P1 = 0xff; while(1) P1=0xf0; if(P1&0xf0)
10、!=0xf0) keyscan(); P0=disp_codekey; for(tt=0;tt200;tt+) beep(); fmq=1; delay1ms(200); 中断#include#define uint unsigned int #define uchar unsigned char sbit dula=P26;sbit wela=P27;sbit d1=P10;uchar num;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;voi
11、d delay(uint z);void main()EA=1;/开总中断EX0=1;/开外部中断0/IT0=1;/TCON=0x01;wela=1;/11101010P0=0xea;wela=0;while(1)for(num=0;num0;x-)for(y=110;y0;y-);void exter0() interrupt 0d1=0;定时器#include#include#define uint unsigned int#define uchar unsigned charuchar aa,num;sbit dula=P26;sbit wela=P27;uchar code table
12、=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void main()num=0;aa=0;/TMOD=0X00;/设定定时器0为工作方式0TMOD=0X01;/设定定时器0为工作方式1/TH0=(8192-5000)/32;/TL0=(8192-5000)%32;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;/开总中断ET0=1;/开定时器0中断TR0=1;/启动定时器0wela=1;P0=0x24;wela=0;dula=1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 程序 大全 29
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内