单片机最小系统课程设计Word文档格式.docx
《单片机最小系统课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机最小系统课程设计Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
七、硬件电路的焊接
按照原理图把上面的元件焊接好,详细步骤省略。
相关程序编写
针对上面的电路原理图,设计出本单片机最小系统的详细功能:
(1)、第一个发光二极管点亮,同时数码管显示“1”。
(2)、第二个发光二极管点亮,同时数码管显示“2”。
(3)、依次类推到第八个发光二极管点亮,同时数码管显示“8”。
以上出现的是流水灯的效果
(4)、所有的发光二极管灭了,同时数码管现实“0”。
(5)、数码管显示“1”。
(6)、数码管显示“2、……”直到“9、A、B、C、D、E、F、Y”。
(7)、蜂鸣器发出九声报警声后重复上面所有步骤。
(8)程序如下:
ORG0000H;
伪指令,定义下面的程序代码(机器代码)从地址为0000H的单元存放。
LJMPSTART;
跳转到标号为START的地方去执行。
ORG0030H;
伪指令,定义下面的程序代码(机器代码)从地址为0030H的单元存放。
START:
MOVP1,#0FEH;
点亮第一个发光二极管。
CLRP2.7;
送低电平到第一个数码管,开启数码管。
CLRP2.6;
送低电平到第二个数码管,开启数码管。
MOVP0,#06H;
让数码管显示“1”。
LCALLDELAY;
调用延时子程序,起到延时的目的。
MOVP1,#0FDH;
点亮第二个发光二极管。
MOVP0,#5bH;
让数码管显示“2”。
MOVP1,#0FBH;
点亮第三个发光二极管。
MOVP0,#4fH;
让数码管显示“3”。
MOVP1,#0F7H;
点亮第四个发光二极管。
MOVP0,#66H;
让数码管显示“4”。
MOVP1,#0EFH;
点亮第五个发光二极管。
MOVP0,#6dH;
让数码管显示“5”。
MOVP1,#0DFH;
点亮第六个发光二极管。
MOVP0,#7dH;
让数码管显示“6”。
MOVP1,#0BFH;
点亮第七个发光二极管。
MOVP0,#07H;
让数码管显示“7”。
MOVP1,#7FH;
点亮第八个发光二极管。
MOVP0,#7fH;
让数码管显示“8”。
MOVP1,#00H;
灭了所有的发光二极管。
MOVP0,#3FH;
让数码管显示“0”。
MOVP0,#6fH;
让数码管显示“9”。
让数码管显示“A”。
让数码管显示“b”。
让数码管显示“C”。
让数码管显示“d”。
让数码管显示“E”。
让数码管显示“F”。
让数码管显示“Y”。
MOVR4,#9;
送蜂鸣器的报警次数。
LOOP:
SETBP2.0;
不发声
CLRP2.0;
发声。
DJNZR4,LOOP;
发声九次后向下执行。
关闭发声
跳转到标号为START处执行,循环本程序。
DELAY:
MOVR7,#200;
这是延时子程序。
D1:
MOVR6,#200
D2:
MOVR5,#200
D3:
DJNZR5,D3
DJNZR6,D2
DJNZR7,D1
RET;
延时子程序返回指令。
END;
结束伪指令。
九、利用KEILC51软件对上面的程序进行调试和编译,产生*.HEX文件,以便用编程器写入单片机芯片中。
十、编程器的使用:
用编程器把电脑里生成的*.HEX文件写到芯片中。
十一、产品调试:
通上4.5V(三节电池)的电源,可以调试本系统,如果没有错误就可以正常工作了。
下面还有有一个网上copy的一个设计
单片机课程设计题目:
单片机最小系统
一、设计题目:
四、任务与要求:
在智能化仪器仪表中,控制核心均为微处理器,而单片机以高性能、高速度、体积小、价格低廉、稳定可靠而得到广泛应用,是设计智能化仪器仪表的首选微控制器,单片机结合简单的接口电路即可构成单片机最小系统,它是智能化仪器仪表的基础,也是测控。
监控的重要组成部分。
本课题任务与要求如下:
1、
单片机可采用8031、8051、AT89C51、AT89C52、fosc=6MHz。
2、
时钟电路,复位电路的设计。
3、
系统RAM、ROM的容量均为8KB。
4、
显示位数:
8位。
5、
键盘按键数:
16个。
6、
上电初始化显示P.
7、
能输入、显示十六进制数0——F
8、
编写系统初始化主程序、键扫子程序、显示子程序及其他所需要子程序。
9、
计算机输出设计说明书一分(包括各部分电路工作原理说明、程序清单及程序流程框图),16开方框图一张,电路原理总图一张。
10、设计时间:
一周
五、单片机最小系统总体方案设计提示
可利用8031,RAM,ROM,8279构造单片机最小系统。
可利用8031,RAM,ROM,8155构造单片机最小系统。
也可以利用AT89C51(或AT89C52),RAM,8155构造单片机最小系统。
请看我的程序然后修改,有问题可以在我们的论坛交流,qq群7344883
设Inter8051片内RAM78H-7FH单元为显示缓冲区,依次从低到高存显示数据
ORG
0000H
AJMP
MAIN
0080H
MAIN:
MOV
SP,
#60H
R0,
#08H
R1,
#78H
LCALL
ML
;
调清零子程序
#64
清工作单元
#20H
ML
A,
#03H
8155的初始化
DPTR,#7F00H
MOVX
@DPTR,A
ST:
78H,
#0FFH
显示P.
79H,
#0FFH
7AH,
7BH,
7CH,
7DH,
7EH,
MOV
7FH,
#0CH
LM:
DIS
调显示显示P.
SHIFT
调移位程序
LTIM
调延时子程序
KD1
调键扫程序
INC
R0
LM
DIS:
显示程序
DPTR,#7F00H
#78H
R3,
#01H
R3
LD0:
DPTR,#7F01H
DPTR
@R0
DIR0:
ADD
#0DH
MOVC
@A+PC
DIR1:
DL
JB
ACC.5,LD1
RL
A
LJMP
LD0
LD1:
RET
DSEG:
DB
3FH,06H,5BH,4FH,66H
6DH,7DH,07H,7FH,6FH
77H,7CH,39H,5EH,79H
71H
DL1:
R7,
#01H
延时1ms
DL:
R6,
DL6:
DJNZ
DL6
DL
RET
KD1:
键盘扫描程序
KEY1:
KEY
JNZ
LK1
NI:
ACALL
DIS
KEY1
LK1:
有键闭合2次延时
共12ms去抖动
K1
LK2
LK2:
R2,
#0FEH
R4,
#00H
LK4:
R2
@DPTR,A
@DPTR
ACC.0,
LONE
LKP
LONE:
ACC.1,
NEXT
LKP:
R4
计算键码
PUSH
ACC
保护键码
LK3:
K1
查键是否继续闭合,若闭合再延时
LK3
POP
ACC
NEXT:
R4
JNB
ACC.7,
KLM
LK4
进行下一次扫描
KLM:
KEY1
扫描完毕,开始新的一次
LTIM:
R5,
01H
延时子程序
LP3:
LP2:
LP1:
LP1
LP2
LP3
ML:
#60H
清零子程序
@R1,
R1
MM:
#00H
清显示
SHIFT:
7FH
移位子程序
7EH
7DH
7CH
7BH
7AH
79H
KEY:
DPTR,
#7F01H
判断是否有键闭合
@DPTR,
A,
CPL
ANL
#0FH
单片机最小系统一般情况下运行起来不会很稳定,原因是没有加入看门狗等电路。
引电路非常简单,能帮助你学习和使用单片机。