正文内容

基于单片机80c51模拟路灯控制系统的课题设计-wenkub.com

2025-08-14 18:08 本页面
   

【正文】 /******************************************* 函数名称 : AD_init() 功 能 : AD 转换的初始化 参 数 : 无 返回值 : 无 /********************************************/ void AD_init() { ADMUX|=BIT(5)。)。 39。 27 display(0x80+0x0a,39。)。o39。 display(0x80+0x06,39。)。139。 display(0x80+0x0b,39。)。r39。 display(0x80+0x07,39。)。e39。} break。} break。} break。display(0x80+0x4B,table[gettime[0]%16])。} break。 case 5:{gettime[0]+=0x0F。if(gettime[1]%169)gettime[1]amp。=0x0F。display(0x80+0x45,table[gettime[2]%16])。} break。 case 0X2://小时、分钟的步进加一 { switch(i) { case 1:{gettime[2]+=0x0F。goto kaishi。 LCD1602_write_(LCDa_CURFLA)。 display(0x80+0x4b,table[gettime[0]%16])。 display(0x80+0x45,table[gettime[2]%16])。 k=0。 if(shezhi==1) { if(chucun[0]==gettime[0]) k=1。b3。 display(0x80+0x49,39。 DS1302_setT(settime)。//设置的秒,分,时 uchar gettime[7]={0x00,0x00,0x00,0x00,0x00,0x00,0x00}。 } else { key=16。 case 0XF0: key=0x4。=~BIT(4)。 case 0XD8: key=0x2。 switch(key) { case 0X78: key=0x0。 delay(10)。=0XF8。 KEY_OUT_H。 LCD1602_write_dat(dat)。 //拉低片选端 PORTBamp。i8。 PORTC|=BIT(RTC_CS)。=~BIT(RTC_CS)。 //读出数据 delayns(10)。 //拉高片选端 delayns(10)。 //拉低片选端 PORTBamp。 //最后将数据端口设置为输出 return byte。BIT(RTC_DATA)) //当前位是否是高电平 { byte|=BIT(PB7)。 //延时,调整时钟脉冲宽度 PORTBamp。i8。=~BIT(RTC_DATA)。 delay(1)。 for(i=0。 //拉低片选端 } /******************************************* 函数名称 : DS1302_setT 功 能 : 设置 DS1302 的时间 参 数 : ptTimeD设置时间数组指针 返回值 : 无 /********************************************/ void DS1302_setT(uchar ptTimeD[]) { uchar i。=~BIT(RTC_CLK)。=~BIT(RTC_CLK)。 //拉高片选端 delayns(10)。 //拉低片选端 PORTBamp。 //调整时钟和脉冲宽度 PORTB|=BIT(RTC_CLK)。0x01) //当前位是否是 1 { PORTB|=BIT(RTC_DATA)。i8。 //写入写允许命令 19 DS1302_writeD(C_SEC|WR,CLK_START)。 //LCD1602_write_(0X80+0x0f)。 LCD1602_write_(0X01)。 LCD1urt602_write_(0X38)。rut LCD_OE_Lu。 LCD_DrutATA=dat。 delay(5tur)。 LCD_RW_L。i++) for(tuj=0。i++)。//fg存储设置时间时的当前值 gh voghid delayns(uint US) {rht uintrut i。 //1602 不使能 define LCDa_CURON 0x0E // 显示光标 define LCDa_CURFLA 0x0F // 打开光标闪烁 /******************RTC 常量 ******************/ define RTC_CLK PB7 define RTC_DATA PB5 define RTC_CS PC7 define RD 0x01 define WR 0x00 define C_SEC 0x80 //秒 define C_MIN 0x82 //分 define C_HR 0x84 //时 define C_WP 0x8E //控制 (写保护 ) define C_BURST 0xBE //时钟 蛾 dg 多字节 define CLK_HALT 0x80 //停止时 sst 钟控制位 definstwte CLK_START 0x00 //启动时钟 define PROTECT 0x80 //写保护控制位 define UPROTECT 0x00 //写保护控制位 /***************按键常量控制位的宏定义 **************************/ define KEY_OUT DDRA|=0XF8 //按键方向定义输出 define KEY_IN DDRAamp。=~BIT(PD6)。 //操作的是命令 define LCD_RS_L PORTDamp。 四 、 结 果分析 该系统能完成基本功能部分,传感器检测物体运动的最大误差为正负 1cm, 光敏电阻在正常光照情况下电阻值为 2K,在强光下电阻值为 200欧姆,在黑暗情况下 2M.。 RX1 不取吧,估计也没事,取小了对负载不好,要比负载大 10 倍以上啊,要忽略流过他的电流 13 本系统采用方案四的恒流源电路,以实现系统的功能。电阻 RS1 右端的电压按照 R13 和R14 分压电路计算的话数值是 V1(VV1)=2V1V,这样我们就可以计算出 RS1 两端的电压是 V,所以流过 RS1 电阻的电流是恒定的,另外考虑到 RX1 和 R13 相对 RS1 和负载的阻值不在同一个数量级,比他们大好多倍,因此流过 RS1 的电流基本都流向负载,很少量的电流流向 R13 和 RX1,所以输出的电流基本是恒定的。 R11 和电位器 RW4组成了一个电压取样电路,通过改变电位器 RW4 滑动端的位置取出不同的电压值,同时这个取出的电压值也是输出电流的正比例控制值,电位器滑动头的电压就按照串联分压的方式计算得出,后端的 R15和电容 C20 作为取出电压信号的阻容滤波电路,因为后端接的是运放的正端,电位器的滑动头不输出电流。 方案 1: 图 14 恒流源电路 咕 ~~(╯﹏╰ )b一 从左边看起 :基极偏压 ( 34) 所以 VE=VB = ( 35) 又因为射极电阻是 1K,流经射极电阻的电流是 ( 36) 所以流经负载的电流就就是稳定的 1mA 方案 2. 10 图 15 恒流源电路 这是个利用稳压二极管提供基极偏压 , VE=VB =, 流经负载的电流 ( 37) 方案 3. 图 16 恒流源电路 这个 有一点不同 :利用 PNP 三极管供应电流给负载电路 .首先 ,利用二极管 V的压降 ,提供 V基极偏压 (10 – 3 x = ). K电阻只是用来形成通路 ,而且不希望 (也不会 )有很多电流流经这个电阻。 因此,只要 IB 值固定, IC亦都可以固定。 c)内阻为无限大。 ( 5) 声 光报警 模块 R618Q190 12L1be e pV C CP D 0 认同 uyhes 7 图 9 声光报警电路 当 系统出现故障时,蜂鸣器会发出警报声,同时报警指示灯也会点亮。 6 ( 3) 显示、按键模块 12345678910111213141516J716 02V C CV C CR P 110 KP D 5P D 6P D 7S C LS D AT C KT M ST D OT D IP C 6P C 7 S8 S9 S 10 S 11 S 12V C CPA3PA4PA5PA6PA7R110 kR210 kR310 kR410 kR510 k 图 7 1602 显示及按键电路 通过按键可以 调节 和 设定 路灯的开关时间, 控制整条支路按时开灯和关灯, 并在字符液晶上显示出来。 环境明暗检测 模块:该模块 需要检测环境光的变化,根据环境 光 的明暗进行路灯开关的自动控制。但是,如果在 系统中采用时钟芯片 DS1302,则能很好地解决这 个问题。 DS1302 存在时钟精度不 高,易受环境影响,出现时钟混乱等缺点。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302进行操作。 DS1302 与单片机之间能简单的采用同步串行方式进行通信,仅需用到三个口线:( 1) RES(复位), ( 2) I/O(数据线),( 3) SCLK(串行时钟) 。采用三线接口与 CPU 进行同步 通信,并可采用 突发方式一次传送多个字节的时钟信号或 RAM 数据。整个系统硬件框图如 图 1所示: 图 3 系统框图 4 设计 12345678910J112345678910J212345678910J312345678910J4V C C V C CV C CV C CR X DT X DI N T 1I N T 0P D 4P D 5P D 6P D 7S C LS D AT C KT M ST D OT D IP C 6P C 7R110 KS1C110 uFV
点击复制文档内容
医疗健康相关推荐
文库吧 www.wenkub.com
备案图片鄂ICP备17016276号-1