微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机最小系统设计

单片机最小系统设计

时间:05-01 来源:互联网 点击:

下面还有有一个网上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、 设计时间:一周五、单片机最小系统总体方案设计提示

1、 可利用8031,RAM,ROM,8279构造单片机最小系统。

2、 可利用8031,RAM,ROM,8155构造单片机最小系统。

也可以利用AT89C51(或AT89C52),RAM,8155构造单片机最小系统。

请看我的程序然后修改 ,有问题可以在我们的论坛交流,qq群7344883

设Inter 8051片内RAM78H-7FH单元为显示缓冲区,依次从低到高存显示数据

ORG 0000H

AJMP MAIN

ORG 0080H

MAIN : MOV SP, #60H

MOV R0, #08H

MOV R1, #78H

LCALL ML ;调清零子程序

MOV R0, #64 ;清工作单元

MOV R1, #20H

LCALL ML

MOV A, #03H ; 8155的初始化

MOV DPTR, #7F00H

MOVX @DPTR,A

ST: MOV 78H, #0FFH ;显示P.

MOV 79H, #0FFH

MOV 7AH, #0FFH

MOV 7BH, #0FFH

MOV 7CH, #0FFH

MOV 7DH, #0FFH

MOV 7EH, #0FFH

MOV 7FH, #0CH

LM: LCALL DIS ;调显示显示P.

LCALL SHIFT ;调移位程序

LCALL LTIM ;调延时子程序

LCALL KD1 ;调键扫程序

INC R0

AJMP LM

DIS: MOV A, #03H ;显示程序

MOV DPTR, #7F00H

MOV @DPTR,A

MOV R0, #78H

MOV R3, #01H

MOV A, R3

LD0: MOV DPTR, #7F01H

MOVX @DPTR,A

INC DPTR

MOV A, @R0

DIR0: ADD A, #0DH

MOVC A, @A+PC

DIR1: MOVX @DPTR,A

LCALL DL

INC R0

MOV A, R3

JB ACC.5,LD1

RL A

MOV R3, A

LJMP LD0

LD1: RET

DSEG: DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH

DB 77H,7CH,39H,5EH,79H

DB 71H

DL1: MOV R7, #01H ;延时1ms

DL : MOV R6, #0FFH

DL6: DJNZ R6, DL6

DJNZ R7, DL

RET

KD1: LCALL DIS ;键盘扫描程序

KEY1: LCALL KEY

JNZ LK1

NI: ACALL DIS

AJMP KEY1

LK1: ACALL DIS ;有键闭合2次延时

ACALL DIS ;共12ms去抖动

ACALL K1

JNZ LK2

LCALL DIS

AJMP KEY1

LK2: MOV R2, #0FEH

MOV R4, #00H

LK4: MOV DPTR, #7F01H

MOV A, R2

MOVX @DPTR, A

INC DPTR

INC DPTR

MOVX A, @DPTR

JB ACC.0, LONE

MOV A, #00H

AJMP LKP

LONE: JB ACC.1, NEXT

MOV A, #08H

AJMP LKP

LKP: ADD A, R4 ;计算键码

PUSH ACC ;保护键码

LK3: ACALL DIS

ACALL K1 ;查键是否继续闭合,若闭合再延时

JNZ LK3

POP ACC

RET

NEXT: INC R4

MOV A, R2

JNB ACC.7, KLM

RL A

MOV R2, A

LJMP LK4 ;进行下一次扫描

KLM: AJMP KEY1 ;扫描完毕,开始新的一次

LTIM: MOV R5, 01H ;延时子程序

LP3: MOV R6, #0FFH

LP2: MOV R7, #0FFH

LP1: MOV R7, LP1

DJNZ R6, LP2

DJNZ R6, LP3

ML: MOV A, #60H ;清零子程序

MOV @R1, A

INC R1

DJNZ R0, ML

MM: MOV A, #00H ;清显示

MOV R0, #08H

MOV R1, #78H

LCALL ML

SHIFT: MOV 7EH, 7FH ;移位子程序

MOV 7DH, 7EH

MOV 7CH, 7DH

MOV 7BH, 7CH

MOV 7AH, 7BH

MOV 79H, 7AH

MOV 78H, 79H

KEY: MOV DPTR, #7F01H ;判断是否有键闭合

MOV A, #00H

MOVX @DPTR, A

INC DPTR

INC DPTR

MOVX A , @DPTR

CPL A

ANL A, #0FH

RET

单片机最小系统一般情况下运行起来不会很稳定,原因是没有加入看门狗等电路。引电路非常简单,能帮助你学习和使用单片机。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top