课程:微机接口技术 课程设计题目:单片机最小系统
一、设计题目:单片机最小系统
四、任务与要求:
在智能化仪器仪表中,控制核心均为微处理器,而单片机以高性能、高速度、体积小、价格低廉、稳定可靠而得到广泛应用,是设计智能化仪器仪表的首选微控制器,单片机结合简单的接口电路即可构成单片机最小系统,它是智能化仪器仪表的基础,也是测控。监控的重要组成部分。
本课题任务与要求如下:
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构造单片机最小系统。
请看我的程序然后修改 ,谢谢大家!有什么消息给我发邮件ziyouniao8417127@163.com
设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