1334基于单片机嵌入式的家用智能节水淋浴控制器的设计-全套毕设课设设计资料
三个ds18b20分别采集进水口热水 冷水 和温水的水温,然后分别显示出来,按下开始按键,系统初始化,自动设置出水温度为38度,可以通过按键加减进行微调,在淋浴过程中,通过人体红外传感检测是否有人,离开花洒下面,自动停水且停止温度调节,回去过重新打开。温度控制通过热水阀和冷水阀的开关进行调节水温。
#include "lcd1602.h"
#include "ds18b20.h"
#include "DS1302.h"
#include "24C16B.h"
sbit WN = P3 ^ 7;
sbit PE = P3 ^ 4;
sbit JIN = P3 ^ 5;
sbit X0 = P3 ^ 2;
sbit X1 = P3 ^ 3;
sbit JIA = P1 ^ 3;
sbit JIAN = P1 ^ 6;
uchar n = 1, count = 0, smb = 0;
uchar war = 40;
extern char zhen_temp[5], *wendu;
extern bit flag;
uchar code ds18b20_num1[8] = { 0xfd, 0x00, 0x00, 0x00, 0xb8, 0xc5, 0x45, 0x28 };
uchar code ds18b20_num2[8] = { 0x8e, 0x00, 0x00, 0x00, 0xb8, 0xc5, 0x30, 0x28 };
uchar code ds18b20_num3[8] = { 0xb9, 0x00, 0x00, 0x00, 0xb8, 0xc5, 0x31, 0x28 };
uchar code ds18b20_num4[8] = { 0xe0, 0x00, 0x00, 0x00, 0xb8, 0xc5, 0x32, 0x28 };
void delay( unsigned int time )
{
unsigned int i, j;
for ( i = 0; i < time; i++ )
for ( j = 0; j < 200; j++ )
1330基于单片机的电子贺卡控制系统设计-毕设课设资料-protues仿真
科技日新月异,许许多多的电子产品走进千家万户。而众多电子产品绝大多数是基于单片机的,在单片机软件驱动I/O上挂载设备,于是有各种各样功能的电子产品。伴随着科技的快速进步和社会的发展,单片机技术的应用已经进入到我们的生活、工作等很多领域,这已经成为了一种非常成熟的电子技术。本系统是以单片机为核心元件,实现了基于单片机的伴奏乐曲、基于单片机的彩屏图片并通过矩阵键盘按键显示不同彩屏图片并伴有不同乐曲的诸多功能的电子贺卡。通过单片机、AMPIRE128*64图形液晶显示屏、蜂鸣器以及按键几个元件的协调合作,完成了一个简单音乐播放器的基本功能。
void LCD_Init()
{
write_cmd( 0x30 ); /* 30H--基本指令操作? */
delayus( 4 );
write_cmd( 0x0c ); /* 开显示,关光标,不闪烁。 */
delayus( 10 );
write_cmd( 0x01 ); /* 清除显示 */
delayus( 10 );
write_cmd( 0x06 ); /* 光标的移动方向左,DDRAM的地址计数器(AC)加1。 */
delayus( 10 );
}
void set_xy( uchar x, uchar y ) /* x为行,y为列 */
{
if ( y >= 64 ) /* 列地址大于等于64时右屏显示? */
{
CS2 = 0; /* 低电平选择 */
CS1 = 1; /* 写右屏是左屏关闭,不然两边会同时显示 */
y = y - 64;
}else { /* 列地址小于64时左屏显示 */
CS1 = 0; /*同上 */
CS2 = 1;
}
write_cmd( 0x40 | y ); /* 写列地址 */
_nop_();
write_cmd( 0xb8 | x ); /* 写行地址? */
}
/* 显示函数 */
void disp_hz( uchar *p )
{
uchar i;
for ( i = 0; i < 128; i++ )
{
set_xy( 0, i );
write_data( p[i] );
set_xy( 1, i );
write_data( p[i + 128] );
set_xy( 2, i );
write_data( p[i + 256] );
set_xy( 3, i );
write_data( p[i + 384] );
1329基于单片机的倒计时牌控制系统设计-毕设课设protues仿真电路
基于以单片机AT89C52为主控芯片的倒计时牌设计,采用美国DALLAS公司生产的DS1302实时时钟芯片,完成倒计时功能。本系统除了能显示出当前时间天、时、分、秒,还能显示现在日期(公历)和24小时制的当前时间。由于系统采用的时钟芯片有两个电源供电,其中有一个为备份电源,确保在系统掉电时仍然保持现在时间正常计时状态。用户也可以通过键盘设置倒计时时间和校正当前时间。另外,系统还具有倒计时提示与闹钟等功能,通过键盘可以设置闹钟时间。
该系统具有易操作,较为人性化等特点,对增强人们的时间观念,对一些有意义事件能给予人们以提醒和警觉,对随时提醒人们注意把握时间具有重要作用。故具有实际运用价值。Proteus仿真结果表明,系统运行正常。
#include<reg52.h>
#include<lcd1602.h> //LCD1602头文件
#include<ds1302.h> //DS1302时钟头文件
#define uchar unsigned char
#define uint unsigned int
sbit key1=P1^0; //调整模式选择按键
sbit key2=P1^1; //加按键
sbit key3=P1^2; //减按键
sbit key4=P1^3; //跳出调整模式
sbit key5=P1^4;
sbit SPK=P1^7; //接闹钟
int aa=80;
uchar code table2[]="Alarm: : : ";
uchar code table3[]=" CD: - - ";
uchar num,keynum,dj=255,flag1=0;
char sec,min,hour,date,month,year,day,flag;
char year1=9,month1=12,date1=10,hour1=12,min1=0,sec1=0;
void init() //定时器T0初始化函数
{
TMOD=0x01; //设置定时器T0为工作方式1
TH0=(65536-50000)/256; //装入1ms的初值
TL0=(65536-50000)%256; //作为蜂鸣器的周期
EA=1;
ET0=1;
1328基于单片机的彩灯控制器系统设计-多模式彩灯-毕设课设资料
基于单片机的彩灯控制器系统设计
设计内容:
设计一个八位彩灯控制器,初始状态彩灯为从左向右循环流动
设置四个按键,,K1按下彩灯开始从右向左循环流动,K2按下彩灯熄灭,K3按下彩灯从左至右依次全部点亮,K4按下彩灯从右至左依次全部点亮
设置彩灯流动时的快慢,设定三种流动速度,可通过手动和自动方式控制,手动按一次转换一次;自动控制每15s更换一次,45s循环一遍
设置复位键,恢复初始状态
其他自主设计创新功能
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
#define L1 (P2 | 0xFE)
#define L2 (P2 | 0xFD)
#define L3 (P2 | 0xFB)
#define L4 (P2 | 0xF7)
uchar led_count = 0; /* led个数遍历 */
uchar key_value = 0; /*按键号码 */
uchar key_buff = 0; /* 存储按键号 */
uint mode_time = 150; /* 初始速度 */
uchar counter = 0; /* 计时器 */
uchar second = 0; /* 秒 */
uchar code SMG[] = { 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90,
0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E, 0xBF }; /* 0~F显示码。 */
uchar code K_number[] = { 1, 2, 3, 0, 4, 5, 6 }; /* 键号。 */
uchar code table1[] = { 0xfe, 0xfd, 0xfb, 0xf7, 0xef, 0xdf, 0xbf, 0x7f }; /* 从左往右流水数组 */
uchar code table2[] = { 0x7f, 0xbf, 0xdf, 0xef, 0xf7, 0xfb, 0xfd, 0xfe }; /* 从右往左流水数组 */
uchar code table3[] = { 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00 }; /* 从左往右点亮数组 */
uchar code table4[] = { 0x7f, 0x3f, 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00 }; /* 从右往左点亮数组 */
1327基于单片机的八路路数字电压表控制设计-毕设课设资料
单片计算机即单片微型计算机。(Single-Chip Microcomputer),是集CPU ,RAM ,ROM 定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。
简易电压表是利用模拟量转换成数字量经单片机处理并反映在显示器上,它可以分析5V的电压,并能用该电压表可测出该电路的电流和电阻值。
本文介绍了电压表的使用和开发环境,仿真系统和开发使用的MCS-51系列的单片机芯片。在第二章论述了总体设计过程,确定了技术指标及器件的选择第四章着重描述了系统硬件电路设计、硬件设计框图及所使用的各种芯片功能与特性。
#include<reg52.h> //包含头文件
#include <math.h>
#include "uart.h"
#include "display.h"
#define uint unsigned int
#define uchar unsigned char //宏定义
sbit ale=P2^6;
sbit start=P2^7;
sbit eoc=P3^2;
sbit oe=P3^3; //定义adc0809的控制引脚
sbit adda=P2^0;
sbit addb=P2^1;
sbit addc=P2^2; //adc0809的地址引脚
//sbit rs=P2^3;
//sbit rw=P2^4;
//sbit en=P2^5; //液晶的控制引脚
sbit key1=P3^4;
sbit key2=P3^5;
unsigned long voltdata[8];
uint realvolt,i,j,k,l,t,sum,a[5]; //定义全局变量
unsigned char CH;
uchar add; //地址变量
uchar TxBuf[8]; //四个显示的位
unsigned char t0Count;
unsigned char flagAu=1;
uchar code t1[]={"DC Voltmeter:IN "};
uchar code t2[]={" (0~20V): . V "};
uchar code t3[]={" Hello! "};
uchar code t4[]={" Welcome! "}; //初始化显示
文章转自电设屋,资料百度网盘下载地址 https://www.aiesst.cn/share.html
目录
1334基于单片机嵌入式的家用智能节水淋浴控制器的设计-全套毕设课设设计资料
1330基于单片机的电子贺卡控制系统设计-毕设课设资料-protues仿真
1329基于单片机的倒计时牌控制系统设计-毕设课设protues仿真电路