资源简介

轻松玩转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个文件信息

评论

共有 条评论