自动售水机 c语言源码,单片机小区售水机,带C语言.doc
单片机小区售水机,带C语言
课程设计报告
题 目 小区自动售水机
课 程 名 称 单片机原理及应用
院 部 名 称
专 业
班 级
学 生 姓 名
学 号
课程设计地点
课程设计学时
指 导 教 师
小区自动售水机
摘要:单片机的发展越来越迅速,实现的功能越来越强大,而本实验主要实现自动售水功能。我们以STC89C51单片机芯片为主体,实现自动售水,自动计价的功能,通过光敏电阻RD1和AD转换芯片PCF8591组成的亮度检测电路实现灯的开关,即白天灯光自动关闭,黑夜自动打开。
关键词:STC89C52 光敏电阻AD 转换芯片PCF8591 自动售水
第一章 系统设计
1.1、电路框图
1.2、总电路图
1.3、总设计思路
模拟自动售水机的工作流程,通过按键控制售水机的水流出和停止;通过数码管显示费率、出水量及总费用;通过光敏电阻检测环境亮度,在亮度过低的情况下,自动开灯。系统硬件电路主要由单片机控制电路、数码管显示电路、AD转换电路及功能按键组成。
1.4、总实验程序
1、pcf8591的定义初始化程序
#ifndef _PCF8591_H
#define _PCF8591_H
#include "reg52.h"
#include "intrins.h"
#define CHAN0 0x00
#define CHAN1 0x01
#define CHAN2 0x02
#define CHAN3 0x03
#define somenop {_nop_();_nop_();_nop_();_nop_();_nop_();}
sbit SDA = P2^1;
sbit SCL = P2^0;
void iic_start(void)
{
SDA = 1;
_nop_();
SCL = 1;
somenop;
SDA = 0;
somenop;
SCL = 0;
}
void iic_stop(void)
{
SDA = 0;
_nop_();
SCL = 1;
somenop;
SDA = 1;
}
void iic_ack(bit ackbit)
{
if(ackbit)
SDA = 0;
else
SDA = 1;
somenop;
SCL = 1;
somenop;
SCL = 0;
SDA = 1;
somenop;
}
bit iic_waitack(void)
{
SDA = 1;
somenop;
SCL = 1;
somenop;
if(SDA)
{
SCL = 0;
iic_stop();
return 0;
}
else
{
SCL = 0;
return 1;
}
}
void iic_sendbyte(unsigned char byt)
{
unsigned char i;
for(i=0;i<8;i++)
{
if(byt&0x80)
SDA = 1;
else
SDA = 0;
somenop;
SCL = 1;
byt <<= 1;
somenop;
SCL = 0;
}
}
unsigned char iic_recbyte(void)
{
unsigned char da;
unsigned char i;
for(i=0;i<8;i++)
{
SCL = 1;
somenop;
da <<= 1;
if(SDA)
da |= 0x01;
SCL = 0;
somenop;
}
return da;
}
void delay(unsigned char t)
{
unsigned char i;
while(t--)
{
for(i=0;i<112;i++);
}
}
unsigned char adc_pcf8591(void)
{
unsigned char temp;
iic_start();
iic_sendbyte(0x91);
i
自动售水机 c语言源码,单片机小区售水机,带C语言.doc相关推荐
- C51单片机与PCF8591模块的交互:C语言源码解析
目录 1. PCF8591模块简介 2. C51单片机与PCF8591的连接 3. C51单片机与PCF8591的C语言源码解析 4. 用法示例 5. 总结 6. 参考文献 在微控制器的世界中,C51 ...
- 基于stm32单片机的WIFI智能联网天气预报自动校时系统(源码+原理图+全套资料)
资料编号:071 通过wifi 联网获取任何城市的时间和天气,OLED显示,城市位置可以调整, 具体功能请看演示视频 全套资料齐全: 71-基于stm32单片机的WIFI智能联网天气预报自动校时系统 ...
- 用c语言编写振铃检测程序,利用51单片机2进8出的程控交换机C语言源码
这个是利用51单片机加上超长的语音芯片合为一体的2进8出的程控交换机C语言源码 /************************** 6-23日 修改总台来显 ******************* ...
- c语言变大变小的图片,51单片机模拟水滴由小变大然后滴落现象(附带C语言源码)...
51单片机模拟水滴由小变大然后滴落现象(附带C语言源码) [复制链接] #include typedef unsigned char u8; typedef signed char v8; typed ...
- QQ自动点赞PHP源码_QQ好友批量回名片赞工具-QQ自动点赞附易语言源码V1.0电脑版PC端回赞-西西软件下载...
QQ自动点赞附易语言源码是一款电脑版QQ好友批量回名片赞工具下载附易语言源码和导入QQ号码方,PC端QQ回赞和源码,然后打开软件导入QQ号码即可批量赞了,每个好友可以赞10次,同时附带了源码可以编译成 ...
- at89c52串口通信c语言程序,AT89C52DEMO 基于51单片机的(89C51/52)C语言源码例程 - 下载 - 搜珍网...
例程与源码/12864带字库测试程序/12864 例程与源码/12864带字库测试程序/12864.hex 例程与源码/12864带字库测试程序/12864.lnp 例程与源码/12864带字库测试程 ...
- 计算机毕业设计Java无人售货机管理系统(源码+系统+mysql数据库+Lw文档)
计算机毕业设计Java无人售货机管理系统(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java无人售货机管理系统(源码+系统+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B/S ...
- 基于JAVA药品自动贩卖系统计算机毕业设计源码+系统+数据库+lw文档+部署
基于JAVA药品自动贩卖系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA药品自动贩卖系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...
- golang中文文档_【译】Go 语言源码贡献官方指导文档
以前给 Go 语言项目源码提交过一些 commits,期间阅读他们的官方指导文档的时候觉得这篇指导文档可以作为绝佳的关于大型软件项目的规范管理的参考,因为最近又提交了几个 commits,就又把这篇文 ...
最新文章
- Matlab学习笔记——find()函数
- 关于耳机的国标和美标的区分
- Leaflet中使用MovingMarker插件实现标记移动(轨迹回放效果)
- BLE 安全之虫洞攻击
- jpa query oracle 参数int为空_撸一个预言机(Oracle)服务,真香!—中篇
- 牛客网 -- 计算机历年考研复试上机题 -- 手机键盘
- 在Kotlin中使用libGDX
- [react] 在React中什么时候使用箭头函数更方便呢?
- html中在哪儿使用div,使用javascript在html中使用div
- 服务器维护工程师需要学什么,运维工程师有哪些就业方向?需要掌握哪些技能?...
- valgrind 内存泄露检测
- 平面三角形外接圆圆心与半径求解算法
- flac音乐格式怎么转换mp3?
- 对RecyclerView Item做动画
- MySQL设计与优化
- #define 宏的边际效应是什么
- windows桌面便笺使用小技巧Win10便利贴不见了在哪里调出来Win10便签怎么用
- 用74ls90及少量器件制作电子时钟
- shell学习之脚本练习1(显示ip + 检测文件类型)
- 在KindEditor中编辑可上传MP4