资源描述:
《51单片机实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1、点亮一个LED#include//包含头文件,一般情况不需要改动,//头文件包含特殊功能寄存器的定义/*------------------------------------------------主函数------------------------------------------------*/voidmain(void){//此方法使用1个字节对单个端口赋值P0=0xfe;//P0口的最低位点亮,可以更改数值是其他的灯点亮//0xAA是16进制,0x开头表示16进制数,//AA换算成二进制是1010101
2、0while(1);//主循环}2、点亮多个LED#include//包含头文件,一般情况不需要改动,//头文件包含特殊功能寄存器的定义sbitLED0=P0^0;//用sbit关键字定义LED到P0.0端口,sbitLED1=P0^1;//LED是自己任意定义且容易记忆的符号sbitLED2=P0^2;sbitLED3=P0^3;sbitLED4=P0^4;sbitLED5=P0^5;sbitLED6=P0^6;sbitLED7=P0^7;/*--------------------------------------
3、----------主函数------------------------------------------------*/voidmain(void){//此方法使用bit位对单个端口赋值LED0=0;//将P0.0口赋值0,对外输出低电平LED1=1;LED2=0;LED3=1;LED4=0;LED5=1;LED6=0;LED7=1;while(1);//主循环}3、花样灯#include//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义/*-----------------------------
4、-------------------花样表格------------------------------------------------*/unsignedcharcodeseg[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0x00,0x00,0x55,0x55,0xaa,0xaa};//rom允许情况可以无限添加voidDelay(unsignedintt);//函数声明/*------------------------------------------------
5、主函数------------------------------------------------*/main(){unsignedchari;//定义一个无符号字符型//局部变量i取值范围0~255while(1){P0=0xFE;//第1个LED亮for(i=0;i<8;i++){Delay(20000);P0<<=1;}P0=0x7F;//第8个LED亮for(i=0;i<8;i++){Delay(20000);P0>>=1;}P0=0xFE;//第1个LED亮for(i=0;i<8;i++){Delay(20000);P0<<
6、=1;P0
7、=0x01;}P0=0x7F;//第8个LED亮for(i=0;i<8;i++){Delay(20000);P0>>=1;P0
8、=0x80;}//下面通过查表方法获得花样参数for(i=0;i<16;i++)//查表可以简单的显示各种花样实用性更强{Delay(20000);P0=seg[i];}}}/*------------------------------------------------延时函数,含有输入参数unsignedintt,无返回值unsignedint是定义无符号整形变量,其值的范围是0~65535--
9、----------------------------------------------*/voidDelay(unsignedintt){while(--t);}4、数码管滚动显示HELLO#include//51芯片管脚定义头文件#include//内部包含延时函数_nop_();#defineucharunsignedchar#defineuintunsignedintuchardisplay[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xBF,
10、0xBF,0x89,0x86,0xC7,0xC7,0xC0,0xBF,0xBF,//--HELLO-0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};uchar