单片机大作业

单片机大作业
单片机大作业

大连理工大学本科设计报告(单片机原理综合设计)

题目:

课程名称:单片机实验

学院(系):信通学院

专业:通信工程

班级:电通1202

学号:201201203

学生姓名:牛玉博

成绩:

20 15 年 5 月8 日

目录

1.题目及内容 (2)

2.设计思路 (2)

2.1数码管显示 (2)

2.2显示内容转换 (2)

2.3闪烁报警 (2)

2.4温度上下限的设置 (2)

2.5中断程序 (2)

3.相关资料 (3)

4.电路图 (3)

5.程序框图 (4)

5.1中断程序流程图 (4)

5.2主程序流程图 (6)

6.源程序 (6)

7.调试中所遇到的问题 (14)

8.调试解决了的问题. (14)

9.个人体会(总结) (14)

一、题目及内容

用汇编语言模拟电梯运动系统设计程序,要求有完成如下要求:利用zlg7290和pcf8563t以及A/D转换实现下述功能。

1.利用键盘改变显示内容(能读A/D转换值、读取时间),

并且闪烁显示3秒,变成稳定显示。

2.键盘设定温度上限值和下限制,当温度达到上限值后,

显示闪烁;同样,当温度达到下限值后,同样发出报警,

并闪烁。

3.当时间设定值达到设定值后,同样发出报警,并闪烁。

4.时间闪烁与温度闪烁时间长短有区别。

二、设计思路

1.数码管显示

通过ZLG7290B的数码管显示,将数据转换成BCD码,然后通过字形码的对应关系显示,通过中断程序每秒读取一次数据。

2.显示内容转换

通过开关控制显示的内容, SW1低是时间,在SW1时间的情况下,SW2高是年月日;SW1高是温度,在SW1温度情况下,SW2高显示温度上限,SW2低,SW3高显示温度下限

3.闪烁报警

当条件满足报警时,通过调用显示程序,通过控制闪烁控制字,控制数码管相应的位置闪烁。时间报警闪烁一分钟,温度报警一直闪烁。

4.温度上下限的设置

通过键值设置上下限,通过不同按键对应于上限和下限的设置,然后的键值通过一定计算赋给上下限的存储空间。

5.中断程序

两个中断,其中中断0用于每秒显示,中断1用于键值的读取。

三、相关资料

MCS-51单片机应用实验教程四、电路图

五、程序框图

图1 显示中断程序流程图

六、源程序

;**************************************************************** ;SW1低是时间,在SW1时间的情况下,SW2高是年月日

;SW1高是温度,在SW1温度情况下,SW2高显示温度上限,SW2低,SW3高显示温度下限

;****************************************************************

SDA BIT P1.0 ;I^2C引脚信号

SCL BIT P1.1

RST BIT P1.7 ;7290复位

SW BIT P1.2 ;年份显示

SW2 BIT P1.3 ;温度,时间转换

SW3 BIT P1.5 ;温度上限

DQ BIT P1.4 ;温度控制

TEMPER_L EQU 36H

TEMPER_H EQU 35H

TEMPER EQU 34H

TEMPER_NUM EQU 60H

TEMMAX EQU 61H

TEMMIN EQU 62H WSLA_7290 EQU 70H ;7290口地址RSLA_7290 EQU 71H

WSLA_8563 EQU 0A2H ;8563口地址RSLA_8563 EQU 0A3H

ADDR EQU 20H;数据缓冲区首地址DISDA EQU 40H;显示缓冲区DISCUNT EQU 08H ;显示缓冲区长度

FLAG1 BIT 00H

;**************************** ORG 8000H

LJMP MAIN

ORG 8003H ;INT0中断源

LJMP INT_7290

ORG 8013H

LJMP INT_KEY

ORG 8100H

MAIN: MOV SP,#70H

CLR

RST ;ZLG7290B复位

LCALL DELAY

SETB RST

;****************************

;设定PCF8563T的时间和命令参

;****************************

MOV 10H,#00H

MOV 11H,#1FH

MOV 12H,#50H

MOV 13H,#09H

MOV 14H,#50H

MOV 15H,#11H

MOV 16H,#05H

MOV 17H,#04H

MOV 18H,#15H

MOV 19H,#10H

MOV 1AH,#00H

MOV 1BH,#00H

MOV 1CH,#00H

MOV 1DH,#83H

;**************************** MOV TEMMAX,#40H ;温度上限初值MOV TEMMIN,#00H ;温度下限初值

MOV R7,#0EH

MOV R0,#10H

MOV R2,#00H

MOV R3,#WSLA_8563

LCALL WRNBYT

SETB EA

SETB EX0

SETB IT0

SETB EX1

SETB IT1

SJMP $

;****************************

;显示中断服务子程序

;****************************

INT_7290:

JB SW,WENDU

MOV R7,#07H

MOV R0,#20H

MOV R2,#02H

MOV R3,#WSLA_8563

MOV R4,#RSLA_8563

LCALL RDADD

MOV A,21H

CJNE A,19H,XIANSHI

MOV 50H,#70H ;闪烁

MOV 51H,#18H

MOV R7,#02H

MOV R0,#50H

MOV R2,#07H

MOV R3,#WSLA_7290

LCALL WRNBYT

MOV 53H,#00H ;设置闪烁频率

MOV R7,#01H

MOV R0,#53H

MOV R2,#0CH

MOV R3,#WSLA_7290

LCALL WRNBYT

XIANSHI:LCALL ADJUST

LCALL CHAIFEN

MOV R7,#08H

MOV R2,#10H

MOV R3,#WSLA_7290

JB SW2,YEARS

MOV R0,#38H

SJMP DISP

YEARS: MOV R0,#28H

DISP: LCALL WRNBYT

LJMP JIESHU

WENDU: JB SW2,TH

JB SW3,TL

MOV DISDA+7,#00H

MOV DISDA+6,#00H MOV DISDA+5,#00H

MOV DISDA+4,#00H

MOV DISDA+3,#00H LCALL GET_TEMPER

LCALL TEMPER_COV

MOV A,TEMPER

MOV B,#02H

DIV AB

MOV TEMPER,A

LCALL BCD_CONT

MOV R7,#DISCUNT

MOV R0,#DISDA

MOV R2,#10H

MOV R3,#WSLA_7290

LCALL WRNBYT

LCALL DELAY

CLR C

MOV A,TEMPER

ANL A,#7FH

SUBB A,TEMMAX

JC NEXT11

LCALL SHANSHUO1

LJMP JIESHU

NEXT11: CLR C

MOV A,TEMPER

ANL A,#7FH

SUBB A,TEMMIN

JNC JIESHU

LCALL SHANSHUO1

LJMP JIESHU

TH:

MOV DISDA+7,#6EH ;最高位显示H

MOV DISDA+6,#12H

MOV A,TEMMAX

LCALL BCD_CONT

MOV R7,#DISCUNT

MOV R0,#DISDA

MOV R2,#10H

MOV R3,#WSLA_7290

LCALL WRNBYT

LCALL DELAY

LJMP JIESHU

TL:

MOV DISDA+7,#1CH ;最高位显示L

