单片机c语言编程实例大全.doc

上传人:11****ws 文档编号:2271981 上传时间:2019-05-03 格式:DOC 页数:189 大小:935.58KB
下载 相关 举报
单片机c语言编程实例大全.doc_第1页
第1页 / 共189页
单片机c语言编程实例大全.doc_第2页
第2页 / 共189页
单片机c语言编程实例大全.doc_第3页
第3页 / 共189页
单片机c语言编程实例大全.doc_第4页
第4页 / 共189页
单片机c语言编程实例大全.doc_第5页
第5页 / 共189页
点击查看更多>>
资源描述

1、学习单片机,/实例 1:用单片机控制第一个灯亮更多单片机学习视频教程,protues 仿真电路图,keil 程序免费下载网址:http:/ /P1=1111 1110B,即 P1.0 输出低电平/实例 2:用单片机控制一个灯闪烁:认识单片机的工作频率更多单片机学习视频教程,protues 仿真电路图,keil 程序免费下载网址:http:/ /定义无符号整数,最大取值范围 65535for(i=0;i /包含单片机寄存器的头文件/ 函数功能:主函数 (C 语言规定必须有也只能有 1 个主函数)/void main(void)while(1) /无限循环 P1=0xff; / P1=1111 1

2、111B,熄灭 LEDP0=P1; / 将 P1 口状态送入 P0 口P2=P1; / 将 P1 口状态送入 P2 口P3=P1; / 将 P1 口状态送入 P3 口/实例 4:使用 P3 口流水点亮 8 位 LED #include /包含单片机寄存器的头文件/ 函数功能:延时一段时间/void delay(void)unsigned char i,j;for(i=0;i /包含单片机寄存器的头文件sfr x=0xb0; /P3 口在存储器中的地址是 b0H, 通过 sfr 可定义 8051 内核单片机/的所有内部 8 位特殊功能寄存器, 对地址 x 的操作也就是对 P1 口的操作/ 函数功

3、能:延时一段时间/void delay(void)unsigned char i,j;for(i=0;i /包含单片机寄存器的头文件/ 函数功能:用整形数据延时一段时间/void int_delay(void) /延时一段较长的时间unsigned int m; /定义无符号整形变量,双字节数据,值域为 065535for(m=0;mvoid main(void) unsigned char m,n;m=43; /即十进制数 2x16+11=43n=60; /即十进制数 3x16+12=60P1=m+n; /P1=103=0110 0111B,结果 P1.3、P1.4、P1.7 口的灯被点亮P

4、0=n-m; /P0=17=0001 0001B,结果 P0.0、P0.4 的灯被熄灭/实例 10:用 P0、P1 口显示乘法运算结果#include /包含单片机寄存器的头文件void main(void) unsigned char m,n;unsigned int s;m=64;n=71;s=m n; /s=64 71=4544,需要 16 位二进制数表示,高 8 位送 P1 口,低8 位送 P0 口/由于 4544=17 256+192=H3 16 16 16+H2 16 16+H1 16+H0/两边同除以 256,可得 17+192/256=H3 16+H2+(H1 16+H0) /

5、256/因此,高 8 位 16 进制数 H3 16+H2 必然等于 17,即 4544除以 256 的商/低 8 位 16 进制数 H1 16+H0 必然等于 192,即 4544 除以256 的余数P1=s/256; /高 8 位送 P1 口 ,P1=17=11H=0001 0001B, P1.0 和 P1.4 口灭,其余亮P0=s%256; /低 8 位送 P0 口 , P3=192=c0H=1100 0000B,P3.1,P3.6,P3.7 口灭,其余亮/实例 11:用 P1、P0 口显示除法运算结果#include /包含单片机寄存器的头文件void main(void) P1=36/

6、5; /求整数P0=(36%5) 10)/5; /求小数while(1) ; /无限循环防止程序“跑飞”/实例 12:用自增运算控制 P0 口 8 位 LED 流水花样#include /包含单片机寄存器的头文件/ 函数功能:延时一段时间/void delay(void) unsigned int i; for(i=0;i /包含单片机寄存器的头文件void main(void) P0=(40)/将逻辑运算结果送 P0 口while(1); /设置无限循环,防止程序“跑飞”/实例 14:用 P0 口显示条件运算结果#include /包含单片机寄存器的头文件void main(void) P0

7、=(84)?8:4;/将条件运算结果送 P0 口,P0=8=0000 1000Bwhile(1); /设置无限循环,防止程序“跑飞”/实例 15:用 P0 口显示按位“异或“运算结果#include /包含单片机寄存器的头文件void main(void) P0=0xa20x3c;/将条件运算结果送 P0 口,P0=8=0000 1000Bwhile(1); /设置无限循环,防止程序“跑飞”/实例 16:用 P0 显示左移运算结果#include /包含单片机寄存器的头文件void main(void) P0=0x3b /包含单片机寄存器的头文件sbit F=P14; /将 F 位定义为 P1

8、.4sbit X=P15; /将 X 位定义为 P1.5sbit Y=P16; /将 Y 位定义为 P1.6sbit Z=P17; /将 Z 位定义为 P1.7void main(void) while(1)F=(X) /将逻辑运算结果赋给 F; /实例 18:用右移运算流水点亮 P1 口 8 位 LED#include /包含单片机寄存器的头文件/ 函数功能:延时一段时间/void delay(void)unsigned int n;for(n=0;n1; /每次循环 P1 的各二进位右移 1 位,高位补 0delay(); /调用延时函数/实例 19:用 if 语句控制 P0 口 8 位

9、LED 的流水方向#include /包含单片机寄存器的头文件sbit S1=P14; /将 S1 位定义为 P1.4sbit S2=P15; /将 S2 位定义为 P1.5/ 函数功能:主函数/void main(void) while(1)if(S1=0) /如果按键 S1 按下P0=0x0f; /P0 口高四位 LED 点亮if(S2=0) /如果按键 S2 按下P0=0xf0; /P0 口低四位 LED 点亮 /实例 20:用 swtich 语句的控制 P0 口 8 位 LED 的点亮状态#include /包含单片机寄存器的头文件sbit S1=P14; /将 S1 位定义为 P1.4/ 函数功能:延时一段时间/void delay(void)unsigned int n;for(n=0;n10000;n+);/ 函数功能:主函数/void main(void) unsigned char i;i=0; /将 i 初始化为 0while(1)if(S1=0) /如果 S1 键按下delay(); /延时一段时间if(S1=0) /如果再次检测到 S1 键按下i+; /i 自增 1if(i=9) /如果 i=9,重新将其置为 1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。