资源简介
文件总共有三个部分,分别是89C51的源代码,原理图及PCB文件,所用元器件清单等。
代码片段和文件信息
//宏定义
#define uint unsigned int
#define uchar unsigned char
#define DUAN P0
//头函数
#include
uchar code ssw[]=
{
0xC00xF90xA40xB00x990x920x820xF80x800x90
};
uchar code wei[]=
{
0xfe0xfd0xfb0xf7
};
uchar pdata tt[51]; //定义空数组用于AD0809取平均值
uchar scale=20rsd_secput[4]; //定义占空比比例,热释电计时秒变量
char minsec; //定义计时分秒
bit bdata flag_autossflag_bsflag_rsdflag_jiejin=1; //位定义自动切换的,闪烁标志,报警位标志,热释电动作标志,接近传感器标志
uchar flag_set=0time; //设置变量:0 正常 1 调分 2 调秒
uint lum;
bit beep1; //ad0809读出值
//函数声明
void delay(uchar i);
//管脚声明
sbit LED = P3^5; //灯光控制输出
sbit change= P1^4; //自动模式切换按键
sbit set = P1^5; //设置按键
sbit add = P1^6; //加按键
sbit sub = P1^7; //减按键
sbit rsd = P3^6; //热释电
sbit jiejin=P3^4; //接近开关
sbit buzz=P3^7;
sbit led_1=P3^2;
sbit led_2=P3^3;
sbit CS=P1^2;
sbit CLK=P1^0;
sbit DIO=P1^1;
void display()
{
uchar i;
if(flag_set==1&&ss==0)
{
put[0]=0xff;
put[1]=0xff&0x7f;
}else
{
put[0]=ssw[min/10%10];
put[1]=ssw[min%10]&0x7f;
}
if(flag_set==2&&ss==0)
{
put[2]=0xff;
put[3]=0xff;
}else
{
put[2]=ssw[sec/10%10];
put[3]=ssw[sec%10];
}
for(i=0;i<4;i++)
{
P2=wei[i];
P0=put[i];
delay(1);
P0=0xff;
}
}
unsigned int A_D()
{
unsigned char idat;
CS=1; //一个转换周期开始
CLK=0; //为第一个脉冲作准备
CS=0; //CS置0,片选有效
DIO=1; //DIO置1,规定的起始信号
CLK=1; //第一个脉冲
CLK=0; //第一个脉冲的下降沿,此前DIO必须是高电平
DIO=1; //DIO置1, 通道选择信号
CLK=1; //第二个脉冲,第2、3个脉冲下沉之前,DI必须跟别输入两位数据用于选择通道,这里选通道CH0
CLK=0; //第二个脉冲下降沿
DIO=0; //DI置0,选择通道0
CLK=1; //第三个脉冲
CLK=0; //第三个脉冲下降沿
DIO=1; //第三个脉冲下沉之后,输入端DIO失去作用,应置1
CLK=1; //第四个脉冲
for(i=0;i<8;i++) //高位在前
{
CLK=1; //第四个脉冲
CLK=0;
dat<<=1; //将下面储存的低位数据向右移
dat|=(unsigned char)DIO; //将输出数据DIO通过或运算储存在dat最低位
}
CS=1; //片选无效
return dat; //将读出的数据返回
}
/*****************按键函数*****************/
void KEY()
{
uint lum_meanlum_all;
uchar bc;
if(change==0) //自动切换按键按下
{
delay(10); //去抖
if(change==0) //再次判断按键按下
{
buzz=0; //蜂鸣器鸣响
flag_auto=!flag_auto; //自动模式标志位取反
if(flag_auto==1) //当切换到手动模式时 首先将LED发光比例设置在50%
scale=20;
if(flag_auto==0)
{
led_1=0;
led_2=1;
}else
{
led_1=1;
led_2=0;
}
}
while(!change) display();buzz=1; //按键释放 松开按键后关闭蜂鸣器
}
if(jiejin==0&&flag_jiejin==1) //接近传感器检测到障碍时 开启报警
{
buzz=0;
flag_jiejin=0;
}
if(jiejin!=flag_jiejin) //接近传感器检测不到障碍时 关闭报警
{
buzz=1;
flag_jiejin=1;
}
if(set==0) //设置键按下时
{
delay(10);
if(set==0)
{
buzz=0;
flag_set++; //设置变量++
if(flag_set==3) //加到3时回复回正常模式
flag_set=0;
flag_bs=0; //按下设置 关闭报警
}
while(!set) display(); buzz=1; //按键释放
}
if(flag_set==1) //加键按键只有在设置状态(flag_set!=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-04-19 15:24 智能台灯\
文件 28160 2019-04-19 15:23 智能台灯\元器件清单.xls
目录 0 2019-04-19 15:22 智能台灯\智能台灯电路图\
文件 465920 2017-02-15 20:11 智能台灯\智能台灯电路图\4BIT_8SEG_LED.PcbLib
目录 0 2019-04-19 15:22 智能台灯\智能台灯电路图\__Previews\
文件 77751 2019-04-19 15:18 智能台灯\智能台灯电路图\__Previews\task3pcb.PcbDocPreview
文件 79685 2018-06-06 10:46 智能台灯\智能台灯电路图\__Previews\task3原理图.schPreview
文件 117 2017-02-16 10:26 智能台灯\智能台灯电路图\task3.DsnWrk
文件 764416 2017-02-15 22:37 智能台灯\智能台灯电路图\task3pcb.PcbDoc
文件 6150 2019-04-19 15:18 智能台灯\智能台灯电路图\task3pcb.PcbDoc.htm
文件 449024 2017-02-16 10:28 智能台灯\智能台灯电路图\task3原理图.sch
文件 104448 2017-02-15 20:32 智能台灯\智能台灯电路图\task3原理图库.SchLib
目录 0 2019-04-19 15:22 智能台灯\视力灯 程序\
文件 19129 2016-04-27 14:50 智能台灯\视力灯 程序\C51.LST
文件 14649 2016-04-27 14:50 智能台灯\视力灯 程序\C51.OBJ
文件 8071 2016-04-27 14:50 智能台灯\视力灯 程序\C51.c
文件 6376 2016-04-27 14:50 智能台灯\视力灯 程序\STARTUP.A51
文件 14048 2016-04-27 14:50 智能台灯\视力灯 程序\STARTUP.LST
文件 749 2016-04-27 14:50 智能台灯\视力灯 程序\STARTUP.OBJ
文件 13217 2016-04-27 14:50 智能台灯\视力灯 程序\智能台灯
文件 21055 2016-04-27 14:50 智能台灯\视力灯 程序\智能台灯.M51
文件 3821 2016-04-27 14:50 智能台灯\视力灯 程序\智能台灯.hex
文件 59 2016-04-27 14:50 智能台灯\视力灯 程序\智能台灯.lnp
文件 185 2019-04-19 15:25 智能台灯\视力灯 程序\智能台灯.plg
文件 70639 2017-02-11 20:31 智能台灯\视力灯 程序\智能台灯.uvgui.Administrator
文件 5347 2017-02-11 20:31 智能台灯\视力灯 程序\智能台灯.uvopt
文件 13949 2017-02-11 20:31 智能台灯\视力灯 程序\智能台灯.uvproj
文件 55615 2016-04-27 14:50 智能台灯\视力灯 程序\智能台灯_uvopt.bak
文件 0 2016-04-27 14:50 智能台灯\视力灯 程序\智能台灯_uvproj.bak
- 上一篇:rdlc报表 完整
- 下一篇:CATIA汽车曲面综合设计
相关资源
- 计算机数值分析.rar
- 水晶排课 11.53 破解版
- 51智能排课系统大课表版v5.1.3中文免费
- 用友U8新引入帐套后固定资产模块出错
- Beginning STM32: Developing with FreeRTOS libo
- 土木工程毕业设计(得了95分)
- 土木工程毕业设计 -大连理工大学
- 八重州 7800电路图 高清版
- PalmOS一些常识
- Palm OS应用程序设计指南
- Palm OS基础入门
- 通信原理第七版课后答案樊昌信.doc
- ALIENTEK战舰STM32F1 V3开发板原理图.rar
- [软件工程—实践者的研究方法].Roge
- pdfbox所需jar包
- Win98Dos启动盘的盘镜像纯净版
- DOS98.IMG启动文件
- Trojan-Qt5-Windows-0.0.4.rar
- 数字电路知识点汇总(精华版).doc
- SpringMVC文件上传与的实现.rar
- PID_AutoTune_v0.rar
- vspd7.2.308.zip
- 价值2k的H漫画小说系统
- Pythonamp;课堂amp;笔记(高淇amp;400;集第
- ddos压力测试工具99657
- UML建模大全
- 开源1A锂电池充电板TP4056原理图+PCB
- m1卡 ic卡可选择扇区初始化加密软件
- TSCC.exe
- FTP课程设计(服务端+客户端)
评论
共有 条评论