MOV DISDA+6,#12H

MOV A,TEMMIN

LCALL BCD_CONT

MOV R7,#DISCUNT

MOV R0,#DISDA

MOV R2,#10H

MOV R3,#WSLA_7290

LCALL WRNBYT

LCALL DELAY

JIESHU: JNB P3.2,$ RETI

;**************************** ****

SHANSHUO1:

MOV 50H,#70H ;闪烁

MOV 51H,#07H

MOV R7,#02H

MOV R0,#50H

MOV R2,#07H

MOV R3,#WSLA_7290

LCALL WRNBYT

MOV 53H,#00H ;设置闪烁频率

MOV R7,#01H

MOV R0,#53H

MOV R2,#0CH

MOV R3,#WSLA_7290

LCALL WRNBYT

RETI

;**************************** ***********************

;键值控制温度上下限

;**************************** ***********************

INT_KEY:

PUSH 00H

PUSH 02H

PUSH 03H

PUSH 04H

PUSH 07H

PUSH ACC

PUSH PSW

LCALL DELAY

LCALL RDKEY

CJNE A,#0EH,XIAXIAN AKEY:

JB P3.3 ,$

LCALL RDKEY

CLR C

MOV 64H,A

SUBB A,#0AH

JNC AKEY

MOV A,64H

MOV B,#0AH

MUL AB

MOV R5,A

AKEY1: JB P3.3,$ ;以查询方式等待下一次按键操作

LCALL RDKEY

CLR C

MOV 64H,A

SUBB A,#0AH

JNC AKEY1

MOV A,64H

ADD A,R5

MOV TEMMAX,A

LJMP DOWN XIAXIAN:

CJNE A,#0FH,DOWN BKEY:

JB P3.3 ,$

LCALL RDKEY

CLR C

MOV 64H,A

SUBB A,#0AH

JNC BKEY

MOV A,64H

MOV B,#0AH

MUL AB

MOV R5,A

BKEY1: JB P3.3,$ ;以查询方式等待下一次按键操作

LCALL RDKEY

CLR C

MOV 64H,A

SUBB A,#0AH

JNC BKEY1

MOV A,64H

ADD A,R5

MOV TEMMIN,A

LJMP DOWN

DOWN: CLR IE1

POP PSW

POP ACC

POP 07H

POP 04H

POP 03H

POP 02H

POP 00H

RETI

;*********************** RDKEY:

MOV R0,#1FH

MOV R7,#01H

MOV R2,#01H

MOV R3,#WSLA_7290

MOV R4,#RSLA_7290

LCALL RDADD

MOV A,1FH

DEC A

RET

;**************************** ************************ CHAIFEN:PUSH PSW

PUSH ACC

PUSH 03H

PUSH 04H

MOV A,20H

LCALL CF

MOV 38H,R3

MOV 39H,R4

MOV 3AH,#02H

MOV A,21H

LCALL CF

MOV 3BH,R3

MOV 3CH,R4

MOV 3DH,#02H

MOV A,22H

LCALL CF

MOV 3EH,R3

MOV 3FH,R4

MOV A,23H

LCALL CF

MOV A,R3

ORL A,#01H

MOV R3,A

MOV 28H,R3

MOV 29H,R4

MOV A,25H

LCALL CF

MOV A,R3

ORL A,#01H

MOV R3,A

MOV 2AH,R3

MOV 2BH,R4

MOV A,26H

LCALL CF

MOV A,R3

ORL A,#01H

MOV R3,A

MOV 2CH,R3

MOV 2DH,R4

MOV 2EH,#0FCH

MOV 2FH,#0DAH

POP 04H

POP 03H

POP ACC

POP PSW

RET

;**************************** ************************ ADJUST: PUSH ACC

MOV A,20H

ANL A,#7FH

MOV 20H,A

MOV A,21H

ANL A,#7FH

MOV 21H,A

MOV A,22H

ANL A,#3FH

MOV 22H,A

MOV A,23H

ANL A,#3FH

MOV 23H,A

MOV A,24H

ANL A,#07H

MOV 24H,A

MOV A,25H

ANL A,#1FH

MOV 25H,A

POP ACC

RET

;############################ ###

;温度采集

;############################ ##

GET_TEMPER:

SETB DQ

BCD: LCALL INIT_1820

JB FLAG1,S22

LJMP BCD

S22: LCALL DELAY1

MOV A,#0CCH

LCALL WRITE_1820

MOV A,#44H

LCALL WRITE_1820

LCALL DELAY

CBA: LCALL INIT_1820

JB FLAG1,ABC

LJMP CBA

ABC: LCALL DELAY1

MOV A,#0CCH

LCALL WRITE_1820

MOV A,#0BEH

LCALL WRITE_1820

LCALL READ_18200

RET

;############################ ###

WRITE_1820:

MOV R2,#8

CLR C

WR1: CLR DQ

MOV R3,#6

DJNZ R3,$

RRC A

MOV DQ,C

MOV R3,#23

DJNZ R3,$

SETB DQ

NOP

DJNZ R2,WR1

SETB DQ

RET

;############################ READ_18200:

MOV R4,#2

MOV R1,#36H

RE00:MOV R2,#8

RE01:CLR C

SETB DQ

NOP

CLR DQ

NOP

NOP

SETB DQ

MOV R3,#2

DJNZ R3,$

MOV C,DQ

MOV R3,#23

DJNZ R3,$

RRC A

DJNZ R2,RE01

MOV @R1,A

DEC R1

DJNZ R4,RE00

RET

;############################ TEMPER_COV:

MOV A,#0F0H

ANL A,TEMPER_L

SWAP A

MOV TEMPER_NUM,A

MOV A,TEMPER_L

JNB ACC.3,TEMPER_COV1

INC TEMPER_NUM

;############################ TEMPER_COV1:

MOV A,TEMPER_H

ANL A,#07H

SWAP A

ADD A,TEMPER_NUM

MOV TEMPER_NUM,A

MOV TEMPER,TEMPER_NUM

RET

;############################ INIT_1820:

SETB DQ

NOP

CLR DQ

MOV R0,#80H

TSR1: DJNZ R0,TSR1

SETB DQ

MOV R0,#25H

TSR2: DJNZ R0,TSR2

JNB DQ,TSR3

LJMP TSR4

TSR3: SETB FLAG1

LJMP TSR5

TSR4: CLR FLAG1

LJMP TSR7

TSR5: MOV R0,#06BH

TSR6: DJNZ R0,TSR6

TSR7: SETB DQ

RET

;############################ ;延时子程序

;############################ DELAY1:

MOV R7,#20H

DJNZ R7,$

RET

;########################### DELAY: PUSH 00H

PUSH 01H

MOV R0,#00H

LP: MOV R1,#00H

DJNZ R1,$

DJNZ R0,LP

POP 01H

POP 00H

RET

;************************** ;BCD转换

;**************************

BCD_CONT:

PUSH 07H

PUSH 06H

PUSH 05H

PUSH 02H

MOV B,#64H

DIV AB

MOV R7,A

MOV R2,B

MOV A,R2

MOV B,#0AH

DIV AB

