单片机例程
/************************************************************************************** *
一 LED闪烁的简单试验
*
* 延时实现p2口LED流水灯效果 (用循环移位指令) *
* 连接方法: JP11(P2)和JP1(LED灯) 用8PIN排线连接起来 * * *
***************************************************************************************/
#include
void delayms(unsigned char ms) // 延时子程序 { unsigned char i; while(ms--) { for(i = 0; i < 120; i++); } }
main() { unsigned char LED; LED = 0xfe; //0xfe = 1111 1110 while(1) { P2 = LED; delayms(250); LED = LED << 1; //循环右移1位,点亮下一个LED \为左移位 if(P2 == 0x00 ) {LED = 0xfe; } // 0xfe = 1111 1110 } }
I Believe I Can Do !
1
单片机例程
/************************************************************************************** *
二 LED闪烁的简单试验
* *
* 连接方法: JP11(P2)和JP1用8PIN排线连接起来 * * *
***************************************************************************************/
#include
void delay(unsigned int i); //声明延时函数
main() {
P2 = 0x00; //置P0口为低电平
delay(600); //调用延时程序
P2 = 0xff; //置P0口为高电平
delay(600); // 调用延时程序 }
/*******延时函数*************/ void delay(unsigned int i) {
unsigned char j;
for(i; i > 0; i--) //循环 600*255 次 for(j = 255; j > 0; j--); }
I Believe I Can Do !
2
单片机例程
/********************************************************************************
; 三
二进制加法试验
*
; p2口八个灯作二进制加法。理解二进值的计算 * ; 硬件连接:p2口8路指示灯 * ; * ;* 描述: *
; p2口八个灯作二进制加法。理解二进值的计算 *
;* 连接方法: JP11(P2)和JP1(LED灯) 用8PIN排线连接起来 * *********************************************************************************/
#include
void delay(unsigned int i); //声明延时函数
main() {
unsigned char Num = 0xff; while (1) {P2 = Num;
delay(1000); //延时函数 Num--; } }
/*******延时函数*************/
I Believe I Can Do !
3
单片机例程
void delay(unsigned int i) {
unsigned char j; for(i; i > 0; i--)
for(j = 255; j > 0; j--); }
/******************************************************************************* *
四
描述: 跑马灯程序
*
* 连接方法: JP11(P2)和JP1(LED灯) 用8PIN排线连接起来 * * *
*******************************************************************************/
#include
/***************************************************************************** * 延时子程序 * * * ******************************************************************************/ void delayms(unsigned char ms) { unsigned char i; while(ms--) { for(i = 0; i < 120; i++); } }
/***************************************************************************** * 主程序 * * * ******************************************************************************/ main() {
I Believe I Can Do !
4
单片机例程
unsigned char LED; LED = 0xfe; P2 = LED; while(1) { delayms(250); LED = _crol_(LED,1); //循环右移1位,点亮下一个LED 此函数位库函数 P2 = LED; } }
/********************************************************************************
;* 五
跑马灯实验
* ; *
; 延时实现LED流水灯效果 p2口八个灯作跑马灯。采用了寄存器存中间数 *
; 连接方法: JP11(P2)和JP1(LED灯) 用8PIN排线连接起来 *
;********************************************************************************/
#include
void delay(unsigned int i); //声明延时函数 char LED;
main() {
unsigned char i;
while (1)
{ LED = 0xfe; for (i = 0 ;i < 8 ; i++) { P2 = LED; delay(500); LED = LED << 1; // 左移 LED = LED | 0x01; // 移位后,后面的位为高电平 if (LED == 0x7f) break; //提前退出 FOR 循环
I Believe I Can Do !
5