资源简介
轻松玩转51单片机c语言
附带光盘中的所有源代码
包括:流水灯;移位运算;救护车声音;中断;定时器;秒表;单片机与上位机通信;DS1302数码管电子钟、LCD电子钟;
代码片段和文件信息
#include
#define uchar unsigned char
#define uint unsigned int
sbit BEEP=P3^7; //定义蜂鸣器
uchar code bit_tab[]={0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f};//位选表用来选择哪一只数码管进行显示
uchar code seg_data[]={0xc00xf90xa40xb00x990x920x820xf80x800x900x880x830xc60xa10x860x8e0xff};
//0~F和熄灭符的显示码(字形码)
uchar disp_buf[]={12345678}; //定义显示缓冲单元并赋值
/********以下是延时函数********/
void Delay_ms(uint xms)
{
uint ij;
for(i=xms;i>0;i--) //i=xms即延时约xms毫秒
for(j=110;j>0;j--);
}
/*********以下是蜂鸣器响一声函数********/
void beep()
{
BEEP=0; //打开蜂鸣器
Delay_ms(100);
BEEP=1; //关闭蜂鸣器
Delay_ms(100);
}
/********以下是显示函数********/
void Display()
{
uchar i;
uchar tmp; //定义显示暂存
static uchar disp_sel=0; //显示位选计数器显示程序通过它得知现正显示哪个数码管,初始值为0
for(i=0;i<8;i++) //扫描8次将8只数码管扫描一遍
{
tmp=bit_tab[disp_sel]; //根据当前的位选计数值决定显示哪只数码管
P2=tmp; //送P2控制被选取的数码管点亮
tmp=disp_buf[disp_sel]; //根据当前的位选计数值查的数字的显示码
tmp=seg_data[tmp]; //取显示码
P0=tmp; //送到P0口显示出相应的数字
Delay_ms(2); //延时2ms
P2=0xff; //关显示,每扫描一位数码管后都要关断一次
disp_sel++; //位选计数值加1指向下一个数码管
if(disp_sel==8)
disp_sel=0; //如果8个数码管显示了一遍则让其回0重新再扫描
}
}
/*********以下是主函数********/
void main()
{
while(1)
{
beep(); //调蜂鸣器响一声函数
Display(); //调显示函数
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3026 2009-04-01 09:33 源程序\ch10\ch10_1\ch10_1
文件 1615 2009-04-01 09:33 源程序\ch10\ch10_1\ch10_1.c
文件 895 2009-04-01 09:33 源程序\ch10\ch10_1\ch10_1.hex
文件 3889 2009-04-01 09:33 源程序\ch10\ch10_1\ch10_1.LST
文件 4702 2009-04-01 09:33 源程序\ch10\ch10_1\ch10_1.M51
文件 3285 2009-04-01 09:33 源程序\ch10\ch10_1\ch10_1.OBJ
文件 1447 2009-05-06 08:48 源程序\ch10\ch10_1\ch10_1.Opt
文件 213 2009-05-06 08:48 源程序\ch10\ch10_1\ch10_1.plg
文件 2015 2009-04-01 08:49 源程序\ch10\ch10_1\ch10_1.Uv2
文件 1447 2009-04-01 18:23 源程序\ch10\ch10_1\ch10_1_Opt.Bak
文件 1997 2009-03-29 16:57 源程序\ch10\ch10_1\ch10_1_Uv2.Bak
文件 3753 2009-06-24 00:38 源程序\ch10\ch10_2\ch10_2
文件 1824 2009-04-01 09:42 源程序\ch10\ch10_2\ch10_2.c
文件 1027 2009-06-24 00:38 源程序\ch10\ch10_2\ch10_2.hex
文件 4108 2009-06-24 00:38 源程序\ch10\ch10_2\ch10_2.LST
文件 5619 2009-06-24 00:38 源程序\ch10\ch10_2\ch10_2.M51
文件 4172 2009-06-24 00:38 源程序\ch10\ch10_2\ch10_2.OBJ
文件 1616 2009-06-24 00:15 源程序\ch10\ch10_2\ch10_2.Opt
文件 741 2009-06-24 00:40 源程序\ch10\ch10_2\ch10_2.plg
文件 2015 2009-04-17 10:58 源程序\ch10\ch10_2\ch10_2.Uv2
文件 1453 2009-06-23 23:56 源程序\ch10\ch10_2\ch10_2_Opt.Bak
文件 1997 2009-03-29 17:09 源程序\ch10\ch10_2\ch10_2_Uv2.Bak
文件 7623 2009-06-24 00:59 源程序\ch10\ch10_3\ch10_3
文件 4397 2009-04-03 15:40 源程序\ch10\ch10_3\ch10_3.c
文件 2241 2009-06-24 00:59 源程序\ch10\ch10_3\ch10_3.hex
文件 10298 2009-06-24 00:59 源程序\ch10\ch10_3\ch10_3.LST
文件 12018 2009-06-24 00:59 源程序\ch10\ch10_3\ch10_3.M51
文件 8677 2009-06-24 00:59 源程序\ch10\ch10_3\ch10_3.OBJ
文件 1440 2009-06-23 23:55 源程序\ch10\ch10_3\ch10_3.Opt
文件 917 2009-06-24 01:00 源程序\ch10\ch10_3\ch10_3.plg
............此处省略1177个文件信息
- 上一篇:MFC根据广播星历计算GPS卫星位置
- 下一篇:模拟字典小程序c++实现
相关资源
- ldra c++ testbed 安装文档1
- MFC课程设计 职工信息管理系统含完整
- 利用c语言实现FFT运算
- 电子科大12-17年计算机复试-笔试试题
- 计算机图形学实验源代码中南民族大
- 51单片机C编程100例
- GBT28169-2011嵌入式软件C语言编码规范
- 数字图像处理实验源代码中值滤波,
- 浙江大学_翁恺_c++_课件和源代码
- C语言发送电子邮件正文和附件
- 基于TCP协议的文件传输编程
- Visual C++ 教程 清华大学出版社 郑阿奇
- winTC(windows下的c语言编译器
- MFC DLL调用(包含调用和DLL自身源代码
- PCA代码实现详解
- 最短路径的篇论文及必经节点的遗传
- C语言程序设计 谭浩强 PPT全十章
- OPENGL的烟花程序(代码)
- C语言实现telnet客户端
- Socket编写的一个基于MFC的聊天程序源
- Programming Windows with MFC随书光盘源代码
- 严蔚敏第二版C语言数据结构课后习题
- RGB图像中值滤波源码
- VC++6.0 MFC串口编程上位机程序代码.
- Visual C++串口通信及测控应用详解--源
- c语言实现的遗传算法
- 精通Windows.API-函数、接口、编程(光
- 嵌入式软件C语言编码规范(高安全性
- 曲线拟合C语言实现
- VC++6.0多人网络小游戏-支持多人联机网
评论
共有 条评论