单片机编程各种实例 上百个例题(4)

2019-02-15 17:30

/ void delay60ms(void) {

unsigned char m,n; for(m=0;m<100;m++) for(n=0;n<200;n++) ; }

/ 函数功能:主函数

/ void main(void) { do { }

P0=0xfe; //第一个LED亮

delay60ms(); delay60ms();

P0=0xfb; //第三个LED亮 delay60ms();

P0=0xf7; //第四个LED亮 delay60ms();

P0=0xef; //第五个LED亮 delay60ms();

P0=0xdf; //第六个LED亮 delay60ms(); delay60ms();

P0=0xbf; //第七个LED亮 delay60ms();

P0=0x7f; //第八个LED亮 P0=0xfd; //第二个LED亮

delay60ms();

}while(1); //无限循环,使8位LED循环流水点亮

//实例24:用字符型数组控制P0口8位LED流水点亮

#include //包含单片机寄存器的头文件 / 函数功能:延时约60ms (3 100 200=60000μs) / void delay60ms(void) {

unsigned char m,n; for(m=0;m<100;m++) for(n=0;n<200;n++) ; }

/ 函数功能:主函数

/ void main(void) {

unsigned char i;

unsigned char code Tab[ ]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //定义无符号字符型数组 while(1) {

for(i=0;i<8;i++) {

P0=Tab[i];//依次引用数组元素,并将其送P0口显示 delay60ms();//调用延时函数 }

//实例25: 用P0口显示字符串常量

#include //包含单片机寄存器的头文件

} }

/ 函数功能:延时约150ms (3 200 250=150 000μs=150ms / void delay150ms(void) {

unsigned char m,n; for(m=0;m<200;m++) for(n=0;n<250;n++) }

/ 函数功能:主函数

/ void main(void) {

unsigned char str[]={\ //将字符串赋给字符型全部元素赋值

unsigned char i; while(1) {

i=0; //将i初始化为0,从第一个元素开始显示 }

//实例26:用P0 口显示指针运算结果

#include void main(void) {

while(str[i]!='\\0') //只要没有显示到结束标志'\\0' {

P0=str[i]; //将第i个字符送到P0口显示 delay150ms(); //调用150ms延时函数 i++; //指向下一个待显字符 } ;

}

unsigned char p1, p2; //定义无符号字符型指针变量p1,p2 unsigned char i,j; //定义无符号字符型数据 i=25; //给i赋初值25 j=15;

p1=&i; //使指针变量指向i ,对指针初始化 p2=&j; //使指针变量指向j ,对指针初始化

P0= p1+ p2; // p1+ p2相当于i+j,所以P0=25+15=40=0x28

//则P0=0010 1000B,结果P0.3、P0.5引脚LED熄灭,其余点亮 while(1)

; //无限循环,防止程序“跑飞” }

//实例27:用指针数组控制P0口8位LED流水点亮

#include

/ 函数功能:延时约150ms (3 200 250=150 000μs=150ms / void delay150ms(void) {

unsigned char m,n; for(m=0;m<200;m++) for(n=0;n<250;n++) }

/ 函数功能:主函数

/ void main(void) {

unsigned char code Tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char p[ ]={&Tab[0],&Tab[1],&Tab[2],&Tab[3],&Tab[4],&Tab[5], &Tab[6],&Tab[7]};

;

unsigned char i; //定义无符号字符型数据 while(1) { }

//实例28:用数组的指针控制P0 口8 位LED流水点亮

#include

/ 函数功能:延时约150ms (3 200 250=150 000μs=150ms / void delay150ms(void) {

unsigned char m,n; for(m=0;m<200;m++) for(n=0;n<250;n++) }

/ 函数功能:主函数

/ void main(void) {

unsigned char i;

unsigned char Tab[ ]={0xFF,0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF, 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,

0xFE,0xFC,0xFB,0xF0,0xE0,0xC0,0x80,0x00, 0xE7,0xDB,0xBD,0x7E,0x3C,0x18,0x00,0x81,

;

for(i=0;i<8;i++) }

{

P0= p[i]; }

delay150ms();


单片机编程各种实例 上百个例题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:QFSN-330-2-20B发电机作业指导书

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: