1、五篇 设计题目设计题目:一 基于单片机的模拟PWM直流电机调速控制器 二交通信号灯一 基于单片机的模拟PWM直流电机调速控制器 设计单片机为控制核心的直流电机PWM调速控制系统。一、 功能要求:1、 系统设六个按键。一个启动键,一个停止键,一个加速键,一个减速键,一个正转键,一个反转键。二、 技术要求:1、 电机工作电压24V,工作电流0.5A加、减速分5档,分别自行拟定加减速波形图1.1系统总体设计框图1.2.1 PWM的基本原理PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,比如:电机调速、温度控
2、制、压力控制等等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为“开关驱动装置”。1.3 主电路设计3.1 源程序:S1 EQU P1.1S2 EQU P1.0QD EQU P1.2TZ EQU P1.3FZ EQU P1.4ZZ EQU P1.5JS EQU P1.6JS1 EQU P1.7ZZH EQU P2.0FZH EQU P2.1ORG 0000HSJMP START START:LCALL
3、INITMAIN:LCALL KEY_SCANMOV A,50HCJNE A,#0FFH,MMLCALL DISPLAYMM:MOV A,50HANL A,51HMOV P0,ASJMP MAININIT:MOV SP,#20HMOV P1,#0FCH MOV 51H,#08HMOV 50H,#00HMOV DPTR,#TABCLR ZZHRETKEY_SCAN:MOV A,P1CJNE A,#0FCH,KEY1 ;没有按键按下结束本次扫描SJMP NO_KEYKEY1:LCALL KEYNO_KEY:RETKEY:JB QD,KEY10 ;启动键按下?是则顺序执行,否则检测下一个按键KEY1
4、1:LCALL DELAY ;延时去抖JB QD,KEY11 ;再次判断?稳定了继续向下执行,否则继续延时等待稳定MOV 50H,#0FFH ;是,启动电机JNB QD,$ ;等待按键松开KEY12:LCALL DELAY ;松开去抖JNB QD,KEY12 ;再次判断,完全松开了则向下继续执行,否则等待稳定 ;完全松开,结束此键扫描KEY10:JB TZ,KEY20KEY21:LCALL DELAYJB TZ,KEY21MOV 50H,#00H ;占空比设为零,关输出JNB TZ,$KEY22:LCALL DELAYJNB TZ,KEY22KEY20:JB ZZ,KEY30KEY31:LCA
5、LL DELAYJB ZZ,KEY31CLR FZHSETB ZZHJNB ZZ,$KEY32:LCALL DELAYJNB ZZ,KEY32KEY30:JB FZ,KEY40KEY41:LCALL DELAYJB FZ,KEY41CLR ZZHSETB FZHJNB FZ,$KEY42:LCALL DELAYJNB FZ,KEY42KEY40:JB JS,KEY50KEY51:LCALL DELAYJB JS,KEY51MOV A,51HCJNE A,#0FH,KEY52SJMP KEY53KEY52:MOV A,50HCJNE A,#0FFH,KEY53INC 51HKEY53:JNB J
6、S,$KEY54:LCALL DELAYJNB JS,KEY54KEY50:JB JS1,KEY60KEY61:LCALL DELAYJB JS1,KEY61MOV A,51HCJNE A,#00H,KEY62SJMP KEY63KEY62:MOV A,50HCJNE A,#0FFH,KEY63DEC 51HKEY63:JNB JS1,$KEY64:LCALL DELAYJNB JS1,KEY64KEY60:RETDISPLAY:MOV A,51HANL A,50HMOV B,#0AHDIV ABMOVC A,A+DPTRMOV P3,ASETB S1LCALL DELAYCLR S1MOV
7、A,BMOVC A,A+DPTRMOV P3,ASETB S2LCALL DELAYCLR S2RETDELAY:MOV R7,#0FHDJNZ R7,$RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HEND3.2程序流程图二交通信号灯主程序框图主程序#include#define port1 P0#define port2 P2sbit green1=P10;sbit red1=P11;sbit yellow1=P12;sbit green2=P13;sbit red2=P14;sbit yellow2=P15;unsigned c
8、har flag=0;unsigned char mun=30;unsigned char codetab=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7 F,0x6F;void init_timer0(void)TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;EA=1;TR0=1;void display(unsigned char x)unsigned char m,n;m=x/10;n=x%10;port1=tabm;port2=tabn;void init(void)P1=0
9、x00;init_timer0();void main()init();while(1)dodisplay(mun);green1=1;red1=0;green2=0;red2=1;while(mun!=3);doif(mun=3)yellow1=1;yellow2=1;display(mun);while(mun!=0);if(mun=0)mun=30;yellow1=0;yellow2=0;dodisplay(mun);green1=0;red1=1;green2=1;red2=0;while(mun!=3);doif(mun=3)yellow1=1;yellow2=1;display(m
10、un);while(mun!=0);if(mun=0)mun=30;yellow1=0;yellow2=0;void timer(void) interrupt 1 using 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;flag+;if(flag=20)flag=0;mun-;1、接硬件图接线,为了确保东西南北红黄绿灯能够对应显示,实验时,对P1口的接线做了调整。即,P1.0接绿灯,P1.1接黄灯,P1.2接红灯,P1.3接绿灯,P1.4接黄灯,P1.5接L3红灯一般情况下水平排列的交通灯号靠右的是绿灯靠左的是红灯,中间的是黄灯,垂直排列的交通灯号靠下的是绿灯,竖的通常是红灯在最上绿灯在最下。总体电路图十六进制数字显码表
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2