没有合适的资源?快使用搜索试试~ 我知道了~
单片机程序实例教程应用
需积分: 3 2 下载量 138 浏览量
2011-05-30
10:09:31
上传
评论
收藏 383KB DOC 举报
温馨提示
试读
64页
所有单片机程序实例应用,数百个例子哦! 数码管 液晶显示 电机 蜂鸣器 等等
资源推荐
资源详情
资源评论
/************************************************************
名称: 流水灯程序
作者:logo
网站:龙戈电子开发网
网址:www.auto-ctrl.com
邮箱:719359129@qq.com
日期:201012
现象:发光二极管从左到右依次点亮。
************************************************************/
#include<reg52.h> //52 单片机头文件,一般不要改动,里面包含特殊功能寄存器的定
义
#define uchar unsigned char //将 unsigned char 定义为 uchar,简化输写。提高编程速度
#define uint unsigned int //将 unsigned char 定义为 uint,简化输写。提高编程速度
uchar code table[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //定义八个灯的工作状态。
/*延时子程序*/
void delay(uint time)
{
while(--time); //当 time 的值为非 0 时,执行空语句。当 time 为 0 时,跳出 while 语
句。
}
/*主程序*/
void main()
{
uchar i; //定义一个无符号字符变量。
while(1) //做一个死循环,让程序永远在 while 下面的大括号里面运行。
{
for(i=0;i<8;i++) //for 语句判断条
{
P2=table[i]; //表达式为假时执行括号里面语句。为真时,执行下一句。
delay(50000); //延时子程序调用
}
}
}
/************************************************************
名称: 数码管静态显示
作者:logo
网站:龙戈单片机开发网
网址:www.auto-ctrl.com
邮箱:719359129@qq.com
日期:201012
现象:数码管最右边一位依次显示 0-9,A-F 等数值。
************************************************************/
#include<reg52.h> //52 单片机头文件,一般不要改动,里面包含特殊功能寄存器的定
义
#define uchar unsigned char //将 unsigned char 定义为 uchar,简化输写。提高编程速度
#define uint unsigned int //将 unsigned char 定义为 uint,简化输写。提高编程速度
uchar code duma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, //共阴的数码管段选.
将值送给 P2 口
0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x80,0x00}; // 数值‘'0-F' '-'
'熄灭'
/*延时子程序*/
void delay(uint time)
{
while(--time); //当 time 的值为非 0 时,执行空语句。当 time 为 0 时,跳出 while 语
句。
}
/*主程序*/
void main()
{
uchar i; //定义一个无符号字符变量。
while(1) //做一个死循环,让程序永远在 while 下面的大括号里面运行。
{
for(i=0;i<19;i++) //for 语句判断条
{
P2=duma[i]; //表达式为假时执行括号里面语句。为真时,执行下一句。
delay(57550); //延时子程序调用
}
}
}
/******************************************************************************
名称: 蜂鸣器试验
作者:logo
网站:龙戈单片机开发网
网址:www.auto-ctrl.com
邮箱:719359129@qq.com
日期:201012
现象:蜂鸣器滴声交替鸣叫
******************************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit fm=P3^4;
void delay(uchar x)
{
uchar a,b;
for(a=x;a>0;a--)
for(b=1110;b>0;b--);
}
void main()
{
while(1)
{
delay(1000); //可以在 dealy 里面更改数值来改变延时,来改变蜂鸣器的
响铃间隔。
fm=0;
delay(1000);
fm=1;
}
}
/*****************************************************************************
名称: 继电器控制试验
作者:logo
网站:龙戈单片机开发网
网址:www.auto-ctrl.com
邮箱:719359129@qq.com
日期:201012
现象:继电器交替吸合断开
/*****************************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit jdq=P3^5;
void delay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
for(b=1000;b>0;b--);
}
void main()
{
while(1)
{
delay(115);
jdq=0;
delay(115);
jdq=1;
//delay(115);
}
}
/************************************************************
名称: 数码管静态显示实验
作者:logo
网站:龙戈单片机开发网
网址:www.auto-ctrl.com
邮箱:719359129@qq.com
日期:201012
现象:数码管最右边一位依次显示 0-9,A-F 等数值
************************************************************/
#include<reg52.h> //52 单片机头文件,一般不要改动,里面包含特殊功能寄存器的定
义
#define uchar unsigned char //将 unsigned char 定义为 uchar,简化输写。提高编程速度
#define uint unsigned int //将 unsigned char 定义为 uint,简化输写。提高编程速度
uchar code duma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, //共阴的数码管段选.
将值送给 P2 口
0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x80,0x00}; // 数值‘'0-F' '-'
'熄灭'
/*延时子程序*/
void delay(uint time)
{
while(--time); //当 time 的值为非 0 时,执行空语句。当 time 为 0 时,跳出 while 语
句。
}
/*主程序*/
void main()
{
uchar i; //定义一个无符号字符变量。
while(1) //做一个死循环,让程序永远在 while 下面的大括号里面运行。
{
for(i=0;i<19;i++) //for 语句判断条
{
P2=duma[i]; //表达式为假时执行括号里面语句。为真时,执行下一句。
delay(50000); //延时子程序调用
}
}
}
/************************************************************
名称: 独立按键数码管静态显示
作者:logo
网站:龙戈单片机开发网
网址:www.auto-ctrl.com
邮箱:719359129@qq.com
日期:201012
现象:按下 S17 S18 S19 S20。数码管分别显示 1,2,3,4。
************************************************************/
#include<reg52.h> //52 单片机头文件,一般不要改动,里面包含特殊功能寄存器的定
义
sbit key1=P3^2; //定义按键位置,方便编写程序。
sbit key2=P3^3;
sbit key3=P1^0;
sbit key4=P1^1;
/*主程序*/
void main()
{
P2=0; //让数码管熄灭
while(1) //做一个死循环,让程序永远在 while 下面的大括号里面运行。
{
if(!key1)
P2=0x06;//数码管显示"1"
if(!key2)
P2=0x5b;//数码管显示"2"
if(!key3)
P2=0x4f; //数码管显示"3"
if(!key4)
P2=0x66;//数码管显示"4"
剩余63页未读,继续阅读
资源评论
gaoyaolianghr
- 粉丝: 0
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Elasticsearch实战:构建高效搜索系统的秘诀.zip
- HTML+CSS+JS网页设计:从入门到精通.zip
- 数据库课程设计:从理论到实践的全面指南.zip
- Python闭包:深入理解与应用场景解析.zip
- Win64OpenSSL-3-3-0.exe
- 课高分程设计-基于C++实现的民航飞行与地图简易管理系统-南京航空航天大学
- 航天器遥测数据故障检测系统python源码+文档说明+数据库(课程设计)
- 北京航空航天大学操作系统课设+ppt+实验报告
- 基于Vue+Echarts实现风力发电机中传感器的数据展示监控可视化系统+源代码+文档说明(高分课程设计)
- 基于单片机的风力发电机转速控制源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功