单片机课程设计

发布 2022-10-04 21:54:28 阅读 7066

一 、基本内容:

1、从键盘上输入正、反转命令,转速参数(16级)和转动步数显示在led显示器上。显示器上显示:第一位为0表示正转,为1表示反转;第二位0~f为转速等级,第三到第六位设定步数。

2、单片机依显示器上显示的正、反转命令,转速级数和转动步数进行相应动作,转动步数减为零时停止转动。

二、步进电机原理:

如图,当有一相绕组被通电激励时,磁通从正相齿,经过软铁芯的转子,并以最短路径流向负相齿,为使磁通路径最短,在磁场力的作用下,转子被迫移动,使最近的一对齿与被激励的一相对准。那么,通过对它每相线圈中电流的顺序切换可使电机作步进式旋转。

相数:产生不同对极n、s磁场的激磁线圈对数。

拍数:指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即ab-bc-cd-da-ab或a-b-c-d-a,四相八拍运行方式即 a-ab-b-bc-c-cd-d-da-a.

步距角:对应一个脉冲信号电机转子转过的角位移。步距角=360/(转子齿数*拍数)

系统中使用20by-0型号步进电机,它使用+5v直流电源,步距角为18度,电机线圈由a、b、c、d四相组成。

步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。

ba、bb、bc、bd即为脉冲信号输入插孔,驱动器输出a、b、c、d接步进电机。

步进电机原理接线图:

3、数码管显示:

1、数码管显示字形:led显示器是由发光二极管构成的字段组成的显示器。

2、显示程序任务:设置显示缓冲区(7eh- 79 h) ,存放待显示数据和字符(位置码)。

显示译码:程序存储器中建立字形码常数表,查表得出对应数据和字符的字形码。

输出显示:输出字形码到显示端口。

3、键盘显示原理图:

4、显示子程序模块:

采用动态显示方式,即一位一位地轮流点亮(扫描)6位显示器。

在8032ram存储器中设置六个显示缓冲区单元7eh-79h,分别存放6位显示器的显示数据(从高到低)。

四、键盘输入。

实验系统有4×8的键盘结构(见键扫显示原理图)。键盘的行线通过电阻接+5v,当键盘上没有键闭合时所有的行线和列线都断开,行线都为高电平。当键盘上某一键闭合时,则该键所对应的行线和列线都短路。

cpu逐行逐列地检查键盘的状态,可判断键盘上有无键闭合。cpu对键盘上闭合键的键号确定,可根据行线和列线的状态计算求得,也可以根据行线和列线的状态查表求得。

五、步进电机控制程序框图。

六、内存使用分配表。

79h:步数的个位7ah:步数的十位。

7bh:步数的百位7ch:步数的千位。

7dh:转速等级(0~f7eh:正反转控制。

字形口地址:0ffdch字位口地址:0ffddh

键盘扫描口地址:0ffdch键盘输入口地址:0ffdeh

七、程序清单。

org 0000h

ajmp main

org 001bh ;设置中断服务程序跳转。

ljmp t1int

org 0300h

main:acall shuru ;调用输入程序,等待确认后返回。

mov r1,79h

mov r2,7ah

mov r3,7bh

mov r4,7ch

mov r5,#00h

mov a ,7dh ;读取设定的速度等级0-f

mov r6,#4 ;循环左移4位。

n1: rl a

djnz r6,n1

mov tmod,#10h ;t1模式1,16位记数模式。

mov th1,a ;左移后的速度等级存放到th1

mov tl1,#00h ;按此装载则0等级的定时最长,转速最慢,f等级的转速最快。

setb ea ;开中断。

setb et1

setb tr1

wait:acall xs ;调用显示子程序并等待t1中断。

jnb et1,n5 ;若中断关闭则步数已减为零,重新执行主程序。

sjmp wait

n5: ajmp main

rm: db 03h,06h,0ch,09h,00h ;正转控制字。

lm: db 03h,09h,0ch,06h,00h ;反转控制字。

t1int:push acct1中断服务程序。

push psw保护现场。

push dph

push dpl

mov a,7eh读取转向。

jnz lefta中内容不为0,则转反转。

mov dptr,#rm

ajmp n2

left:mov dptr,#lm

n2: mov a,r5设置r5作为rm或lm的偏移量。

movc a,@a+dptr

mov p1,a

inc dptr

mov a,r5

movc a,@a+dptr ;取下一步控制字。

jnz next1如不等于0则r5自增1,否则r5清零。

mov r5,#00h

ajmp n3

next1:inc r5

n3: cjne r1,#00h,m1 ;执行步数减1并判断是否为0

cjne r2,#00h,m2

cjne r3,#00h,m3

cjne r4,#00h,m4

clr et1步数减为0,关闭中断。

clr ea

m4: dec r4

mov r3,#0fh

mov 7ch,r4

ajmp m43

m3: dec r3

m43: mov r2,#0fh

mov 7bh,r3

ajmp m32

m2: dec r2

m32: mov r1,#0fh

mov 7ah,r2

ajmp m21

m1: dec r1

m21: mov 79h,r1

mov a,7dh

mov r6,#

n4: rl a

djnz r6,n4

mov th1,a

mov tl1,#00h

pop dpl恢复现场。

pop dph

pop psw

pop acc

reti中断返回。

shuru:mov r0,#7eh置显缓指针初值。

mov r1,#7eh置键入缓冲指针初值。

mov 79h,#00h初始化设定值。

mov 7ah,#00h

mov 7bh,#00h

mov 7ch,#00h

mov 7dh,#00h

mov 7eh,#00h

mov r3,#06h存放未设置数码管个数。

shuru1:acall ks1判断是否有键闭合。

jz xya)=0,无键闭合,调显示延时。

acall xda)/=0,有键闭合,进行消抖延时。

cjne a,#16h,xy

判断是否是确认键按下,如不是,继续输入;如是,返回主程序。

retxy: acall xs

ajmp shuru1

xd: acall t12ms消抖,延时12ms

acall ks1延时后看是否仍有键闭合。

jnz n0仍有键闭合,转扫描程序。

retn0: acall saom1ret

单片机课程设计

可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...

单片机课程设计

目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...

单片机课程设计

1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...