MOV R6,A

MOV R5,B

MOV A,R7

LCALL CF

MOV DISDA+2,R3

MOV A,R6

LCALL CF

MOV DISDA+1,R3

MOV A,R5

LCALL CF

MOV DISDA+0,R3

POP 02H

POP 05H

POP 06H

POP 07H

RET

;**************************** *

CF: PUSH 02H

PUSH DPH

PUSH DPL

MOV DPTR,#LEDSEG

MOV R2,A

ANL A,#0FH

MOVC A,@A+DPTR

MOV R3,A

MOV A,R2

SWAP A

ANL A,#0FH

MOVC A,@A+DPTR

MOV R4,A

POP DPL

POP DPH

POP 02H

RET

;**************************** LEDSEG: DB

0FCH,60H,0DAH,0F2H,66H,0B 6H,0BEH,0E4H

DB

0FEH,0F6H,0EEH,3EH,9CH,7A H,9EH,8EH

;**************************** ;IIC总线通讯子程序

;**************************** WRNBYT: PUSH PSW

PUSH ACC

WRADD: MOV A,R3

LCALL STA

LCALL WRBYT

LCALL CACK

JB F0,WRADD

MOV A,R2

LCALL WRBYT

LCALL CACK

JB F0,WRADD

WRDA: MOV A,@R0

LCALL WRBYT

LCALL CACK

JB F0,WRADD

INC R0

DJNZ R7,WRDA

LCALL STOP

POP ACC

POP PSW

RET

;**************************** STA: SETB SDA

SETB SCL

NOP

NOP

NOP

NOP

NOP

CLR SDA

NOP

NOP

NOP

NOP

NOP

CLR SCL

RET

;**************************** WRBYT: PUSH 06H

MOV R6,#08H

WLP: RLC A

MOV SDA,C

SETB SCL

NOP

NOP

NOP

NOP

NOP

CLR SCL

DJNZ R6,WLP

POP 06H

RET

;**************************** CACK: SETB SDA

SETB SCL

CLR F0

MOV C,SDA

JNC CEND

SETB F0

CEND: CLR SCL

RET

;**************************** STOP: CLR SDA

SETB SCL

NOP

NOP

NOP

NOP

NOP

SETB SDA

NOP

NOP

NOP

NOP

NOP

SETB SCL

SETB SDA

RET

;**************************** RDADD: PUSH PSW

PUSH ACC

RDADD1: LCALL STA

MOV A,R3

LCALL WRBYT

LCALL CACK

JB F0,RDADD1

MOV A,R2

LCALL WRBYT

LCALL CACK

JB F0,RDADD1

LCALL STA

MOV A,R4

LCALL WRBYT

LCALL CACK

JB F0,RDADD1

RDN: LCALL RDBYT

MOV @R0,A

DJNZ R7,ACK

LCALL MNACK

LCALL STOP

POP ACC

POP PSW

RET

ACK: LCALL MACK

INC R0

SJMP RDN

;**************************** RDBYT: PUSH 06H

MOV R6,#08H

RLP: SETB SDA

SETB SCL

;**************************** NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

NOP

;*************************** MOV C,SDA

MOV A,R2

RLC A

MOV R2,A

CLR SCL

DJNZ R6,RLP

POP 06H

RET

;**************************** MACK: CLR SDA

SETB SCL

NOP

NOP

NOP

NOP

NOP

CLR SCL

SETB SDA

RET

;**************************** MNACK: SETB SDA

SETB SCL

NOP

NOP

NOP

NOP

NOP

CLR SCL

CLR SDA

RET

;*************************** END

七、调试中所遇到的问题

1.温度DQ占用了中断P3.3导致无法使用两个中断

2.P1口使用太多,无法连接步进电机

3.键盘输入接触不好,导致温度上下限的输入不准确

4.中断太长,有时会程序卡死

5.显示时间温度报警不起作用

6.没有时间设置模块

八、调试解决了的问题

a)将DQ连接到P1.4口,解放中断口来使用中断程序

b)判断键盘输入值是否在指定范围内,如果不在继续按键

c)将开关的功能改在按键实现

九、个人体会(总结)

经过这几周的单片机实验课程,进一步掌握了汇编语言的编写,虽然我们没有正式的上单片机的理论课,但是基于计算机原理的学习,我们还是能胜任单片机程序的编写工作,这次的综合设计丰富了我对

汇编语言的一些经验,同时锻炼了自己的动手能力。

这次汇编语言来设计的编写,我将平时做了很多实验的小程序汇总到了一起,利用不同程序的不同模块,有机结合,并加上自己的思路,完成了此次程序设计。因此明白了以前老师经常强调的模块化的重要性。在微机原理程序设计过程中,很多子程序的设计是固定的,因此可以直接从指导资料中调用,大多只需要修改几个参数就可以,这大大方便了我们的设计,为我们节省了很多的时间。

对于I2C总线的理解非常重要,我们的设计应该更多的考虑工程使用的问题,考虑用户的问题,不应该自己觉得困难就选择一个更简单的方法来完成设计。

在整个程序设计的过程中,从最初对单片机的一点了解,到最后使用单片机实现我们的要求,在这三周的磨练中使我们无论是知识上,还有心智上,都收获颇多。也感谢老师不辞辛苦的教导与帮助。通过此次实验课程得到的收获,相信都会是以后的道路上一笔宝贵的财富。

单片机原理及应用(大作业)

网络教育学院《单片机原理及应用》大作业 题目:单片机电子时钟设计 学习中心:奥鹏福州直属 层次:专科起点本科 专业:电气工程及其自动化 年级: 14年03 学号: 141024309020 学生姓名:郑建

一、课题背景 1、数字电子钟的发展 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 2、数字电子钟的原理 数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟

完整word版,C语言期末大作业

伊犁师范学院计算机科学系 实验训项目报告 一、小组成员及分工: 姓名:张雁 学号:0908******* 二、指导老师:王慧玲 三、说明程序编制要点,以及自己在项目制作中的难 点及解决办法: 编写的要点:编写N个函数分别用来求平均分;总分按降许序排列;按姓名查找学生的成绩;找出各科 最高分的学生姓名,学号等。编写主函数提供不 同的选择途径。 难点:函数之间的调用,姓名的比较和交换。 解决办法:通过参数的传递;用字符串处理函数。 四、说明项目中所涉及的知识点及难点: 知识点:基础知识,结构体,选择结构程序设计,循环结构程序设计,数组,字符数组,常用的字符串处理函数,函数的调用。 难点:函数的调用,循环程序设计。

五、附录源程序: 注:必须有一定的注释,说明函数功能以及主要语句所起的作用 #include "stdio.h" #include "string.h" #define m 5 void search(); /*声明按姓名查找学生的信息*/ void ave(); /*声明turn out average*/ void paixu(); /* 声明score pai mingci*/ void maxandmin(); /*声明maxandmin score student's number,name and every course score*/ struct student /*声明define a struct*/ { int num; /*student’s number */ char name[10]; int math,english,chinese; /*three course score*/ int no; /* student mingci*/ float sum; float ave; }stu[m]; main() { int i; int q=0,p;

