基于单片机的密码锁控制器的设计内容摘要:
econd3=0。 } else { for(i=0。 ikeycount。 i++) { if(getps[i]!=ps[i]) { i=keycount。 errorflag=1。 rightflag=0。 second3=0。 goto a。 } } errorflag=0。 rightflag=1。 a: i=keycount。 } } temp=temp amp。 0x0f。 while(temp!=0x0f) { temp=P3。 temp=temp amp。 0x0f。 } keyoverflag=0。 } } P3=0xff。 P35=0。 temp=P3。 temp=temp amp。 0x0f。 if (temp!=0x0f) { for(i=10。 i0。 i) for(j=248。 j0。 j)。 temp=P3。 temp=temp amp。 0x0f。 if (temp!=0x0f) { temp=P3。 temp=temp amp。 0x0f。 switch(temp) { case 0x0e: key=4。 break。 case 0x0d: key=5。 break。 case 0x0b: key=6。 break。 case 0x07: key=11。 break。 } temp=P3。 P11=~P11。 if((key=0) amp。 amp。 (key10)) { if(keycount6) { getps[keycount]=key。 dispbuf[keycount+2]=19。 } keycount++。 if(keycount==6) { keycount=6。 } else if(keycount6) { keycount=6。 keyoverflag=1。 //key overflow } } else if(key==12)//delete key { if(keycount0) { keycount。 getps[keycount]=0。 dispbuf[keycount+2]=16。 } else { keyoverflag=1。 } } else if(key==15)//enter key { if(keycount!=pslen) { errorflag=1。 rightflag=0。 second3=0。 } else { for(i=0。 ikeycount。 i++) { if(getps[i]!=ps[i]) { i=keycount。 errorflag=1。 rightflag=0。 second3=0。 goto a4。 } } errorflag=0。 rightflag=1。 a4: i=keycount。 } } temp=temp amp。 0x0f。 while(temp!=0x0f) { temp=P3。 temp=temp amp。 0x0f。 } keyoverflag=0。 } } P3=0xff。 P36=0。 temp=P3。 temp=temp amp。 0x0f。 if (temp!=0x0f) { for(i=10。 i0。 i) for(j=248。 j0。 j)。 temp=P3。 temp=temp amp。 0x0f。 if (temp!=0x0f) { temp=P3。 temp=temp amp。 0x0f。 switch(temp) { case 0x0e: key=1。 break。 case 0x0d: key=2。 break。 case 0x0b: key=3。 break。 case 0x07: key=12。 break。 } temp=P3。 P11=~P11。 if((key=0) amp。基于单片机的密码锁控制器的设计
相关推荐
口是一个具有内部上拉电阻的 8 位双向 I/O 口, P1 输出缓冲器能驱动个 TTL 逻辑电平。 对 P1 端口写 “1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作输为入使用时,被输入信号拉低的引脚由于内部上拉电阻的原因,将输出电流 IIL。 此外, 和 分别作定时器 /计数器 2 的外部计数输入( )和时器 /计数器 2 的触发输入( ),具体如表 31 所示。 在 flash
出波形,而图 8 e 为 R、 Y 两相联系输出的信号的差,它代表了逆变器输出的线电压 UUV。 当输出频率超过最大值 fM 时,经双边调制后的脉冲已开始合并,输出电压波由 SPWM 波方向转换,因而输出电压不再随输出频率成线性变化,如图 8 所示。 图 9 不同分频数下 fr 与 f 关系 图 10 开关频率 fr 与输出频率 f 的关系 HEF4752 输出的 SPWM 波的输出频率 f
就驱动晶体管导通的时间越长,这样加到压频转换器的电压也 就越大,电压越大, 则压频转换器输出的计数脉冲再单位时间也就越多,这样就相当于电机的电压越大,其转速也就会越快,我们再用单片机对压频转换器的输 出 脉冲 计数, PID 调节器就把这个计数脉冲和预先设定的 值进行比较,比设定值小,这样就会得到一个偏差,再把这个偏差加到 AD 的给定电压,这样就相当于加大了 PWM的占空比,要是比设定值大
项命令,此时可以选择 stepover 、step into 和 step out 命令执行程序 (可以用快捷键 F F11 和ctrl+F11),执行的效果是单 句执行、进入子程序执行和跳出子程序执行。 在执行了 start / restart debuging 命令后,在 debug 菜单基于单片机的室内电热水器控制系统设计 10 的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等
,一般情况下它们大多工作在 5V 甚至更低。 驱动电流在 mA 级以下。 而要把它用于一些大功率场合,比如继电器驱动,显然是不行的。 所以就要有一个环节来衔接,这个环节就是所谓的“功率驱动”。 继电器驱动就是一个典型的、简单的功率驱动 环节。 图中三极管 8050 有两个作用:一个是起放大作用,一个是起开关作用(严格来讲开关作用是放大作用的极限情况)。 P1 处连接的是单片机的 口。
E D+ 5 V 图 报警电路 13 三 系统软件设计 主程序流程图 图 工作流程:调用初始化程序,对单片机进行初始化设置;调用 A\D转换子程序,开始 初始化 调用模数转换子程序 调用显示子程序 调用调温子程序 调用报警子程序 返回 14 对由传感测量电路采集的模拟信号进行模数转换变成数字信号。 调用显示子程序,经AT89C51 控制数字信号在 LED数码管上显示。 调用调温子程序