资源描述:
《单片机学习的程序文件.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、单个数码管#include#defineuintunsignedint#defineucharunsignedcharsbitD1=P1^1;voidasp();voidmain(){while(1){D1=0;asp();D1=1;asp();}}voidasp(){uinta,b;for(a=200;a>0;a--)for(b=400;b>0;b--);}#include#defineuintunsignedint//整形变量uinta;/*让一个灯闪烁*/voidmain(){P1=0xf
2、e;a=50000;while(a--);//判断A是否为0是了就跳出去P1=0xff;a=50000;while(a--);}六位数码管#include#defineuintunsignedint#defineucharunsignedchar//定义类型sbitdula=P2^6;、、定义位选和段选sbitwela=P2^7;ucharnum;、、定义一个mun类型ucharcodetable[]={类型表写进数据存储器表名字调用数据表数据0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
3、0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelay(uintz);标记子函数子函数定义和标记voidmain(){wela=1;//11101010打开位选P0=0xea;给P0口送出显示数据wela=0;关闭位选while(1)while循环{for(num=0;num<16;num++)for循环num在16个数据当中逐渐循环{for参数dula=1;打开段选P0=table[num];给P0口送出显示数据此数据=表名字调用的表内部数据dula=0;关闭段选delay
4、(1000);延时函数参数量}}}voiddelay(uintz)子函数定义函数名函数类型定义函数类型名{uintx,y;定义两个函数类型for(x=z;x>0;x--)for循环X=Z直接用函数变for(y=110;y>0;y--);for嵌套}中断我的小强开发板代码#include#defineucharunsignedchar#defineuintunsignedintuintx,y,tt,mon;voidyanshi(uintz);sbitweixuan=P2;ucharcodetable[]={0x3f
5、,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voidmain(){weixuan=0xfc;EA=1;//开总中断TR0=1;//开定时器0ET0=1;//开外部中断0TMOD=0x01;//TMOD的工作方式TH0=(65536-50000)/256;//装入初值TL0=(65536-50000)%256;P0=0x3f;while(1){if(mon==15)mon=0;//判断mon即表函数是否运行到第十五个数如果/
6、/如果是即为0重新开始if(tt==20)//判断tt是否是20是运行括弧里的函数{tt=0;//tt初始化TH0=(65536-50000)/256;//给定时器装入初值TL0=(65536-50000)%256;mon++;//表内函数一次曾一P0=table[mon];//表内函数逐次的值赐予P0}}}voidyanshi(uintz)//延时函数{for(x=z;x>0;x--)for(y=100;y>0;y--);}voidzhongduan()interrupt1//中断函数{TH0=(65536-50000)/256
7、;//初值TL0=(65536-50000)%256;tt++;//时间循环每运行一次中断函数tt曾一}流水灯程序流水灯的程序#include#include#defineucharunsignedchar#defineuintunsignedintvoidyanshi(ucharz);ucharshanshuo;voidmain(){shanshuo=0xfe;P1=shanshuo;while(1){yanshi(1000);shanshuo=_crol_(shanshuo,1);P1=
8、shanshuo;}}voidyanshi(ucharz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}中断#include#defineucharunsignedchar#define