您当前的位置:五五电子网电子知识电子制作自动控制-单片机基于单片机的简易信号发生器设计 正文
基于单片机的简易信号发生器设计

基于单片机的简易信号发生器设计

点击数:7567 次   录入时间:03-04 11:52:58   整理:http://www.55dianzi.com   自动控制-单片机

(注意:保持清洁,设计结束后装订在设计说明书正文的第1页)

 

《智能化仪器仪表原理及应用》课程设计任务书

 

专业方向:热能与动力工程                           

班    级:

学生姓名:

指导教师:

周    数:1

学    分:1

一、设计题目

基于单片机的简易信号发生器设计

 

二、设计任务

1、用单片机设计一简易信号发生器。

2、输出信号为标准方波信号,最大幅值12V。

3、输出频率分为10Hz、100Hz、200Hz、300Hz、400Hz、500Hz、1kHz、2kHz、3kHz、4kHz和5kHz三档,用键盘进行选择。

4、使用Proteus仿真实现。

5、在硬件电路设计的基础上,完成相应的程序编制任务,程序设计可以采用汇编语言。

三、建议时间安排

课程设计时间安排

日期时间

设计地点

第1天上午

布置及讲解设计题目,设计分组,借资料

 

第1天下午

查阅借阅资料

 

第2天上午

一个班Proteus调试,另一班修改设计

 

第2天下午

一个班Proteus调试,另一班修改设计

 

第3天上午

一个班Proteus调试,另一班修改设计

 

第3天下午

一个班Proteus调试,另一班修改设计

 

第4天上午

一个班Proteus调试,另一班修改设计

 

第4天下午

一个班Proteus调试,另一班修改设计

 

第5天上午

整理设计报告

 

第5天下午

设计答辩

 

 

四、成果要求

1、课程设计报告

(1)不少于5000字,统一用A4纸手工书写,字迹工整。

(2)主要内容及装订顺序:封面(统一提供)、成绩考核表、目录、正文、参考文献和设计体会。

(3)正文部分应该包括以下几项内容:

需求分析、方案论证、方案比较、器件选择、硬件电路设计、软件程序清单、器件清单、调试情况说明内容。

(4)设计报告严禁抄袭,即使是同一小组也不允许雷同,否则按不及格论。

2、图纸要求:图纸要求以附录的形式提供,图形符号采用国标。

五、成绩评定

设计成果主要由设计报告体现,成绩评定根据下面四方面综合确定(各部分所占比例如下):

(1)设计报告(40%)

(2)独立完成设计的情况(10%)

(3)设计期间表现(10%)

(4)设计答辩(40%)

成绩评定等级为:优、良、中、及格、不及格五级制。


 

(注意:保持清洁,设计结束后装订在扉页后)

课程设计成绩考核表

 

学生姓名

 

班级

 

成绩评定

项      目

权重

成绩

1、平时工作态度及出勤情况

0.1

 

2、设计报告及图纸质量

0.4

 

3、独立完成设计情况

0.1

 

4、答辩情况

0.4

 

 

合计

 

总  成  绩

 

 

指导教师评语:

 

 

 

 

 

 

 

 

 

                      指导教师签字:               年    月    日

 

 

教研室审核意见:(主要检查教学和考核过程的规范性)

 

 

 

 

 

 

                      教研室主任签字:             年    月    日

 

 ;********WAVE-E6000/T**************************
;*MCU:          AT89C51                       *
;*MCU-crystal:  6M                            *
;*Version:      00                            *
;*Last Updata:                                *
;*Author:       www.pICavr.com                *
;*Description:  简易的信号发生器              *
;**********************************************  
           KEY_BUF    EQU  22H    ;定义为标志寄存器   
           C_HOUR     EQU  23H
           C_MINUTE   EQU  24H
           C_SECOND   EQU  25H
;-----------------------------------------------
            ORG  0000H       ;
            AJMP MAIN        ;到主程序
            ORG  000BH       ;    
            AJMP QI          ;到定时器中断0
            ORG  0030H       ;
;**********************************************
    MAIN:   MOV 21H,#00H     ;清通用寄存器
            MOV 22H,#00H     ;
            MOV 23H,#00H     ;
            MOV 24H,#00H     ;
            MOV 25H,#00H     ;
            MOV 26H,#00H     ;
            CLR 00H          ;清位标志
            CLR 01H          ;
            CLR 02H          ;
            CLR 03H          ;
            MOV TL0,#00H     ;
            MOV TH0,#00H     ;
            MOV TMOD,#01H    ;设置定时器为方式1
            MOV SP,#60H      ;
            SETB EA          ;开总中断
            SETB ET0         ;开定时器中断0
            SETB TR0         ;定时器启动开始计数
;*********************************************
LOOP:
            CALL  KEY        ;
            CALL  DISP       ;
            AJMP  LOOP       ;