大工18秋《单片机原理及应用》大作业题目及要求【标准答案】

网络教育学院 《单片机原理及应用》大作业 题目:交通灯控制系统设计 学习中心: XXX 层次: XXX 专业: XXX 年级: XXX 学号: XXX 学生姓名: XXX

交通灯控制系统设计 一、课题背景 由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。 二、交通灯的发展 1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街道的第一盏信号灯。 1914年,在美国的克利夫兰市才率先恢复了红绿灯,不过,这时已是“电气信号灯”。稍后又在纽约和芝加哥等城市,相继重新出现了交通信号灯。 随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。 中国最早的马路红绿灯,是于1928年出现在上海的英租界。 三、交通灯控制系统工作原理 本系统运用单片机对交通灯控制系统实施控制,通过直接控制信号灯的状态变化,指挥交通的具体运行,运用了LED数码管显示倒计时以提醒行驶者,更添加了盲人提示音电路,方便视力障碍群体通行,更具人性化。在此基础上,加入了特种车辆自动通行控制模块和车流量检测电路为系统采集数据,经单片机进行具体处理,及时调整通行方向。由此,本设计系统以单片机为控制核心,构成最小系统,根据特种车辆自动通行控制模块、车辆检测模块和按键设置模块等产生

郭天祥_十天学通单片机_所有课后作业+答案

lesson1 对照TX-1C单片机学习板原理图写程序 用位操作和总线操作两种方法完成以下题目 1.熟练建立KEIL工程 2.点亮第一个发光管. 3.点亮最后一个发光管 4.点亮1、3、5、7 5.点亮二、四、五、六 6.尝试让第一个发光管闪烁 7.尝试设计出流水灯程序 ====================================== ====================================== ====================================== ==== lesson2 第一个发光管以间隔200ms闪烁 8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。 8个发光管来回流动,第个管亮100ms,流动时让蜂鸣器发出“滴滴”声。

用8个发光管演示出8位二进制数累加过程。 8个发光管间隔200ms由上至下,再由下至上,再重复一次,然后全部熄灭再以300ms间隔全部闪烁5次。重复此过程。 间隔300ms第一次一个管亮流动一次,第二次两个管亮流动,依次到8个管亮,然后重复整个过程。 间隔300ms先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;8个全部闪烁3次;关闭发光管,程序停止。 ====================================== ====================================== ====================================== ==== lesson3 1、利用定时/计数器T0从P1.0输出周期为1s的方波,让发光二极管以1HZ闪烁,设晶振频率为12MHz。。 2、利用定时/计数器T1产生定时时钟,由P1口控制8个发光二极管,使8个指示灯依次一个一个闪动,闪动频率为10次/秒(8个灯依次亮一遍为一个周期),循环。 3、同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms依次输出1,10,50,100,200,400,800, 1k(hz)的方波。

单片机大作业

大连理工大学本科设计报告(单片机原理综合设计) 题目: 课程名称:单片机实验 学院(系):信通学院 专业:通信工程 班级:电通1202 学号:201201203 学生姓名:牛玉博 成绩: 20 15 年 5 月8 日

目录 1.题目及内容 (2) 2.设计思路 (2) 2.1数码管显示 (2) 2.2显示内容转换 (2) 2.3闪烁报警 (2) 2.4温度上下限的设置 (2) 2.5中断程序 (2) 3.相关资料 (3) 4.电路图 (3) 5.程序框图 (4) 5.1中断程序流程图 (4) 5.2主程序流程图 (6) 6.源程序 (6) 7.调试中所遇到的问题 (14) 8.调试解决了的问题. (14) 9.个人体会(总结) (14)

一、题目及内容 用汇编语言模拟电梯运动系统设计程序,要求有完成如下要求:利用zlg7290和pcf8563t以及A/D转换实现下述功能。 1.利用键盘改变显示内容(能读A/D转换值、读取时间), 并且闪烁显示3秒,变成稳定显示。 2.键盘设定温度上限值和下限制,当温度达到上限值后, 显示闪烁;同样,当温度达到下限值后,同样发出报警, 并闪烁。 3.当时间设定值达到设定值后,同样发出报警,并闪烁。 4.时间闪烁与温度闪烁时间长短有区别。 二、设计思路 1.数码管显示 通过ZLG7290B的数码管显示,将数据转换成BCD码,然后通过字形码的对应关系显示,通过中断程序每秒读取一次数据。 2.显示内容转换 通过开关控制显示的内容, SW1低是时间,在SW1时间的情况下,SW2高是年月日;SW1高是温度,在SW1温度情况下,SW2高显示温度上限,SW2低,SW3高显示温度下限 3.闪烁报警 当条件满足报警时,通过调用显示程序,通过控制闪烁控制字,控制数码管相应的位置闪烁。时间报警闪烁一分钟,温度报警一直闪烁。 4.温度上下限的设置 通过键值设置上下限,通过不同按键对应于上限和下限的设置,然后的键值通过一定计算赋给上下限的存储空间。 5.中断程序 两个中断,其中中断0用于每秒显示,中断1用于键值的读取。

单片机习题答案

