基于单片机的多功能综合应用系统的设计单片机课程设计报告(编辑修改稿)内容摘要:
ring(1,1,SPD)。 L1602_string(2,1, )。 L1602_char(1,5,speed/10+0x30)。 L1602_char(1,6,39。 39。 )。 while(1) { kevent()。 if(key_val==15) { if(flag_lsd) { L1602_char(1,4,39。 *39。 )。 L1602_char(1,6,39。 *39。 )。 24 initkeypad()。 while(key_val!=15) { initkeypad()。 do {kevent()。 } while(key_val==16)。 if(key_val==3){speed=speed+10。 } if(key_val==7){speed=speed10。 } L1602_char(1,5,speed/10+0x30)。 } initkeypad()。 L1602_char(1,4,39。 39。 )。 L1602_char(1,6,39。 39。 )。 } } if(key_val==14) { initkeypad()。 while(key_val!=14) { L1602_char(2,11,39。 *39。 )。 initkeypad()。 do {kevent()。 } while(key_val==16)。 if(key_val==3) hour++。 if(key_val==7) hour。 if(key_val==11) { uchar a=0,i=2。 L1602_char(2,14,39。 *39。 )。 while(i) { initkeypad()。 do {kevent()。 } while(key_val==16)。 a=10*a+key_val。 if(i) minute=10*key_val+minute%10。 } minute=a。 L1602_char(2,14,39。 39。 )。 } 25 } initkeypad()。 L1602_char(2,11,39。 39。 )。 } if(key_val==0) { L1602_string(1,1,SPD)。 L1602_string(2,1, )。 L1602_char(1,5,speed/10+0x30)。 L1602_char(1,6,39。 39。 )。 flag_lsd=1。 flag_jtd=0。 flag_pwmled=0。 flag_lxy=0。 initkeypad()。 } if(key_val==1) { P1=0xff。 flag_lsd=0。 flag_jtd=1。 flag_pwmled=0。 flag_lxy=0。 initkeypad()。 } if(key_val==2) { L1602_string(1,1, )。 L1602_string(2,1, )。 L1602_string(1,1,pwm)。 P1=0xff。 flag_lsd=0。 flag_jtd=0。 flag_pwmled=1。 flag_lxy=0。 initkeypad()。 } if(key_val==3) { L1602_string(1,1, )。 L1602_string(2,1, )。 L1602_string(1,1,lxy)。 26 P1=0xff。 flag_lsd=0。 flag_jtd=0。 flag_pwmled=0。 flag_lxy=1。 initkeypad()。 } } } void t0() interrupt 1 { uchar ledcount。 uchar timecount。 uchar lxycount。 uchar i。 uchar j。 TH0=(6553610000)/256。 TL0=(6553610000)%256。 ledcount++。 timecount++。 lxycount++。 if(timecount==100) { timecount=0。 buzzer=0。 disp_time()。 if(flag_jtd) { if(flag_green) { GRE=0。 Red=0。 L1602_string(1,1,RED:)。 L1602_char(1,5,green/10+0x30)。 L1602_char(1,6,green%10+0x30)。 L1602_string(2,1,GRE:)。 L1602_char(2,5,green/10+0x30)。 L1602_char(2,6,green%10+0x30)。 green。 if(green0) { 27 green=20。 flag_green=0。 flag_yellow=1。 GRE=1。 YEL=0。 Red=1。 gre=0。 } } if(flag_yellow) { YEL=0。 gre=0。 L1602_string(1,1,GRE:)。 L1602_char(1,5,(yellow+15)/10+0x30)。 L1602_char(1,6,(yellow+15)%10+0x30)。 L1602_string(2,1,YEL:)。 L1602_char(2,5,yellow/10+0x30)。 L1602_char(2,6,yellow%10+0x30)。 yellow。 if(yellow0) { yellow=5。 flag_yellow=0。 flag_red=1。 YEL=1。 RED=0。 } } if(flag_red) { RED=0。 if(red5) { gre=0。 L1602_string(1,1,GRE:)。 L1602_char(1,5,(red5)/10+0x30)。 L1602_char(1,6,(red5)%10+0x30)。 } else { yel=0。 28 L1602_string(1,1,YEL:)。 L1602_char(1,5,red/10+0x30)。 L1602_char(1,6,red%10+0x30)。 } L1602_string(2,1,RED:)。 L1602_char(2,5,red/10+0x30)。 L1602_char(2,6,red%10+0x30)。 red。 if(red==4) { gre=1。 yel=0。 } if(red0) { red=20。 flag_red=0。 flag_green=1。 RED=1。 GRE=0。 yel=1。 Red=0。 } } } } if(flag_lsd) { if(ledcount==speed||ledcount100) { ledcount=0。 P1=~bit(i)。 i++。 if(i==8) i=0。 } } if(flag_lxy) { if(lxycount==lxyctr) { lxycount=0。 29 P1=lxytable[j]。 j++。 if(j==16) j=0。 lxyctr。 if(lxyctr==0) lxyctr=16。 } } } void t1() interrupt 3 { uchar count_pwm,count。 TH1=(655361000)/256。 TL1=(655361000)%256。 if(flag_pwmled) { count_pwm++。 count++。 if(count_pwm==pwmctr) { Red=0。 yel=1。 } if(count_pwm==pwmctr_green) { gre=1。 } if(count_pwm==10) { count_pwm=0。 Red=1。 yel=0。 gre=0。 } if(count==200) { count=0。基于单片机的多功能综合应用系统的设计单片机课程设计报告(编辑修改稿)
相关推荐
138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT
复位,上电以后,复位电路通过电容使 RST 持续一段时间的高电平,如果 RST 能够持续充足时间的高电平,系统就有足够 的时间复位,那么就实现了系统复位的可靠性。 基于单片机的多路温度采集系统设计 8 但是,电容的充电时间决定了 RST 端持续高电平的时间。 随着电容充电的完成,RST 端变成低电平。 如图 33所示。 对于手动按钮复位,它是通过手动操作按键来给 RST 一个高电平
是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的功能。 硬件实现上采用模块化设计,每一模块只 实现一个特定功能,最后再将各个模块搭接在一起。 这种设计方法可以降低系统设计的复杂性。 系统电路原理图如图 2所示。 本系统主要硬件设计包括电源电路、晶振电路、复位电路、 LCD 显示电路以及温湿度传感器电路。 控制电路的核心器件是由美国 Atmel公司生产的 AT89S52单片机,属于
表示数码管的四个位。 图 22 四位共阴数码管 6 3 系统硬件设计 本系统中,硬件电路主要有电源电路,时钟电路,复位电路,显示电路,以及一些按键电路等。 电源电路 电源电路是指提供给用电设备电力供应的电源部分的电路设计、使用的电路形式和特点。 电源有交流电源也有直流电源。 电源电路是系统最基 本的部分,任何电路都离不开电源部分,由于三端集成稳压器件所组成的稳压电源线路简单、性能稳定、工作可靠
⑹ 具有看门狗功能 ; ⑺ 共 3个 16位定时器 /计数器,即定时器 T0、 T T2; ⑻ 工作频率范围: 0~40MHZ,实际工作频率可达 48MHZ; ⑼ 外部中断 4路,下降沿中断或低电平触发电路,掉电模式可由外部中断低电平触发中断方式唤醒。 此外, STC89C52设计和配置了振荡频率可为 0Hz并可通过软件设置节电模式。 此模式下, CPU暂时停工作,此时外部中断系统、 RAM
5V 输出 15V 输出 5V N N Y Y 东华理工大学长江学院毕业设计(论文) 软件方案设计 9 反馈 模块 模数转换电路 ADC0809 是美国国家半导体公司生产的 CMOS 工艺 8 通道, 8 位逐次逼近式 A/D模数转换器。 其内部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8 路模拟输入信号中的一个进行 A/D 转换。 转换时间为 100μ s 左右。