;********************************************
QI:         PUSH ACC         ;入栈保护现场
            PUSH PSW         ;
            CLR  EA          ;
            CLR  TR0         ;
            MOV  TH0,R1      ;
            MOV  TL0,R0      ;
            CPL  P1.0        '
TORETI:  
            SETB  EA         ;
            SETB  TR0        ;
            POP   PSW        ;出栈
            POP   ACC        ;
            RETI             ;
;*******************************************


;*******************************************
KEY:
            MOV    P1,#0FFH       ;置P1口为1
            MOV    A,P1           ;
            MOV    KEY_BUF,A      ;
            CJNE   A,#0FF,KEY1    ;

            JB     P3.0,K1        ;
            AJMP   KEY1           ;
K1:         JB     P3.1,K2        ;
            AJMP   KEY1           ;
K2:         JB     P3.2,KEY_OUT   ;
            AJMP   KEY1           ;

KEY1:
            CALL   DELAY10MS      ;

            MOV    P1,#0FFH       ;置P1口为1
            MOV    A,P1           ;
            MOV    KEY_BUF,A      ;
            CJNE   A,#0FF,KEY3    ;

KEY2:       JB     P3.0,K1        ;
            AJMP   KEY3           ;
K1:         JB     P3.1,K2        ;
            AJMP   KEY3           ;
K2:         JB     P3.2,K3        ;
            AJMP   KEY3           ;
KEY_OUT:    RET                   ;
;------------------------------------------
KEY3:      
            JB     P2.0,S1        ;
S1_1:
            CALL   DISP           ;
            JNB    P2.0,S1_1      ;
  
            CLR    EA             ;
            MOV    R1,#3CH        ;
            MOV    R0,#0B0H       ;

            MOV C_HOUR,#00H       ;10Hz
            MOV C_MINUTE,#10H     ;0010HZ来表示

            SETB   TR0            ;
            SETB   EA             ;
            AJMP   KEY_OUT        ;
;-----------------------------------------  
S1:         
            JB     P2.1,S2        ;
S2_2:
            CALL   DISP           ;
            JNB    P2.1,S2_2      ;
  
            CLR     EA            ;
            MOV R1, #0D6H         ;
            MOV R0, #78H          ;

            MOV C_HOUR,#01H       ;100Hz
            MOV C_MINUTE,#00H     ;0100HZ来表示

            SETB    TR0           ;
            SETB    EA            ;
            AJMP    KEY_OUT       ;
;----------------------------------------
S3:         
            JB     P2.2,S4        ;
S2_3:
            CALL   DISP           ;
            JNB    P2.1,S2_3      ;
  
            CLR     EA            ;
            MOV R1, #0F6H         ;
            MOV R0, #3CH          ;

            MOV C_HOUR,#02H       ;200Hz
            MOV C_MINUTE,#00H     ;0200HZ来表示

            SETB    TR0           ;
            SETB    EA            ;
            AJMP    KEY_OUT       ;
;----------------------------------------
S4:


;****************************************
TAB:       DB 0C0H,0F9H,0A4H,0B0H,99H
           DB 92H,82H,0F8H,80H,90H
;****************************************
DISP:      MOV R6,C_HOUR
           MOV DPTR,#TAB
           MOV A,R6
           SWAP A
           ANL A,#0FH
           MOVC A,@A+DPTR
           MOV P1,A
           CLR P3.3
           ACALL DL             ;SEND DISPPLAY HOUR HIGHT BIT
           SETB P3.3

           MOV A,R6
           ANL A,#0FH
           MOVC A,@A+DPTR
           MOV P1,A
           CLR P3.5
           ACALL DL
           SETB P3.5           ;SEND DISPPLAY HOUR LOW BIT

           MOV R7,C_MINUTE
           MOV A,R7
           SWAP A
           ANL A,#0FH
           MOVC A,@A+DPTR
           MOV P1,A
           CLR P3.6
           ACALL DL
           SETB P3.6            ;SEND DISPPLAY MINUTE HIGHT BIT

           MOV A,R7
           ANL A,#0FH
           MOVC A,@A+DPTR
           MOV P1,A
           CLR P3.7
           ACALL DL
           SETB P3.7            ;SEND DISPLAY MINUTE LOW BIT

           RET
;**************************************
DL1MS:      MOV 30H,#02H        ;延时1MS
DL1:        MOV 31H,#0FFH
DL2:        DJNZ 31H,DL2
            DJNZ 30H,DL1
            RET
;****************************************
 DELAY10MS: 
            MOV R5,#3           ;延时10MS
 DL1:       MOV R6,#200
 DL2:       MOV R7,#125
 DL3:       DJNZ R7,DL3
            DJNZ R6,DL2
            DJNZ R5,DL1
            RET
            END


 




本文关键字:单片机  信号发生器  自动控制-单片机电子制作 - 自动控制-单片机