单片机原理及应用作业参考答案 1.2 单片机的结构特点表现在哪些主要方面? . 单片机的结构特点表现在哪些主要方面? 答: (1)在存储器结构上,严格将程序存储器和数据存储器在空间上分开,并使用不同的寻址方式,使用两个不同的地址指针; (2)在内部有一个全双工的串行接口; (3)有一个独立进行操作的位处理器. 1.4 通用单片机的供应状态主要取决于什么?供应状态有哪几种?用户选用单片机的供应状态的原则. 通用单片机的供应状态主要取决于什么?供应状态有哪几种? 是什么? 是什么? 答:通用单片机的供应状态主要取决于片内ROM 的配置状态. (1)片内ROM 的配置状态掩膜ROM,适合于低成本.大批量产品的场合(2)片内EPROM 配置状态可通过高压脉冲写入应用程序到EPROM,适合于开发样机,小批量生产. (3)片内无ROM 配置状态必须外扩EPROM,价格低,使用灵活,适合于需要外接能在现场进行修改和更新程序存储器的应用场合. 2.3 单片机的EA 端有何功用?8031 的EA 端应如何处理,为什么? . 端有何功用? 端应如何处理,为什么? 答: EA 端是访问外部程序存储器的控制信号:当EA 无效时,访问内部ROM,当EA 为有效时,访问外部ROM.由于8031 没有内部ROM,所以EA 端必须接低电平. 2. MCS-51 引脚中有多少I/O 线?它们与单片机对外的地址总线, . 4 它们与单片机对外的地址总线, 数据总线和控制总线有什么关系? - 数据总线和控制总线有什么关系? 地址总线和数据总线各是几位? 地址总线和数据总线各是几位? 答:MCS-51 引脚中有32 根I/O 线,一般由P0 口提供单片机对外的数据总线,同时作为分时复用的地址总线的低8 位, P2 口作为地址总线的高8 位, 由控制总线由第二功能的状态下的P3 口以及RST, , EA ALE 和PSEN 提供. 2.5 8051 单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点? . 单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点? 答:数据存储器主要分为两个区域:00H~7FH 是真正的RAM 区,80H~FFH 专门用作特殊功能寄存器的区域. 其中00H~7FH 可分为三个区域: 00H~1FH 为四组工作寄存器; 20H~2FH 为128 位位寻址区, 30H~7FH 为一般RAM 区. 2.6 单片机对外有几条专用控制线?其功能是怎样的? . 单片机对外有几条专用控制线?其功能是怎样的? 答:单片机对外的专用控制线有 4 条,分别是: (1) PSEN : 外部取指操作,在访问外部ROM 时, PSEN 信号自动产生; (2)ALE/ PROG :ALE 为地址锁存允许信号,在访问外部ROM 或RAM 时,用来锁存P0 口的低8 位地址.第二功能PROG 是对8751 的EPROM 编程时,编程脉冲输入. 1 (3) EA /VPP: EA 是访问外部程序存储器的控制信号, EA 无效时,访问内部ROM, EA 有效时,访问外部ROM,第二功能VPP 为对8751EPROM 的21V 编程电源输入. (4)RST/VPD:RST 是复位信号输入端,第二功能VPD 是备用电源输入端. 2.8 有哪几种方法使单片机复位?复位后各寄存器,RAM 中的状态如何? 中的状态如何? . 有哪几种方法使单片机复位?复位后各寄存器, 答:单片机的复位方式有两种,上电自动复位和按钮复位.复位后各寄存器状态为: PC 0000H ACC 00H PSW 00H SP 07H DPTR 0000H P0~P3FFH IP XX000000B IE 0X000000B TMOD 00H TCON 00H TL0 00H TH0 00H TL1 00H TH1 00H SCON 00H SBUF XXH PCON 0XXX0000B 2.9 在8051 扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址,是否会在数据总线扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址, . 上出现争总线的现象?为什么? 上出现争总线的现象?为什么? 答:不会发生争总线的现象,因为从外部ROM 取指令需要用ALE 和PSEN 信号控制读取操作,由P2 和P0 提供地址;而片外数据存储器的读写除了地址之外还要RD , WR 控制,所以不会争总线. 2.10 如果8051 端口P0~P3 作为通用I/O 口使用,则在输入引脚数据时应注意什么? . 口使用,则在输入引脚数据时应注意什么? ~答:8051 的P1,P2 和作为一般输入I/O 口的P 以及第一功能的P3 口均为准双向口,在输入数据时应先向端口写1,然后方可作为高阻输入.以使其场效应管T2 截止,才不会影响输入电平. 3.2 若要完成以下的数据传送,应如何用MCS-51 的指令实现? . 若要完成以下的数据传送, 的指令实现? (1)R1 的内容传送到R0 (5)ROM2000H 单元的内容传送到R0 MOV

单片机大作业

单片机大作业 物流卓 1.LED闪烁实例 LED闪烁实例中使用51单片机控制8个LED间隔亮灭,形成闪烁效果,在实例中51单片机通过一个延时程序控制P1端口轮流输出高电平和低电平,驱动发光二极管的发光和熄灭。 程序代码使用两个嵌套的for循环语句来控制延时,当到达延时之后使P1输出电平翻转。 下图为电路设计图 以下为控制代码

2.流水数字 流水数字是一个51单片机使用I/O引脚驱动8段数码管,数码管轮流显示“0”~”F”数字或者字符。单位8段共阳数码管的公共端连接到VCC上,数码管的8位数据引脚则连接到P1的八个引脚上,使用1K欧姆的电阻限流,51单片机通过P1引脚将对应字符的字形编码送出供数码管显示。 下图为电路设计图 以下为程序代码

3.多位数字显示 本实例使用51单片机驱动6位数码管显示”123456”6位数字,51单片机用P1给6个8段数码管提供字形编码,而用P2.0~P2.5共6个引脚通过PNP三极管来选通对应的数码管显示。在控制程序中,为了精确的控制延时时间的时间以便造成“扫描”效果,使用Delayms 和Delayus两个函数来控制精确延时。 下图为电路设计图 以下为程序代码

4.轮流加热显示系统 轮流加热显示系统是一个用51单片机控制3个继电器轮流接通,给3个设备加热5s并且使用一位数码管来显示当前加热设备的编号。 51单片机用P2端口通过ULU2803驱动3个工作电压为5V的继电器,用P1口驱动一个数码管用于显示当前接通的继电器的编号。 下图为电路设计图

以下为程序代码

5.定时报警实例 本实例是让51单片机没隔10min控制蜂鸣器报警,51单片机使用P2.7引脚通过一个NPN三极管驱动蜂鸣器,当P2. 7输出高电平时三极管导通,蜂鸣器发声。 51单片机使用P2. 7通过三极管控制蜂鸣器,当输出高电平时三极管导通蜂鸣器发声,使用Delayms函数来进行毫秒级延时,使用Delayus函数来进行微秒级延时,当10min延时到达,蜂鸣器打开100ms 下图为电路设计图 以下为程序代码

单片机大作业

单片机大作业 课题名称简易楼道灯电费计价系统 院、系、 自动化与电气工程学院部 专业电气工程及其自动化 班级 姓名 学号 指导教师

1.作业背景 城市居民楼内一般安装有楼道灯,方便夜间居民上下楼,其工作特点是人来灯亮,人走灯灭。以热释电型楼道灯为例,其基本工作原理是:热释电传感器能检测人体是否进入感应范围,当人体未进入感应范围,即离楼道灯还有一定距离时,传感器输出低电平;当人体进入感应范围,即靠近楼道灯时,传感器输出高电平。根据传感器的输出,单片机可决定是否点亮楼道灯。由于楼道灯属本单元全体居民共用,为便于电费结算,现要求设计一套简易楼道灯电费计价系统,系统能自动计算楼道灯在一个月内的总点亮时间,并据此计算出应缴电费额度。 2.作业要求 系统由电源电路、热释电传感器、单片机、按键以及显示器组成,楼道灯供电为220市电,功率2kW(实际灯泡功率一般不会这么大。考虑到实验演示时间有限,故假设此灯泡功率为该值)。其中电源采用5V,热释电传感器的输出采用按键按下与否进行模拟,单片机采用51,显示器采用4位数码管,电价按5.86元/千瓦时(实际电价一般为0.58。考虑到实验演示时间有限,故假设电价为该值),要求电费计算精度精确到0.01元。用户可用按键查询本月楼道灯总点亮时间(精度0.01小时),以及本月总电费。 3.硬件部分 (1)仿真电路图 (2)实物电路图:

(3) 元器件列表 STC89C52RC 一个 按钮开关3个四位共阳数码管1个12M晶振1个CS9012三极管1个 二极管1个ZS230-25G灯泡1个HK4 100F-DC5V-SHG继电器1个接线端子1个3906PNP三极管4个 电容、电阻若干

单片机重点作业题答案整理-图文

单片机重点作业题答案整理-图文 以下是为大家整理的单片机重点作业题答案整理-图文的相关范文,本文关键词为单片机,重点,作业,答案,整理,图文,第一章,给出,列有,号,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。 第一章 1.给出下列有符号数的原码、反码和补码(假设计算机字长为8位)。

