单片机最小系统课程设计.docx

上传人:b****8 文档编号:9210869 上传时间:2023-02-03 格式:DOCX 页数:12 大小:55.16KB
下载 相关 举报
单片机最小系统课程设计.docx_第1页
第1页 / 共12页
单片机最小系统课程设计.docx_第2页
第2页 / 共12页
单片机最小系统课程设计.docx_第3页
第3页 / 共12页
单片机最小系统课程设计.docx_第4页
第4页 / 共12页
单片机最小系统课程设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

单片机最小系统课程设计.docx

《单片机最小系统课程设计.docx》由会员分享,可在线阅读,更多相关《单片机最小系统课程设计.docx(12页珍藏版)》请在冰豆网上搜索。

单片机最小系统课程设计.docx

单片机最小系统课程设计

单片机最小系统设计

该单片机最小系统具有的功能:

(1)具有2位LED数码管显示功能。

(2)具有八路发光二极管显示各种流水灯。

(3)可以完成各种奏乐,报警等发声音类实验。

(4)具有复位功能。

功能分析

(1)两位LED数码管显示功能,我们可以利用单片机的P0口接两个数码管来现这个功能;

(2)八路发光二极管显示可以利用P1口接八个发光二极管实现这个功能;

(3)各种奏乐、报警等发声功能可以采用P2.0这个引脚接一蜂鸣器来实现。

(4)利用单片机的第9脚可以设计成复位系统,我们采用按键复位;利用单片机的18、19脚可以设计成时钟电路,我们利用单片机的内部振荡方式设计的。

设计框图

硬件电路设计

根据本系统的功能,和单片机的工作条件,我们设计出下面的电路图。

元件清单的确定:

数码管:

共阴极2只(分立)

电解电容:

10UF的一只

30PF的电容2只

220欧的电阻9只

4.7K的电阻一只

1.2K的电阻一只

4.7K的排阻一只,

12MHZ的晶振一只

有源5V蜂名器一只

AT89S51单片机一片

常开按钮开关1只

紧锁座一只(方便芯取下来的,绿色的)

发光二极管(5MM红色)8只

万能板电路版15*17CM

S8550三极管一只

4.5V电池盒一只,导线若干。

七、硬件电路的焊接

按照原理图把上面的元件焊接好,详细步骤省略。

相关程序编写

针对上面的电路原理图,设计出本单片机最小系统的详细功能:

(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”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP1,#0FBH;点亮第三个发光二极管。

MOVP0,#4fH;让数码管显示“3”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP1,#0F7H;点亮第四个发光二极管。

MOVP0,#66H;让数码管显示“4”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP1,#0EFH;点亮第五个发光二极管。

MOVP0,#6dH;让数码管显示“5”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP1,#0DFH;点亮第六个发光二极管。

MOVP0,#7dH;让数码管显示“6”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP1,#0BFH;点亮第七个发光二极管。

MOVP0,#07H;让数码管显示“7”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP1,#7FH;点亮第八个发光二极管。

MOVP0,#7fH;让数码管显示“8”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP1,#00H;灭了所有的发光二极管。

MOVP0,#3FH;让数码管显示“0”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#06H;让数码管显示“1”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#5bH;让数码管显示“2”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#4fH;让数码管显示“3”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#66H;让数码管显示“4”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#6dH;让数码管显示“5”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#7dH;让数码管显示“6”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#07H;让数码管显示“7”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#7fH;让数码管显示“8”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#6fH;让数码管显示“9”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#7fH;让数码管显示“A”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#7fH;让数码管显示“b”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#7fH;让数码管显示“C”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#7fH;让数码管显示“d”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#7fH;让数码管显示“E”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#7fH;让数码管显示“F”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVP0,#7fH;让数码管显示“Y”。

LCALLDELAY;调用延时子程序,起到延时的目的。

MOVR4,#9;送蜂鸣器的报警次数。

LOOP:

SETBP2.0;不发声

LCALLDELAY;调用延时子程序,起到延时的目的。

CLRP2.0;发声。

LCALLDELAY;调用延时子程序,起到延时的目的。

DJNZR4,LOOP;发声九次后向下执行。

SETBP2.0;关闭发声

LJMPSTART;跳转到标号为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、设计时间:

一周

五、单片机最小系统总体方案设计提示

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

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

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

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

 

设Inter8051片内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@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1