+45-89-6+112 答:【+45】原=00101101,【+45】反=00101101,【+45】补=00101101【-89】原=11011001,【-89】反=10100110,【-89】补=10100111【-6】原=10000110,【-6】反=11111001,【-6】补=11111010【+112】原=01110000,【+45】反=01110000,【+45】补=011100002.指明下列字符在计算机内部的表示形式。 AsendfJFmdsv120 答:41h73h45h4eh64h66h4Ah46h6Dh64h73h76h31h32h30h3.什么是单片机? 答:单片机是把微型计算机中的微处理器、存储器、I/o接口、定时器/计数器、串行接口、中断系统等电路集成到一个集成电路芯片上形成的微型计算机。因而被称为单片微型计算机,简称为单片机。 4.单片机的主要特点是什么?答:主要特点如下: 1)在存储器结构上,单片机的存储器采用哈佛(harvard)结构2)在芯片引脚上,大部分采用分时复用技术 3)在内部资源访问上,采用特殊功能寄存器(sFR)的形式4)在指令系统上,采用面向控制的指令系统5)内部一般都集成一个全双工的串行接口6)单片机有很强的外部扩展能力 5.指明单片机的主要应用领域。 答:单机应用:1)工业自动化控制;2)智能仪器仪表;3)计算机外部设备和智能接口;4)家用电器 多机应用:功能弥散系统、并行多机处理系统和局部网络系统。

单片机期末总结材料 最完整版

单片机期末复习总结 1.MCS-51单片机芯片包含哪些主要功能? 8051单片机是个完整的单片微型计算机。芯片部包括下列主要功能部件: 1)8位CPU; 2)4KB的片程序存储器ROM。可寻址64KB程序存储器和64KB外部数据存储器; 3)128B部RAM; 4)21个SFR; 5)4个8位并行I/O口(共32位I/O线); 6)一个全双工的异步串行口; 7)两个16位定时器/计数器;0 8)5个中断源,两个中断优先级; 9)部时钟发生器。 2.MCS-51单片机的4个I/O口在使用上各有什么功能? 1)P0口:8位双向三态端口,外接上拉电阻时可作为通用I/O口线,也可在总线外扩时用作数据总线及低8位地址总线。 2)P1口:8位准双向I/O端口,作为通用I/O口。 3)P2口:8位准双向I/O端口,可作为通用I/O口,也可在总线外扩时用作高8位地址总线。 4)P3口:8位准双向I/O端口,可作为通用I/O口,除此之外,每个端口还有第二功能。实际应用中常使用P3口的第二功能。 P3的第二功能:

【注】:P0口必须接上拉电阻; I/O口准双向:MCS-51单片机I/O口做输入之前要先输出1.这种输入之前要先输出1的I/O口线叫做准双向I/O口,以区别真正的输入,输出的双向I/O口。 3. MCS-51单片机的存储器分为哪几个空间?是描述各空间作用? 8051存储器包括程序存储器和数据存储器,从逻辑结构上看,可以分为三个不同的空间: 1)64KB片片外统一编址的程序存储器地址空间,地址围:0000H~FFFFH,对于8051单片机,其中地址0000H~0FFFH围为4KB的片ROM地址空间,1000H ~ FFFFH为片外ROM 地址空间; 2)256B的部数据存储器地址空间,地址围为00H~FFH,对于8051单片机,部RAM分为两部分,其中地址围00H ~ 7FH(共128B单元)为部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域;对于8052系列单片机还有地址围为80H~FFH的高128B的静态RAM。 3)64KB的外部数据存储器地址空间:地址围为0000H~FFFFH,包括扩展I/O端口地址空间。

单片机作业及参考答案

习题1、BCD 码加法编程。 X 、Y 为4位压缩BCD 码,求 Z=X+Y 。 设X 存在片内RAM 40H 、41H 单元,Y 存在42H 、43H 单元,编程求 Z=X+Y ,并存入片内RAM 单元44H 、45H 、46H 。 ADB :MOV A ,40H ADD A ,42H DA A MOV 44H ,A MOV A ,41H ADDC A ,43H DA A MOV 45H ,A MOV A ,#0 ADDC A ,#0 MOV 46H ,A RET 习题2:编程求双字节减法。设X 、Y 存在片内 RAM 40H 起始单元,计算Z=X-Y 。 SUBD :CLR C MOV A ,40H SUBB A ,42H MOV 44H ,A MOV A ,41H SUBB A ,43H MOV 45H ,A MOV A ,#0 SUBB A ,#0 MOV 46H ,A RET 习题3:编程完成对DPTR 的减1操作. MOV A ,DPL CLR C SUBB A ,#1 MOV DPL ,A MOV A ,DPH SUBB A ,#0 MOV DPH ,A 习题4:如何将累加器A 中的数据高4位清0,低位不变? ANL A ,#0FH 习题5:如何将寄存器R2中的数据奇数位取反,偶数位不变? MOV A ,R2 XRL A ,#10101010B MOV R2,A ;取被加数低字节 ;加上加数低字节 ;BCD 十进制调整 ;保存和的低字节 ;取被加数高字节 ;加上加数高字节 ;BCD 十进制调整 ;保存和的高字节 ;求高字节进位 ;子程序结束 ;清借位标志 ;取被减数低字节 ;减去减数低字节 ;保存差的低字节 ;取被减数高字节 ;减去减数高字节 ;保存差的高字节 ;保存差的借位标志 ; ;子程序结束

单片机大作业 - 马强

《单片机原理与应用》 大作业 班级:1411电科 姓名:马强 学号:2016511010

《单片机原理与应用》大作业(一)作业内容: 基于STC89C51单片机设计一个流水灯项目。实现功能:(1)实现LED灯的点亮和熄灭。 (2)实现LED灯的依次点亮。 (3)实现LED灯的循环点亮。 基于以上要实现的目标我进行了设计和分析,代码如下:#include #include #define uchar unsigned char #define uint unsigned int void delay(uint); uchar tmp,i; void main() { tmp=0x7f; P0=tmp; for(i=0;i<7;i++) { tmp=_cror_(tmp,1); delay(500); P0=tmp; } P0=0xfe; for(i=0;i<7;i++) { tmp=_crol_(tmp,1); delay(500); P0=tmp; }

} void delay(z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 仿真结果: 点亮一个LED 依次点亮

循环点亮结论:

《单片机原理与应用》大作业(二) 作业内容: 基于STC89C51单片机设计一个按键控制数码管项目。实现功能: (1)数码管的点亮。 (2)按键按下检测。 (3)按键“K1”按下数码管以2Hz的频率循环显示0 ~ F,按键“K2”按下则数码管停止自动循环显示并以当前值为基础按下加一。 基于以上要实现的目标我进行了设计和分析,代码如下:、 /***************************************************************** *****/ #include #define uchar unsigned char uchar code table[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46 ,0x21,0x06,0x0e}; void k1(); void k2(); sbit key1=P3^0; sbit key2=P3^1; unsigned int i; void delay(unsigned int xms) { unsigned int x, y; for(x=xms;x>0;x--) for(y=110;y>0;y--); } void delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--);

单片机作业习题答案

作业习题答案 《单片机应用技术》部分习题与参考答案 第1章单片机概述 1-1什么是嵌入式系统?嵌入式系统的硬件和软件各包括哪些容? 答: 以应用为中心,以计算机技术为基础,软/硬件可剪裁,针对具体应用系统,对功能、可靠性,成本、体积、功耗严格要求的专用计算机系统称为嵌入式计算机系统。简称为嵌入式系统。 嵌入式系统的硬件包括:嵌入式处理器、存储器和外部设备器件、输入输出接口、图形控制器等。软件包括操作系统和应用程序。 嵌入式系统是专用的计算机系统,嵌入式系统的核心是嵌入式处理器,单片机是嵌入式处理器的典型代表。 1-2 什么叫单片机?一个完整的单片机芯片至少有哪些部件? 答:将微处理器(CPU)、存储器、定时/计数器及输入输出接口电路等部件集成在一块集成电路上,称为单片微型计算机,简称单片机。一个完整的单片机芯片至少有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口等部件。 1-3嵌入式处理器有何特点?嵌入式处理器分为哪几类? 答:嵌入式处理器对实时和多任务系统有和强的支持能力、对存储区保护功能强、具有可扩展的处理器结构及低功耗等特点。 嵌入式处理器分为:嵌入式微处理器、微控制器、嵌入式DSP处理器和片上系统等。 1-4 单片机系统的开发过程分为那几步进行? 答:1.硬件的设计与调试。2 应用程序的设计和调试。3系统联调。4程序的固化。5.脱机运行。 1-5 Intel 公司的主要单片机产品分为哪几大系列?各系列的区别何在? 答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列产品; 48系列的单片机在片集成4位CPU,片含有多种I/O接口,有的根据不同用途还配有许多专用接口,价格便宜,控制功能强。 51系列的单片机在片集成8位CPU、片RAM为128字节,ROM为4K字节,4个并行I/O口、2个16位定时/计数器、串行接口、5个中断源。 96系列单片机CPU为16位,片RAM为232字节,ROM为8K字节,片带有高速输入输出部件,多通道10位A/D转换部件,中断处理为8级。 1-6 叙述51子系列与52子系列的区别? 答:51子系列包含8031/8051/8751三种型号,它们的基本组成、基本性能都相同,都具有一个8位CPU、片数据存储器RAM128B、2个16位定时/计数器、有5个中断源,一个全双工串行接口,它们之间的区别在于片程序存储器配置:8031片没有ROM,使用时需在片外接EPROM。8051片含有4KB的掩模ROM,其中的程序是生产厂家制作芯片时烧制的。8751片含有4KB的EPROM,用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序。 52子系列包含8032/8052/8752三种型号,52子系列与51子系列的区别

单片机期末考试试题(答案)

单片机期末考试试题(答案) 01、单片机就是将微处理器、一定容量得 RAM与ROM以及 I/O 口、定时器等电路集成在一块芯片上而构成得微型计算机. 2、单片机89C51片内集成了 4 KB得FLASH ROM,共有 5 个中断源。 3、两位十六进制数最多可以表示 256 个存储单元。 4、89C51就是以下哪个公司得产品?(C) A、INTEL B、AMD C、ATMEL D、PHILIPS 5、在89C51中,只有当EA引脚接高电平时,CPU才访问片内得Flash ROM. 6、就是非题:当89C51得EA引脚接低电平时,CPU只能访问片外ROM,而不管片内就是否有程序存储器。T 7、就是非题:当89C51得EA引脚接高电平时,CPU只能访问片内得4KB空间。F 8、当CPU访问片外得存储器时,其低八位地址由P0 口提供,高八位地址由P2 口提供,8位数据由 P0 口提供。 9、在I/O口中,P0口在接LED时,必须提供上拉电阻, P3 口具有第二功能。 10、就是非题:MCS-51系列单片机直接读端口与读端口锁存器得结果永远就是相同得。F 11、就是非题:就是读端口还就是读锁存器就是用指令来区别得。T 12、就是非题:在89C51得片内RAM区中,位地址与部分字节地址就是冲突得。F 13、就是非题:中断得矢量地址位于RAM区中。F 14、MCS-51系列单片机就是属于( B )体系结构. A、冯诺依曼 B、普林斯顿 C、哈佛 D、图灵 15、89C51具有64 KB得字节寻址能力。 16、就是非题:在89C51中,当CPU访问片内、外ROM区时用MOVC指令,访问片外RAM区时用MOVX指令,访问片内RAM区时用MOV指令.T 17、在89C51中,片内RAM分为地址为 00H~7FH得真正RAM区,与地址为80H~FFH 得特殊功能寄存器(SFR)区两个部分。 18、在89C51中,通用寄存器区共分为 4 组,每组8个工作寄存器,当CPU复位时,第0组寄存器为当前得工作寄存器. 19、就是非题:工作寄存器区不允许做普通得RAM单元来使用。F

单片机大作业

单片机原理与应用 学号: 学生所在学院: 学生姓名: 任课教师: 教师所在学院:航空制造工程学院 2014年6月 13y8

基于单片机控制的可调电子数字钟 陈成龙 南昌航空大学航制学院 摘要:单片机是现代电子技术的新兴领域,它的出现极大地推动了电子工业的发展,已成为电子系统设计中最普遍的应用手段。设计单片机应用系统时,在完成硬件系统设计之 后,必须配备相应的应用软件。Proteus软件的应用使单片机可以直接在基于原理图进 行虚拟模拟上,并和μVision共同编程,编译,仿真调试,使单片机学习的学习过程 变得直观形象。 关键词:单片机ProteusμVision仿真调试 1.功能要求 利用89C51单片机内的定时器,设计一台可调数字钟,能通过按键进行时、分、秒的调整,采用8位LED数码管以24小时方式进行显示。 2.硬件电路设计 可调数字钟的硬件电路如图1所示。89C51单片机的P0口通过三态总线收发器74LS245接到8位共阴极LED数码管的数字输入端,单片机的P3作为数码管的数位控制,从P0口输出显示字符段码,从P3口输出循环扫描控制位,利用人眼的视觉暂留功能,达到8位数码管同时显示的效果。单片机的P1.0-P1.2引脚通过三个按钮开关接地,通过判断P1.0-P1.2引脚电平的高低,决定是否进行数字钟的时、分、秒调整。 3.软件程序设计 本设计利用89C51单片机内定时器T0中断来实现数字钟功能,T0定时时间设为50ms,每隔50ms产生一次中断,如果中断20次即到达1秒。程序设计时预先安排时、分、秒内存单元,在中断服务程序中根据中断次数来决定秒单元是否加1,当秒单元到达60时分单元加1,同时秒单元清零,分单元达到60时,时单元加1,同时分单元清零,时单元达到24时,时单元清零,又从头开始计时。可调数字钟的程序流程图如下图2、图3.

单片机原理与应用作业答案

作业答案0-1 绪论 1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU ))、(存储器(ROM 和RAM ))、(总线)、(定时器/计数器)、(输入/输出接口(I/O 口))及(中断系统)等部件集成在一块芯片上的微型计算机。 2.什么叫单片机?其主要特点有哪些? 解: 将微处理器(CPU)、存储器(存放程序或数据的ROM 和RAM )、总线、定时器/计数器、输入/输出接口(I/O 口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机, 称为单片微型计算机,简称单片机。 单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。 第1 章MCS-51 单片机的结构与原理 15. MCS-51 系列单片机的引脚中有多少根I/O 线?它们与单片机对外的地址总线和数据总 线之间有什么关系?其地址总线和数据总线各有多少位?对外可寻址的地址空间有多大? 解: MCS-51 系列单片机有 4 个I/O 端口,每个端口都是8 位双向口,共占32 根引脚。每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输入驱动器和输入缓冲器。通常把 4 个端口称为P0~P3。在无片外扩展的存储器的系统中,这 4 个端口的每一位都可以作为双 向通用I/O 端口使用。在具有片外扩展存储器的系统中,P2 口作为高8 位地址线,P0 口分时作为低8 位地址线和双向数据总线。 MCS-51 系列单片机数据总线为8 位,地址总线为18 位,对外可寻址空间为64KB 。 25. 开机复位后,CPU 使用的是哪组工作寄存器(R0-R n)?它们的地址是什么?CPU 如何 26.确定和改变当前工作寄存器组(R0-R n)? 解: 开机复位后,CPU 使用的是第0组工作寄存器。它们的地址是00H-07H。CPU 通过对程 序状态字PSW 中RS1 和RS0 的设置来确定和改变当前工作寄存器组。 27. MCS-51 单片机的时钟周期、机器周期、指令周期是如何定义的?当主频为12MHz 的时候,一个机器周期是多长时间?执行一条最长的指令需要多长时间? 解: 时钟周期又称为振荡周期,由单片机内部振荡电路OSC 产生,定义为OSC 时钟频率的 倒数。时钟周期又称为节拍(用P 表示)。时钟周期是时序中的最小单位。一个状态有两个 节拍, 机器周期定义为实现特定功能所需的时间。MCS-51 的机器周期由12 个时钟周期构成。 执行一条指令所需要的时间称为指令周期,指令周期是时序中的最大单位。由于机器执行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不尽相同。MCS-51 的指令可能包括1~4 个不等的机器周期。 当MCS-51 的主频为12MHz 时,一个机器周期为 1 s。执行一条指令需要的最长时间为 4 s。 第2 章MCS-51 单片机指令系统与汇编语言程序设计 4. 假定累加器 A 中的内容为30H,执行指令1000H :MOVC A,@A+PC 后,把程序存储 器(1031H )单元的内容送入累加器 A 中。 7. 指出下列各指令在程序存储器中所占的字节数 (1)MOV DPTR ,#1234H 3 字节 (2)MOVX A ,@DPTR 1 字节 (3)LJMP LOOP 3 字节 (4)MOV R0,A 1 字节 (5)AJMP LOOP 2 字节 1

16位单片机大作业

上海电力学院 《16位单片机应用》大作业 课程名称16位单片机应用 课程编号260717001 院(系)电子与信息工程学院 专业电子科学与技术 任课教师杨芳 班级2013142 姓名DANGDANG 学号 2013000

题目:十六位单片机----密码锁 一、设计目的及要求 运用C语言,MC9S12XS128的知识,对实现密码锁进行软件和硬件的设计和调试,掌握如何使用CodeWarrior来整合各种驱动模块,例如本实验运用到的键盘中断、LCD、PWM以及小灯模块,将这些模块整合在一起再通过算法实现硬件上的运行,达到密码锁的功能。 密码锁主要功能: 利用键盘中断、LCD、小灯、PWM模块,按下按键,在LCD可以显示对应值,并将其与预设密码进行比对。若正确,则LCD显示right,小灯由暗变亮;否则,LCD显示wrong,小灯一直保持流水灯状态,直至输入的密码正确。二、设计内容与实现过程 本次用到了相对还是比较多的模块,主要有SCI串口通信模块,LED显示模块,LCD显示模块,Timer定时器模块和中断模块,主要采用了定时器和中断的方式去控制整个系统的工作,能在超级终端以及LCD上实时显示时分秒的数据,主要是在Timer的样例程序中对当中的一些驱动以及主函数中数据的定义进行一定量的修改,来保证控制功能的实现。 具体功能和实现过程如下: 1、Main 函数 (1)全局变量定义

2、实验采用的模块 ①LCD 显示模块 运行程序后,LCD上会显示“password: r/w: ”,在对应位置还会显示按下的键位对应的定义值。 ②键盘中断模块 按下键位后,键值存入valve,调用KBDef函数,将valve键值转为定义值,存入num数组中。

单片机原理及其接口技术王敏课后作业答案.doc

2-4 MCS-51单片机中执行程序的地址放在哪?由几个位组成?最大寻址范围是多少? 答:放在程序计数器PC中,16位,64KB。 2-5 在程序存储器中,0000H、0003H、000BH、0013H、001BH、0023H这6个单元有什么特定的含义? 答:0000H 复位后,PC=0000H,开始执行程序的地址 0003H 外部中断0 (INT0)入口地址 000BH 定时器0中断(TF0)入口地址 0013H 外部中断1(INT1)入口地址 001BH 定时器1中断(TF1)入口地址 0023H 串行口中断TI/RI入口地址 2-10 开机复位以后,CPU使用哪一组工作寄存器?它们的地址是什么?如何改变当前工作寄存器? 答:使用第0组工作寄存器,00H-07H,通过修改PSW中的RS1和RS0两位来改变当前的工作寄存器。

3-7 指出指令中的50H或66H个代表什么? 解: ①MOV A, #50H 立即数 MOV A, 50H 直接地址 MOV 50H, #20H 直接地址 MOV C, 50H 位地址 MOV 50H, 20H 直接地址 ②MOV @R0, #66H 立即数 MOV R6, #66H 立即数 MOV 66H, #45H 直接地址 MOV 66H, C 位地址 MOV 66H, R1 直接地址 3-9 写出能完成下列数据传送的指令: 解: ①R1中内容传送到R0; MOV A, R1 MOV R0,A ②内部RAM 20H单元中的内容送到30H单元; MOV 30H, 20H ③外部RAM 20H单元中的内容送到内部RAM 20H单元; MOV R0,#20H MOVX A, @R0 MOV 20H, A ④外部RAM 2000H单元中的内容送到内部RAM 20H单元; MOV DPTR, #2000H MOVX A, @DPTR MOV 20H, A ⑤外部ROM 2000H单元中的内容送到内部RAM 20H单元; MOV DPTR, #2000H MOV A, #00H MOVC A, @A+DPTR MOV 20H, A ⑥外部2000H单元中的内容送到外部RAM 3000H单元; MOV DPTR, #2000H MOVX A, @DPTR MOV DPTR, #3000H MOVX @DPTR, A 3-11 已知:(20H)=X;(21H)=Y;(22H)=Z,请用图示说明下列程序执行后堆栈的内容是多少? ①MOV SP, #70H ②MOV SP, #60H

相关文档
最新文档