基于PIC单片机电子万年历实验报告

时间:2019-05-14 00:17:28下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《基于PIC单片机电子万年历实验报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《基于PIC单片机电子万年历实验报告》。

第一篇:基于PIC单片机电子万年历实验报告

实验报告

姓名:文可鑫学号:20072121010专业:电子信息工程

1编写一个秒表程序,使用查询方式。

listp=16f877a

include“p16f877a.inc”

include

countequ20h

count_sequ21h

org000h

startnop

callInitSPI

bankselOPTION_REG

movlw04h

movwfOPTION_REG

bankselINTCON

movlw00h

movwfINTCON

movlw06h

movwfTMR0

movlwd'131'

movwfcount

movlw00h

movwfcount_s

mainbtfssINTCON,T0IF

goto$-1

movlw06h

movwfTMR0

bcfINTCON,T0IF

incfcount,f

btfssSTATUS,Z

gotomain

movlwd'131'

movwfcount

incfcount_s,f

movfcount_s,w

sublwd'60'

btfscSTATUS,Z

clrfcount_s

movfcount_s,w

callBin2BCD

movfDIS_TEMP2,w

callCHAR_CODE1

movwfDIS_TEMP2movfDIS_TEMP1,wcallCHAR_CODE1movwfDIS_TEMP1callLEDlightnop

gotomain CHAR_CODE1;共阴极字符表

ADDWF PCL,F

RETLW 3fh;0RETLW 06h;1RETLW 5bh;2RETLW 4fh;3RETLW 66h;4RETLW 6dh;5RETLW 7dh;6RETLW 07h;7RETLW 7fh;8RETLW 6fh;9 Bin2BCD

CLRF DIS_TEMP1MOVWF DIS_TEMP2 Ttenth

MOVLW.10SUBWF DIS_TEMP2,WBTFSS STATUS,CGOTO OUT

MOVWF DIS_TEMP2INCF DIS_TEMP1,FGOTO Ttenth OUT

RETURN

end

2编写一个秒表程序,使用中断方式。listp=16f877a

include“p16f877a.inc” include countequ20h count_sequ21h W_tempequ23H STA_tempequ24Horg000hgotostartorg004h

gotointp startnop

callInitSPIbankselOPTION_REGmovlw44h

movwfOPTION_REGbankselINTCONmovlw0a0hmovwfINTCONmovlw06hmovwfTMR0movlwd'131'movwfcountmovlw00hmovwfcount_s heregotohere intp

btfssINTCON,T0IFgoto$-1movlw06hmovwfTMR0

bcfINTCON,T0IFincfcount,fbtfssSTATUS,Zgotointpmovlwd'131'movwfcountincfcount_s,fmovfcount_s,wsublwd'60'btfscSTATUS,Zclrfcount_smovfcount_s,wcallBin2BCDmovfDIS_TEMP2,wcallCHAR_CODE1movwfDIS_TEMP2movfDIS_TEMP1,wcallCHAR_CODE1movwfDIS_TEMP1callLEDlightnop

RETFIE

CHAR_CODE1;共阴极字符表

ADDWF PCL,F

RETLW 3fh;0RETLW 06h;1RETLW 5bh;2RETLW 4fh;3RETLW 66h;4RETLW 6dh;5RETLW 7dh;6RETLW 07h;7RETLW 7fh;8RETLW 6fh;9 Bin2BCD

CLRF DIS_TEMP1MOVWF DIS_TEMP2 TtenthMOVLW.10SUBWF DIS_TEMP2,WBTFSS STATUS,CGOTO OUT

MOVWF DIS_TEMP2INCF DIS_TEMP1,FGOTO Ttenth OUT

RETURN

end CHAR_CODE1;共阴极字符表

ADDWF PCL,F

RETLW 3fh;0RETLW 06h;1RETLW 5bh;2RETLW 4fh;3RETLW 66h;4RETLW 6dh;5RETLW 7dh;6RETLW 07h;7RETLW 7fh;8RETLW 6fh;9 Bin2BCD

CLRF DIS_TEMP1MOVWF DIS_TEMP2 Ttenth

MOVLW.10SUBWF DIS_TEMP2,WBTFSS STATUS,CGOTO OUT

MOVWF DIS_TEMP2INCF DIS_TEMP1,FGOTO Ttenth OUT

RETURN

end

listp=16f877a

include“p16f877a.inc” include countequ20h count_sequ21horg000hgotostartorg004hgotointp startnop

callInitSPIbankselOPTION_REGmovlw04h

movwfOPTION_REGbankselINTCONmovlw00hmovwfINTCONmovlw06hmovwfTMR0movlwd'131'movwfcountmovlw00hmovwfcount_s heregotohere

intpbtfssINTCON,T0IFgoto$-1movlw06hmovwfTMR0

bcfINTCON,T0IFincfcount,fbtfssSTATUS,Zgotointpmovlwd'131'movwfcountincfcount_s,fmovfcount_s,w

sublwd'60'btfscSTATUS,Zclrfcount_smovfcount_s,wcallBin2BCDmovfDIS_TEMP2,wcallCHAR_CODE1movwfDIS_TEMP2movfDIS_TEMP1,wcallCHAR_CODE1movwfDIS_TEMP1callLEDlightnop

RETFIE

CHAR_CODE1;共阴极字符表

ADDWF PCL,F

RETLW 3fh;0RETLW 06h;1RETLW 5bh;2RETLW 4fh;3RETLW 66h;4RETLW 6dh;5RETLW 7dh;6RETLW 07h;7RETLW 7fh;8RETLW 6fh;9 Bin2BCD

CLRF DIS_TEMP1MOVWF DIS_TEMP2 Ttenth

MOVLW.10SUBWF DIS_TEMP2,WBTFSS STATUS,CGOTO OUT

MOVWF DIS_TEMP2INCF DIS_TEMP1,FGOTO Ttenth OUT

RETURN

end

第二篇:单片机课程设计-电子万年历

单片机及接口技术综合实验

——————电子万年日历系统一、题目:电子实时时钟/万年日历系统

二、功能要求:

1. 基本要求:

⑴ 显示准确的北京时间(时、分、秒),可用24小时制式; ⑵ 随时可以调校时间。

2. 发挥要求:

⑴ 增加公历日期显示功能(年、月、日),年号只显示最后两位; ⑵ 随时可以调校年、月、日;

⑶ 允许通过转换功能键转换显示时间或日期。

三、方案考虑:

1、硬件方案:

⑴ 显示器采用6位LED数码管(共阳),可分别显示时间或日期;(通过KB键可切换)⑵ 显示器的驱动采用动态扫描电路形式,以达到简化电路的目的。但要注意所需的驱动电流比静态驱动时要大,因此要增加驱动电路。可采用74LS244或者晶体管;其中74ls244是用来驱动段选码,晶体管是驱动位选码!⑶采用“一键多用方案”,以减少按键数目。本方案只采用了两个按键 ⑷ 整体上要考虑:结构简单、布局美观、操作方便、成本低廉。

2、设计电路图如下:

3、元件清单:

⑴ 89C51

1个

⑵ IC座(40脚)

3个(其中1个用于接插89C51、2个用于接插LED段数码管)。⑶ 74LS244

1个(用于驱动6个共阳的LED段数码管)。⑷ IC座(20脚)

1个(用于接插74LS244)。(5)显示器:LED_8段数码管(共阳型)6个三极管:

(6)PNP(8550)

6个(用于驱动6个共阳型LED段数码管)。

(7)微型开关:

3个(其中1个用于复位电路、其它用于键盘)。(8)晶体振荡器(12MHz):1个(用于振荡电路)。(9)电阻器:

⑴ 3KΩ

1个(用于系统复位电路)。

⑵ 1KΩ

6个(用作PNP三极管基极电阻)。⑶ 100Ω

7个(驱动器用作74LS244输出限流电阻)。(10)电容器:

⑴ 10μF

1个(用于系统复位电路)。⑵ 30 pF

2个(用于系统振荡电路)。(11)其它:

⑴ 万能电路板(10×15):

1块 ⑵ 焊锡条:

2米 ⑶ 带插头、座的电源端子:

1条 ⑷ 各种颜色外皮的导线:

各1米(12)工具:

1.电烙铁:

1把 2.剪钳:

1把 3.镊子:

1把 4.万用表:

1个(13)设备:

编程器(MEP300或TOP851)

6个

4、软件方案:

只使用第一组工作寄存器,功能分布如下:

⑴ “时钟”基准时间由单片机内部定时中断来提供,定时时间应该乘以一个整数得到“秒”,且不宜太长或太短,最长不能超过16位定时器的最长定时时间,最短不能少于定时中断服务程序的执行时间。一般来说,基准时间越短,越有利于提高时钟运行的精确度。本实验定时5mS。乘以一个整数200得到“1秒”.⑵ 用一个计数器(R4)对定时中断的次数进行计数,从而可以实现“秒”定时,同理可以实现“分”定时和“时”定时,甚至于“日”、“月”、“年”定时。

⑶ 显示器采用动态驱动时要注意到:LED的 “启辉时间”和 “余辉时间”。驱动信号的维持时间必须大于启辉时间;而驱动信号的间歇时间必须小于余辉时间。“启辉时间”和 “余辉时间”与驱动电流的大小有关,驱动电流越大,启辉时间越短,而余辉时间越长。但是,驱动电流的大小受到驱动电路的驱动能力和LED极限功耗的限制。本实验采用了74ls244和晶体管8550驱动,并进行适当的延时3ms解决上述问题。

⑷ LED的余辉时间使动态驱动显示得到保证,但也要注意到它在更新显示内容时,可能造成显示字符的混乱模糊。为此,在把“更新显示内容”写入显示器之前,必须把所有的LED熄灭,即要把一个“熄灭驱动信号”先写入显示器。

⑸对于按键的处理,采用中断。产生中断后先判有无按键被按下,还要考虑到“去抖动影响”问题,可采用软件延迟法解决这个问题,延迟时间至少10mS。而单纯进行软件延时的话会令到显示管产生断续的情况,故调用显示程序作为延时时间。这样就合理地处理好这两者的矛盾了。

⑹ 把键盘的按键分两种情况来处理,操作简单。

调整时间时,先按下KA键,(KA键为选择调整位置的键,如选调整秒或分),而此时的KB键只是用来加一操作。在调整时间状态下,若在十秒内检测到没有任何按键按下,则返回正常显示时钟状态。

而不调整时间,即不按下KA键,KB的键只用来切换显示日期和时钟。⑺ 对于自动识别“月大、月小”和“平年、闰年”的问题,主要考虑: ① 月大、月小:

1~7月:逢单月为31天;逢双月为30天,其中2月另行处理。8~12月:逢单月为30天;逢双月为31天。②平年、闰年:

仅仅处理2月份的天数:平年的2月份天数为28天,闰年的2月份天数为29天。

5、程序流程图如下:(1)电子时钟计算程序图

(2)调整流程图

程序编写如下:

;///////////////////////////////////////////////////////// ORG 0000H

LJMP START ORG 0003H LJMP PROINT0

;int0用来切换时钟调整位置

ORG 0013H

;用来调整时间,只加不减 LJMP PROINT1

ORG 001BH

;5ms的延迟,计数200次则为1秒

LJMP PROTIME

ORG 0030H

;主程序

TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

;0 1 2 3 4 5 6 7 8 9

ORG 0050H

START: MOV TCON,#05H

;中断初始化

MOV IE ,#8DH MOV TMOD,#10H MOV TH1,#0eCH

;定时器初始化

MOV TL1,#78H

MOV 31H,#0AH

;10秒 MOV 32H,#1EH;30分 MOV 33H,#09H;9点 MOV 34H,#0AH MOV 35H,#06H MOV 36H,#05H MOV 37H,#14H

;10号;6月;2005年

;R7 存放切换标志 0 NORMAL , 1 HOUR ,2 MINUTE ,3 SECOND ,4 YEAR,5 MONTH,6 DAY

MOV R1,#00H

;确定在调时不按键的最长时间,10秒后返回normal状态

MOV R7,#00H

;切换标志

MOV 40H,#00H

;十六进制转换BCD的高位 MOV 41H,#00H

;十六进制转换BCD的低位

MOV R6,#00H

;调时的位闪烁的时间间隔

MOV R4,#00H

;用来计数5ms的中断次数,200次则一秒

mov r3,#00h

SETB TR1

;开始计时 AGAIN:

ACALL PROSHOW

;显示

AJMP AGAIN

PROSHOW:

CJNE R3,#00H,SHOWDATE

;如果r3等于1就显示日期,等于0就显示时钟 CJNE R7,#04H,DATE1

;显示程序

AJMP SHOWDATE

;showdate显示年月日 AJMP SHOWDATE DATE1: CJNE R7,#05H,DATE2 DATE2: CJNE R7,#06H,SHOWCLOCK AJMP SHOWDATE

showCLOCK: MOV R0,33H

;showclock显示时分秒,先显示时

ACALL PROHTOD

CJNE R7,#01H,CLK1 INC R6

CJNE R6,#03H,CLK2

;若处于调时状态,则该位闪烁

MOV R6 ,#00H CLK1: clr P2.4 mov a,41H MOV P0, a

;显示时的低位 ACALL DELAY3MS CLK2: SETB P2.4 CLR P2.5 mov a,40H

MOV P0,a

;显示时的高位 ACALL DELAY3MS SETB P2.5

MOV R0,32H

;显示分 ACALL PROHTOD CJNE R7,#02H,CLK3 INC R6

CJNE R6,#03H,CLK4

;若处于调时状态,则该位闪烁

MOV R6,#00H CLK3: CLR P2.2

mov a,41H MOV P0, a

;显示分的低位 ACALL DELAY3MS CLK4:

SETB P2.2 CLR P2.3 mov a,40h MOV P0,a

;显示分的高位 ACALL DELAY3MS SETB P2.3

MOV R0,31H

;显示秒

ACALL PROHTOD CJNE R7,#03H,CLK5 INC R6

CJNE R6,#03H,CLK6

MOV R6,#00H CLK5: CLR P2.0 mov a,41H MOV P0, a

ACALL DELAY3MS CLK6: SETB P2.0 CLR P2.1 mov a,40h MOV P0,a

ACALL DELAY3MS SETB P2.1

RET

SHOWDATE: MOV R0,36H

ACALL PROHTOD CJNE R7,#04H,DAY1 INC R6

CJNE R6,#03H,DAY2

MOV R6,#00H DAY1: CLR P2.4 MOV P0,41H

ACALL DELAY3MS DAY2: SETB P2.4 CLR P2.5 MOV P0,40H

ACALL DELAY3MS SETB P2.5

MOV R0,35H

ACALL PROHTOD CJNE R7,#05H,MONTH1

;若处于调时状态,则该位闪烁

;显示秒的低位

;显示秒的高位

;显示年

;若处于调时状态,则该位闪烁;显示年的低位

;显示年的高位

;显示月

INC R6

CJNE R6,#03H,MONTH2

;若处于调时状态,则该位闪烁

MOV R6,#00H MONTH1: CLR P2.2 MOV P0,41H

;显示月的低位

ACALL DELAY3MS MONTH2: SETB P2.2

CLR P2.3 MOV P0,40H

;显示月的高位

ACALL DELAY3MS SETB P2.3

MOV R0,34H

ACALL PROHTOD CJNE R7,#06H,YEAR1 INC R6

CJNE R6,#03H,YEAR2

MOV R6,#00H YEAR1: CLR P2.0

MOV P0,41H

ACALL DELAY3MS YEAR2: SETB P2.0 CLR P2.1 MOV P0,40H

ACALL DELAY3MS SETB P2.1

RET

PROHTOD:PUSH ACC

MOV A,R0 MOV B,#0AH DIV AB MOV DPTR,#0030H MOVC A,@A+DPTR MOV 40H,A MOV A,B MOVC A,@A+DPTR MOV 41H,A POP ACC RET

;显示日

;若处于调时状态,则该位闪烁

;十六进制数转换成bcd码,且可以直接输出p0口

DELAY3MS:

;DELAY3MS MOV 45H,#08H DELAY1: MOV 46H,#0FFH DELAY2: DJNZ 46H,DELAY2 DJNZ 45H,DELAY1 RET

PROINT0:

CLR EX0

;切换键中断程序 MOV R3,#00H ACALL PROSHOW MOV C,P3.2 JC IEXIT0 MOV R1,#00H INC R7 CJNE R7,#07H,IEXIT0

MOV R7,#00H INT01: MOV C,P3.2 JC INT02 ACALL PROSHOW AJMP INT01 INT02: ACALL PROSHOW IEXIT0: SETB EX0 RETI

PROINT1:CLR EX1

ACALL PROSHOW MOV C,P3.3 JC IEXIT1 LCALL ISYEAR

;判断平年闰年

LCALL ISMONTH

;判断月份,确定最大日数

MOV R1,#00H CJNE R7,#00H,NEXT1

;若不是调时状态,按此键就是切换显示日期、时钟

INC R3 CJNE R3,#02H,IEXIT1 MOV R3,#00H AJMP IEXIT1 NEXT1: mov r3,#00h

CJNE R7,#03H,NEXT2

;修改秒位 INC 31H MOV A,31H CJNE A,#3CH,INT11

;遇60变0 MOV 31H,#00H AJMP IEXIT1

NEXT2: CJNE R7,#02H,NEXT3

;修改分位

INC 32H MOV A,31H

CJNE A,#3CH,INT11

;遇60变0 MOV 31H,#00H AJMP IEXIT1 NEXT3: CJNE R7,#01H,NEXT4

;修改时位

INC 33H MOV A,33H CJNE A,#18H,INT11

;遇24变0 MOV 33H,#00H AJMP IEXIT1 NEXT4: CJNE R7,#06H,NEXT5

;修改日

INC 34H MOV A,34H CJNE A,49H,INT11

;到月底就返回月初 MOV 34H,#01H AJMP IEXIT1

NEXT5: CJNE R7,#05H,NEXT6

;修改月

INC 35H

MOV A,35H CJNE A,#0DH,INT11

;十二月过后就跳回1月 MOV 35H,#01H AJMP IEXIT1 NEXT6: CJNE R7,#04H,INT11

;修改年

INC 36H

MOV A,36H CJNE A,#64H,INT11

MOV 36H,#00H MOV C,P3.3 INT11: JC INT12 ACALL PROSHOW AJMP INT11 INT12: ACALL PROSHOW IEXIT1: setb EX1

RETI PROTIME:

MOV TMOD,#10H MOV TH1,#3CH

;定时器初始化 MOV TL1,#60H setb tr1 INC R4

CJNE R4,#0c8H,EXIT

MOV R4,#00H

;计满1秒则清零 CJNE R7,#00H,DIAOSHI

AJMP NORMAL DIAOSHI:INC R1

;调时不按键的最长时间为10秒,在此期间又键按下重新计时

CJNE R1,#0AH,EXIT MOV R7,#00H

;到10秒则返回正常显示状态 MOV R1,#00H AJMP EXIT

NORMAL:ACALL ISYEAR

;判断平闰年,返回标志48h,0为平年,1为闰年

ACALL ISMONTH

;判断哪个月,返回该月的最大日数,存放在49h

INC 31H

MOV A,31H

;秒加一 CJNE A,#3CH,EXIT MOV 31H,#00H

INC 32H

;分加一 MOV A,32H CJNE A,#3CH,EXIT MOV 32H,#00H INC 33H

;时加一 MOV A,33H CJNE A,#18H,EXIT MOV 33H,#00H INC 34H

MOV A,34H CJNE A,49H,EXIT MOV 34H,#01H INC 35H

MOV A,35H CJNE A,#0DH,EXIT MOV 35H,#01H INC 36H

MOV A,36H CJNE A,#64H,EXIT MOV 36H,#00H;年加一;月加一;日加一 EXIT:

RETI

ISYEAR: MOV A,36H;判断平闰年

MOV B,#04H

DIV AB MOV A,B CJNE A,#00H,EXITYEAR1 MOV 48H,#01H

;闰年 SJMP EXITYEAR MOV 48H,#00H

;平年 EXITYEAR1: EXITYEAR: RETI

ISMONTH:

MOV A,35H

;开始检查月份 CJNE A,#02H,NEXTMON1

;判断二月 MOV R2,48H

CJNE R2,#00H,RUNNIAN MOV 49H,#1DH

;平年为28天,赋29给49h AJMP EXITMONTH RUNNIAN:MOV 49H,#1EH

;闰年为29天,赋30天给49h

AJMP EXITMONTH

NEXTMON1: CJNE A,#04H,NEXTMON2

AJMP XIAOYUE

NEXTMON2:CJNE A,#06H,NEXTMON3 AJMP XIAOYUE

NEXTMON3:CJNE A,#09H,NEXTMON4 AJMP XIAOYUE NEXTMON4:CJNE A,#0BH,DAYUE XIAOYUE: MOV 49H,#1FH

;四,六,九,十一月是小月,30天,但应该赋31天给比较值49h,AJMP EXITMONTH DAYUE: MOV 49H,#20H

;其他月份为大月,31天,赋32天给49h EXITMONTH: RETI END

第三篇:PIC单片机报告

PIC单片机实验报告

一、定时器的使用

(1)实验目的:通过学习和实验理解PIC单片机定时器的内部工作原理,学会定时器 初始化配置编程,并能利用实验板对定时器有简单的应用。

(2)实验器材:16位PIC单片机学习板。

(3)实验过程:

1、PIC单片机定时器概述:根据具体器件,dsPIC30F 器件系列提供了几个16 位定时器。这些定时器被指定为Timer1、Timer2、Timer3 ……等。可分为三种类型:A类型时基、B类型时基和C类型时基。

A类型时基:在大多数dsPIC30F 器件上,至少有一个A 类型定时器。通常Timer1 是A 类型定时器。A 类型定时器与其他类型的定时器相比,有下列独特的功能:

可以使用器件的低功耗32 kHz 振荡器作为时钟源工作

可以在使用外部时钟源的异步模式下工作

A 类型定时器独特的功能使它可以用于实时时钟应用(Real-Time Clock,RTC)。16 位定时器模式:在16 位定时器模式下,定时器在每个指令周期递增,直到与预先装入周期寄存器PR1 中的值匹配,然后复位至0,继续计数。当CPU 进入空闲模式时,定时器将停止递增,除非TSIDL(T1CON<13>)位 = 0。如果TSIDL = 1,定时器模块逻辑将继续递增,直到CPU 空闲模式终止。位同步计数器模式:在16 位同步计数器模式下,定时器将在外部时钟信号的上升沿递增,外部时钟信号与内部相位时钟同步。定时器计数,直到等于PR1 中预先装入的值,然后复位至0,继续计数。当CPU 进入空闲模式时,同上。位异步计数器模式:在16 位异步计数器模式下,定时器在外部时钟信号的上升沿递增。定时器计数,直到等于PR1 中预先装入的值,然后复位至0,继续计数。当定时器配置为异步工作模式时,CPU 进入空闲模式,如果TSIDL = 1,则定时器将停止递增。

B类型时基:在大多数dsPIC30F 器件上,如果存在Timer2 和Timer4,它们是B 类型定时器。与其他类型的定时器相比,B 类型定时器有下列独特的功能:

B 类型定时器可以和C 类型定时器相连形成32 位定时器。B 类型定时器的TxCON

寄存器具备T32 控制位,用来使能32 位定时器功能。B 类型定时器的时钟同步在预分频逻辑后执行。为输入捕捉,输出比较/ 简单PWM 模块提供时基

C类型时基:在大多数dsPIC30F 器件上,Timer3 和Timer5 是C 类型定时器。与其他类型的定时器相比,C 类型定时器有下列独特的功能:

C 类型定时器可以和B 类型定时器相连形成32 位定时器。在某个给定的器件上,至少有一个C 类型定时器能够触发A/D 转换。

相关寄存器:要使用定时器,首先要了解定时器相关寄存器,dspic30f4011的定时器相关寄存器有:

以A类时基定时器(Timer1)为例,要用到的相关寄存器有:T1CON(定时器1控制寄存器)、IFS0bits(中断标志状态寄存器)、IPC0bits(中断优先级控制寄存器)、IEC0bits(中断允许控制寄存器)、PR1(定时器初值寄存器)

定时器模式:所有类型的定时器都可以在定时器模式下工作。在定时器模式下,定时器的输入时钟由内部系统时钟(FOSC/4)提供。当使能为该模式时,对于1:1 的预分频器设置,定时器的计数值在每个指令周期都会加1。

通过清零TCS 控制位(TxCON<1>)选择定时器模式。

同步模式控制位TSYNC(T1CON<2>)在该模式下不起作用,因为使用了系统时钟源产生定时器时钟。

定时器初值计算:指令周期=1/(fosc/4),定时器初值=所需定时时间/(指令周期×分频比)

程序代码:

#include “p30f4011.h” void timer_init()

{

T1CON=0X8030;

//预分频256,ton=1,开始计时,其余都为0//清除TMR1的中断标志 //中断优先级为7 //使能中断

//在预分频256模式下,计时1秒

IFS0bits.T1IF = 0;

IPC0bits.T1IP = 7;IEC0bits.T1IE = 1;}

PR1=0x1c20;

void __attribute__((__interrupt__))_T1Interrupt(void)//中断服务程序 {}

void main(){}

TRISE=0x100;

//将LED相连IO口设为输出 //执行定时器1初始化 //PORTE初始化输出为低

IFS0bits.T1IF=0;PORTE++;

//软件清除定时器1中断标志位 //实现每一秒对PORTE加1,用LED显示

timer_init();PORTE=0;

while(1);//程序进入死循环,定时执行定定时器中断程序

二、中断

实验目的:通过学习和实践理解PIC单片机中断的特性及工作原理,学会中断的初始化配置,并能对中断进行简单的应用。

实验器材:16位PIC单片机学习板。

实验过程:

dsPIC30F的中断特性:

多达8 个处理器异常和软件陷阱 7 个用户可选择的优先级

具有多达62 个向量的中断向量表(Interrupt Vector Table,IVT)每个中断或异常源都有唯一的向量 指定的用户优先级中的固定优先级

用于支持调试的备用中断向量表(Alternate Interrupt Vector Table,AIVT)固定的中断入口和返回延时

中断优先级:

(1)可以为每个外设中断源分配7 个优先级之一。

可用的优先级从1 开始为最低优先级,7 级为最高优先级。如果与中断源有关的IPC 位被全部清零,则中断源被有效禁止。

(2)由于特定的优先级会被分配给一个以上的中断请求源,所以在给定的用户分配

级别内提供了一种解决优先级冲突的方法。

根据每个中断源在IVT中的位置,它们都有一个自然顺序优先级。中断向量的编号越低,自然优先级越高,而向量的编号越高,自然优先级越低。

(3)任何待处理的中断源的总优先级都首先由该中断源在IPCx 寄存器中用户分配的优先级决定,然后由IVT 中的自然顺序优先级决定。

相关寄存器:INTCON1 和INTCON2(全局中断控制寄存器)、IFSx(中断标志状态寄存器)、IECx(中断使能控制寄存器)、IPCx(中断优先级控制寄存器)、SR(CPU状态寄存器)、CORCON(内核控制寄存器)。

初始化配置:

1.如果不需要中断嵌套,将NSTDIS 控制位置1。

2.通过写相应的IPCx 控制寄存器中的控制位选择中断源的用户分配优先级。如果不需要多个优先级,所有允许的中断源的IPCx 寄存器控制位均可以编程为同一个非零值。3.在相关的IFSx 状态寄存器中清零与外设相关的中断标志状态位。

4.通过在相应的IECx 控制寄存器中置1 与中断源相关的中断允许控制位,使能中断源。

程序代码:

void init(){

IFS0bits.INT0IF = 0;//清除INT0的中断标志

IPC0bits.INT0IP = 7;//中断优先级为7 IEC0bits.INT0IE = 1;}

void __attribute__((__interrupt__))_INT0Interrupt(void)//中断服务程序 {

IFS0bits.INT0IF = 0;Led=~Led;}

int main(){

unsigned char Led=0;init();while(1){

PORTE = Led;

//清INT0中断标志//实现LED亮灭变化 //使能中断

}}

第四篇:PIC单片机课程设计报告

河北联合大学轻工学院

QINGGONG COLLEGE, HEBEI UNITED UNIVERSITY

《PIC单片机课程设计》

学生姓名: 学号: 学部:专业班级:指导教师:

年月日

一、课程设计目的本课程设计是在《PIC单片机原理及应用》及《单片机C语言编程》课程的基础上,通过硬件设计、软件编程及仿真调试的实践,进一步掌握PIC单片机的应用方法,熟练掌握PICC C语言程序的编写与调试,是毕业设计前的一次重要实践,为今后走上工作岗位打下坚实的单片机应用基础。

二、设计题目及要求

2.1 设计题目:

基于PIC16F877单片机的多功能电子时钟 2.2 功能实现:

实时时钟显示,时间可调;实时温度显示,并具有超限报警功能。输出显示采用LCD1602或LED七段数码显示器。2.3 设计要求:

自己设计硬件和程序编程,画出完整的电路原理图,用Multisim或Proteus仿真,最终可实现脱机运行。

三、设计原理说明

3.1 时钟模块

DS1307是美国DALLAS公司推出的I2C总线接口实时时钟芯片,它可独立于CPU 工作,不受CPU主晶振及其电容的影响,且计时准确,月累积误差一般小于10秒。芯片还具有主电源掉电情况下的时钟保护电路,DS1307的时钟靠后备电池维持工作,拒绝CPU对其读出和写入访问。同时还具有备用电源自动切换控制电路,因而可在主电源掉电和其它一些恶劣环境场合中保证系统时钟的定时准确性。

DS1307具有产生秒、分、时、日、月、年等功能,且具有闰年自动调整功能。同时,DS1307芯片内部还集成有一定容量、具有掉电保护特性的静态RAM,可用于保存一些关键数据。3.2 显示模块

如用LCD1602作为显示设备,要求显示屏分两行显示,第一行显示日期(年-月-日)和星期,第二行显示时间(时:分:秒)和温度。显示秒由00一直加到59,分钟数也由00加到59,小时采用24小时制,由00加到23,如此循环显示。

3.3 按键模块

按键用来作为时间调整。要求至少设计4个按键,按键1作为设置键;按键

2、按键3分别为增加、减少键,在设置键按下时,此两个按键方有效;按键4是确定键,在设置键按下时方才有效。3.4 温度采集模块

DS18B20是美国DALLAS公司推出的单总线数字温度传感器。DS18B20内部集成了温敏元件、数据转换芯片、存储器芯片和计算机接口芯片等多功能模块。其主要技术特点有:具有独特的单线接口方式;可以通过数据线供电,具有超低功耗工作方式;测温范围为-55℃~125℃,测温精度为0.5℃;温度转换精度9~12位可编程,直接将温度转换值以二进制数码的方式串行输出。

四、硬件原理图

(含原理图、电路仿真图)

五、软件设计

(含流程图、带注释的程序清单)

六、设计总结

设计成绩:

教师签名:

年月

第五篇:万年历单片机课程设计报告

课程设计报告 任务和设计要求

首先要学会安装软件,要熟悉会使用。系统设计 系统框图 硬件设计 3.1 电路原理图

课程设计报告

课程设计报告

课程设计报告

3.2 主要单元电路

3.3 元件清单 软件设计 4.1 程序流程图

课程设计报告

4.2程序清单

TIME_WEEK DATA 52H TIME_YEAR DATA 5DH TIME_MONTH DATA 5EH TIME_DATA DATA 5FH YEARH DATA 36H YEAR DATA 35H MONTH DATA 34H DAY DATA 33H HOUR DATA 32H MINUTE DATA 31H SEC DATA 30H

课程设计报告

AAA BIT P3.0 BBB BIT P3.1 AA BIT P3.3 BB BIT P3.4 CC BIT P3.5 BL BIT P3.2 BZ1 BIT 21H.0 TIMES DATA

20H COM

DATA

P1 ORG

0000H LJMP

START ORG

0003H RETI ORG

000BH LJMP INTT0 ORG

0013H RETI ORG

001BH RETI ORG

0023H RETI START:

课程设计报告

MOV

R0,#30H MOV

R7,#9 CLEETE: MOV

@R0,#00H INC

R0 DJNZ

R7,CLEETE MOV

TIMES,#00H MOV

TMOD,#01H MOV

TL0,#0C0H MOV

TH0,#63H MOV

SEC,#0 MOV

MINUTE,#0H MOV

HOUR,#0H MOV

DAY,#01H MOV

MONTH,#01H MOV

YEAR,#01H MOV

YEARH,#20H SETB

EA SETB

ET0 SETB

TR0 MOV

R4,#19 START1:

课程设计报告

CALL

DISP JNB

AA,SETMM1 JMP

START1 SETMM1: CALL

SETMM JMP START1 SETMM: CALL

DISP CALL

DISP JB AA,SETMM0 SETMM2: JNB AA,SETMM3 CLR ET0 CLR TR0 MOV

SEC,#0 MOV

TIMES,#01H MOV

R0,#MINUTE SETMM4: NOP INC22: CALL

OFFL CALL

INC11

课程设计报告

CALL

DISP JB AA,INC22 CALL DISP JB AA,INC22 INC R0 MOV A,TIMES RL A MOV TIMES,A JNB

TIMES.5, SETMM4 SETMM12: JNB AA , SETMM11 SETMM0: SETB

TR0 SETB

ET0 RET SETMM11: CALL DISP JMP

SETMM12 SETMM3: CALL

DISP JMP

SETMM2 INC11:

课程设计报告

MOV

R3,#40 INC111: MOV A,@R0 JB

BB,INC17 ADD

A,#1 DA A CALL INC000 INC13: JNB BB , INC14 INC17: MOV

@R0,A CALL

DISP DJNZ R3,INC111 RET INC14: CALL

DISP JMP

INC13 OFFL: MOV

22H,@R0 MOV

R6,#10 OFF1: MOV

R7,#10

课程设计报告

OFF2: MOV

@ R0, # 0AAH CALL

DISP DJNZ R7 , OFF2 DJNZ R6 , OFF1 MOV

@ R0 , 22H RET INC000: JB

TIMES.0, INC001 JB

TIMES.1, INC002 JB

TIMES.2, INC003 JB

TIMES.3, INC004 JB

TIMES.4, INC005 JMP

INCOUT INC005: CJNE A, #99H, INCOUT MOV

A,#00H JMP

INCOUT INC004: CJNE A, # 13H, INCOUT MOV

A,#01H JMP

INCOUT

课程设计报告

INC003: CJNE A,# 32H ,INCOUT MOV

A,#01H JMP

INCOUT INC002: CJNE A,#24H,INCOUT MOV

A,#00H JMP

INCOUT INC001: CJNE A,# 60H , INCOUT MOV

A,#00H INCOUT: RET INTT0: PUSH

ACC PUSH

PSW ORL TL0,#0C0H MOV

TH0,#63H DJNZ R4 , CLKE111 JMP

LOOP11 CLKE111: JMP

CLKE

课程设计报告

LOOP11: MOV

R4,#19H MOV

A,SEC ADD

A,#1 DA A MOV

SEC,A CJNE A, #60H , CLKE99 MOV

SEC,#0 MOV

A,MINUTE ADD

A,#1 DA A MOV

MINUTE,A CLK0: CJNE A, # 60H, CLKE MOV

MINUTE,#0 MOV

A,HOUR ADD

A,#1 DA

A MOV

HOUR,A CJNE A, # 24H, CLKE MOV

HOUR,#0 MOV

A,DAY

课程设计报告

ADD

A,#1 DA A MOV

DAY,A MOV

A,MONTH INC

A MOVC A, @A + PC SJMP

CLK1 DB

31H,28H,31H DB

30H,31H,30H DB

31H,31H,30H DB

00H,00H,00H DB

00H,00H,00H DB

31H,30H,31H CLK1: CLR C SUBB A,DAY JNC

CLKE MOV

A,MONTH CJNE A,#2,CLK3 MOV

A,YEAR ANL A,#13H JNB

ACC.4,CLK2

课程设计报告

ADD

A,#2 CLK2: ANL A,#3 JNZ

CLK3 MOV

A,DAY XRL A,#29H JZ

CLKE CLK3: MOV

DAY,#1 MOV

A,MONTH ADD

A,#1 DA

A MOV

MONTH,A CJNE A,#13H,CLKE MOV

MONTH,#1 MOV

A,YEAR ADD

A,#1 DA

A MOV

YEAR,A CLKE99: CALL

CONVERT CLKE:

课程设计报告

POP

PSW POP

ACC RETI DISP: PUSH

PSW PUSH

ACC MOV

23H,R0 DISP99: MOV

R1,#40H MOV

R0,#30H MOV

R2,#9 DISP1: MOV A,@R0 ANL A,#0FH MOV @R1,A MOV A,@R0 SWAP A ANL A,#0FH INC R1 MOV @R1,A DJNZ R2,DISP2 CALL DISPLAY

课程设计报告

MOV R0,23H POP ACC POP PSW RET DISP2: INC R1 INC R0 JMP DISP1 DISPLAY: MOV R1,#40H MOV R5,#19 SETB AAA PLAY: SETB BBB NOP CLR BBB CLR AAA MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR MOV COM,A CALL DL1MS

课程设计报告

MOV COM,#0FFH DJNZ R5,PLAY1 CLR BBB SETB AAA RET PLAY1: INC R1 JMP PLAY TAB: DB 0C0H,0F9H,0A4H, 0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,0A3H,8EH,0ABH DL1MS: MOV 25H,R7 MOV 24H,R6 MOV R7,#20 DS1: MOV R6,#10 DJNZ R6,$ DJNZ R7,DS1 MOV R7,25H MOV R6,24H RET

课程设计报告

START_YEAR EQU 01 CONVERT_YEAR DATA 5CH CONVERT_MONTH DATA 38H CONVERT_DATE DATA 37H TEMP_BYTE1 DATA 57H TEMP_BYTE2 DATA 58H TEMP_BYTE3 DATA 59H TEMP_BYTE4 DATA 5AH TEMP_BYTE5 DATA 5BH CONVERT: MOV A, YEAR MOV TIME_YEAR,A MOV A,MONTH MOV TIME_MONTH,A MOV A,DAY MOV TIME_DATA,A MOV A,TIME_YEAR MOV B,#16 DIV AB MOV CONVERT_YEAR,B MOV B,#10 MUL AB

课程设计报告

ADD A,CONVERT_YEAR MOV CONVERT_YEAR,A MOV A,TIME_MONTH JNB ACC.4,CON_02 CLR ACC.4 ADD A,#10 CON_02:MOV CONVERT_MONTH,A MOV A,TIME_DATA MOV B,#16 DIV AB MOV CONVERT_DATE,B MOV B,#10 MUL AB ADD A,CONVERT_DATE MOV CONVERT_DATE,A MOV DPTR,#MONTH_DATA MOV A,CONVERT_YEAR CON_06:CLR C SUBB A,#START_YEAR MOV B,#3 MUL AB ADD A,DPL

课程设计报告

MOV DPL,A MOV A,B ADDC A,DPH MOV DPH,A MOV A, #2 MOVC A, @A+DPTR CLR ACC.7 MOV B, #32 DIV AB MOV TEMP_BYTE1,A MOV TEMP_BYTE2,B MOV TEMP_BYTE3,#0 MOV A,CONVERT_MONTH CJNE A,#10,CON_08 CON_08:JC CON_09 MOV TEMP_BYTE3,#1 CON_09:MOV A,CONVERT_YEAR ANL A,#03H JNZ CON_10 MOV A,CONVERT_MONTH LCALL GET_RUN_DAYS_LOW SJMP CON_12

课程设计报告

CON_10:MOV A,CONVERT_MONTH LCALL GET_DAYS_LOW CON_12:MOV B,CONVERT_DATE DEC B ADD A,B MOV TEMP_BYTE4,A JNC CON_14 INC TEMP_BYTE3 CON_14:MOV A,TEMP_BYTE1 LCALL GET_DAYS_LOW DEC A ADD A,TEMP_BYTE2 MOV TEMP_BYTE5,A MOV A,CONVERT_MONTH CJNE A,TEMP_BYTE1,CON_20 MOV A,CONVERT_DATE CJNE A,TEMP_BYTE2,CON_20 CON_20:JC CON_22 LJMP CON_60 CON_22:MOV A,CONVERT_YEAR JNZ CON_24 MOV A,#100

课程设计报告

CON_24:DEC A MOV CONVERT_YEAR,A MOV A,DPL CLR C SUBB A,#3 MOV DPL,A JNC CON_26 DEC DPH CON_26:MOV A,TEMP_BYTE5 CLR C SUBB A,TEMP_BYTE4 MOV TEMP_BYTE3,A MOV CONVERT_MONTH,#12 CLR F0 CLR A MOVC A,@A+DPTR ANL A,#0F0H SWAP A;MOV TEMP_BYTE4,A JZ CON_30 MOV A, #2 MOVC A , @A+DPTR

课程设计报告

MOV C, ACC.7 MOV A, #1 MOVC A, @A+DPTR RLC A SJMP CON_34 CON_30:MOV A, #1 MOVC A, @A+DPTR CON_34:MOV TEMP_BYTE5, A CON_40:MOV A, TEMP_BYTE5 RRC A MOV TEMP_BYTE5, A JC CON_42 MOV B, #29 SJMP CON_44 CON_42:MOV B, #30 CON_44:MOV A, TEMP_BYTE3 CLR C SUBB A, B JZ CON_46 JNC CON_50 CPL A INC A

课程设计报告

CON_46: INC A MOV B, #10 DIV AB SWAP A ORL A, B MOV CONVERT_DATE, A MOV A, CONVERT_MONTH MOV B, #10 DIV AB SWAP A ORL A, B MOV CONVERT_MONTH, A MOV A, CONVERT_YEAR MOV B, #10 DIV AB SWAP A ORL A, B MOV CONVERT_YEAR, A CALL WEEK RET CON_50:MOV TEMP_BYTE3, A JB F0, CON_52

课程设计报告

DEC CONVERT_MONTH CON_52:MOV A, CONVERT_MONTH CJNE A, TEMP_BYTE4, CON_54 CPL F0 CON_54:SJMP CON_40 CON_60:MOV A, TEMP_BYTE4 CLR C SUBB A, TEMP_BYTE5 MOV TEMP_BYTE4, A JNC CON_62 DEC TEMP_BYTE3 CON_62:MOV CONVERT_MONTH, #1 CLR A MOVC A, @A+DPTR MOV TEMP_BYTE5, A ANL A, #0F0H SWAP A XCH A, TEMP_BYTE5 CLR F0 ANL A, #0FH MOV TEMP_BYTE1, A MOV A, #1

课程设计报告

MOVC A, @A+DPTR MOV TEMP_BYTE2, A ANL A, #0F0H ORL A, TEMP_BYTE1 SWAP A MOV TEMP_BYTE1, A MOV A, #2 MOVC A, @A+DPTR MOV C, ACC.7 MOV A, TEMP_BYTE2 ANL A, # 0FH SWAP A MOV ACC.3, C MOV TEMP_BYTE2, A CON_70:MOV A, TEMP_BYTE2 RLC A MOV TEMP_BYTE2, A MOV A, TEMP_BYTE1 RLC A MOV TEMP_BYTE1, A JC CON_72 MOV B, #29

课程设计报告

SJMP CON_74 CON_72:MOV B, #30 CON_74:MOV A, TEMP_BYTE4 CLR C SUBB A,B JNC CON_78 MOV B, A MOV A, TEMP_BYTE3 JZ CON_76 DEC TEMP_BYTE3 MOV TEMP_BYTE4, B SJMP CON_80 CON_76:MOV A, TEMP_BYTE4 LJMP CON_46

CON_78:MOV TEMP_BYTE4, A CON_80:MOV A, CONVERT_MONTH CJNE A, TEMP_BYTE5, CON_82 CPL F0 JNB F0, CON_82 SJMP CON_70 CON_82:INC CONVERT_MONTH SJMP CON_70

课程设计报告

GET_DAYS_LOW: MOVC A, @A+PC RET DB 0,31,59,90,120,151,181,212,243,17,48,78 GET_RUN_DAYS_LOW: MOVC A, @A+PC RET DB 0,31,60,91,121,152,182,213,244,18,49,79 MONTH_DATA:

DB 04DH,04AH,0B8H;2001 DB 00DH,04AH,04CH;2002 DB 00DH,0A5H,041H;2003 DB 025H,0AAH,0B6H;2004 DB 005H,06AH,049H;2005 DB 07AH,0ADH,0BDH;2006 DB 002H,05DH,052H;2007 DB 009H,02DH,047H;2008 DB 05CH,095H,0BAH;2009 DB 00AH,095H,04EH;2010 DB 00BH,04AH,043H;2011

课程设计报告

DB 04BH,055H,037H;2012 DB 00AH,0D5H,04AH;2013 DB 095H,05AH,0BFH;2014 DB 004H,0BAH,053H;2015 DB 00AH,05BH,048H;2016 DB 065H,02BH,0BCH;2017 DB 005H,02BH,050H;2018 DB 00AH,093H,045H;2019 DB 047H,04AH,0B9H;2020 DB 006H,0AAH,04CH;2021 DB 00AH,0D5H,041H;2022 DB 024H,0DAH,0B6H;2023 DB 004H,0B6H,04AH;2024 DB 069H,057H,03DH;2025 DB 00AH,04EH,051H;2026 DB 00DH,026H,046H;2027 DB 05EH,093H,03AH;2028 DB 00DH,053H,04DH;2029 DB 005H,0AAH,043H;2030 DB 036H,0B5H,037H;2031 DB 009H,06DH,04BH;2032 DB 0B4H,0AEH,0BFH;2033

课程设计报告

DB 004H,0ADH,053H;2034 DB 00AH,04DH,048H;2035 DB 06DH,025H,0BCH;2036 DB 00DH,025H,04FH;2037 DB 00DH,052H,044H;2038 DB 05DH,0AAH,038H;2039 DB 00BH,05AH,04CH;2040 DB 005H,06DH,041H;2041 DB 024H,0ADH,0B6H;2042 DB 004H,09BH,04AH;2043 DB 07AH,04BH,0BEH;2044 DB 00AH,04BH,051H;2045 DB 00AH,0A5H,046H;2046 DB 05BH,052H,0BAH;2047 DB 006H,0D2H,04EH;2048 DB 00AH,0DAH,042H;2049 DB 035H,05BH,037H;2050 DB 009H,037H,04BH;2051 DB 084H,097H,0C1H;2052 DB 004H,097H,053H;2053 DB 006H,04BH,048H;2054 DB 066H,0A5H,03CH;2055

课程设计报告

DB 00EH,0A5H,04FH;2056 DB 006H,0B2H,044H;2057 DB 04AH,0B6H,038H;2058 DB 00AH,0AEH,04CH;2059 DB 009H,02EH,042H;2060 DB 03CH,097H,035H;2061 DB 00CH,096H,049H;2062 DB 07DH,04AH,0BDH;2063 DB 00DH,04AH,051H;2064 DB 00DH,0A5H,045H;2065 DB 055H,0AAH,0BAH;2066 DB 005H,06AH,04EH;2067 DB 00AH,06DH,043H;2068 DB 045H,02EH,0B7H;2069 DB 005H ,02DH, 04BH;2070 DB 08AH, 095H, 0BFH;2071 DB 00AH, 095H, 053H;2072 DB 00BH, 04AH, 047H;2073 DB 06BH, 055H, 03BH;2074 DB 00AH, 0D5H, 04FH;2075 DB 005H, 05AH, 045H;2076 DB 04AH, 05DH, 038H;2077

课程设计报告

DB 00AH, 05BH, 04CH;2078 DB 005H, 02BH, 042H;2079 DB 03AH, 093H, 0B6H;2080 DB 006H, 093H, 049H;2081 DB 077H, 029H, 0BDH;2082 DB 006H, 0AAH, 051H;2083 DB 00AH, 0D5H, 046H;2084 DB 054H, 0DAH, 0BAH;2085 DB 004H, 0B6H, 04EH;2086 DB 00AH, 057H, 043H;2087 DB 045H, 027H, 038H;2088 DB 00DH, 026H, 04AH;2089 DB 08EH, 093H, 03EH;2090 DB 00DH, 052H, 052H;2091 DB 00DH, 0AAH, 047H;2092 DB 066H, 0B5H, 03BH;2093 DB 005H, 06DH, 04FH;2094 DB 004H, 0AEH, 045H;2095 DB 04AH, 04EH, 0B9H;2096 DB 00AH, 04DH, 04CH;2097 DB 00DH, 015H, 041H;2098 DB 02DH, 092H, 0B5H;2090

课程设计报告

DB 00DH, 053H, 049H;2100 TIME_WEEK1 DATA 52H WEEK: MOV A, TIME_YEAR MOV B, #16 DIV AB MOV TEMP_BYTE1, B MOV B, #10 MUL AB ADD A, TEMP_BYTE1 MOV TEMP_BYTE1, A MOV A, TIME_MONTH JB ACC.7, GETW02 MOV A, #100 ADD A, TEMP_BYTE1 MOV TEMP_BYTE1, A MOV A, TIME_MONTH CLR ACC.7 GETW02: JNB ACC.4, GETW04 ADD A , #10 CLR ACC.4 GETW04: MOV TEMP_BYTE2,A

课程设计报告

MOV A, TIME_DATA MOV B, #16 DIV AB MOV TEMP_BYTE3, B MOV B, #10 MUL AB ADD A, TEMP_BYTE3 MOV TEMP_BYTE3, A MOV A ,TEMP_BYTE1 ANL A, #03H JNZ GETW10 MOV A, TEMP_BYTE2 CJNE A, #3,GETW06 GETW06: JNC GETW10 DEC TEMP_BYTE3 GETW10: MOV A,TEMP_BYTE2 LCALL GET_CORRECT ADD A, TEMP_BYTE1 MOV B, #7 DIV AB

MOV A, TEMP_BYTE1

课程设计报告

ANL A, #0FCH RR A RR A ADD A, B ADD A, TEMP_BYTE3 MOV B, #7 DIV AB MOV A, B CJNE A, #0,OUTOUT MOV B, #8 OUTOUT: MOV TIME_WEEK, B RET GET_CORRECT: MOVC A, @A+PC RET DB 0,3,3,6,1,4,6,2,5,0,3,5 END 系统仿真及调试

课程设计报告 仿真结果及分析

课程设计报告

上图为运行时的显示,左边两个数码管显示器显示的是年、月、日,中间的显示的是时、分、秒,右边显示的是农历日期以及星期。若想要调试时间,可通过右下方两个并联开关调试,左边开关调试数码管显示位置,右边的调试增1。此刻是2013年11月29日下午15:02,星期五,时间准确。训练体会

在整个单片机课程设计中,想要做出这个完整的设计过程,必须突破几个难点:

1、元件得找准却,6路驱动可以用74LS244代替。

2、连线不能连错,对应的输入输出端标上序号。

3、程序代码不能敲错。

4、由于单管显示的星期数不稳定,可以采用双管显示。参考文献:单片机课程设计指导。

下载基于PIC单片机电子万年历实验报告word格式文档
下载基于PIC单片机电子万年历实验报告.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    万年历单片机综合实验[推荐阅读]

    综合实验报告 实验题目: 万年历 学生班级: 学生姓名: 学生学号: 指导教师: 实验时间: 摘要 本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒及星期信息,并......

    单片机万年历实训报告

    单片机万年历实训报告 系部:电气自动化系 班级:13电信2班姓名:周祝福 指导老师:黄丽英、侯聪玲 实训时间:2015年1月19日~23日 用AT89C51与LCD1602设计 的可调式电子日历时钟......

    单片机实验报告[范文模版]

    实 实 验 验 报 报 告实验课程: 单片机原理及应用班级: 12 自动化 2 班 学号:姓名:教师:张玲 成绩:实 验 日 期 :年 月 日 实验名称: 实验 1-—计数显示器一、实验目得: 学习Prot......

    单片机实验报告

    《单片机原理及应用》 实 验 报 告 2017—2018学年第一学期 班级: 152 专业: 电子科学与技术 姓名: 子路 学号: 教师: 实验一:Keil C51 一、实验目的 1、熟悉Keil C51单片机应用......

    单片机实验报告

    目录 第一章单片机简介.................................................... 2 第二章实验要求.................................................. 3 第三章实验设备.........

    单片机实验报告

    单片机实验报告 一、实验目的 1.熟练使用Keil、Protues两款软件 2.通过上机操作,增强个人动手实践能力 3.加深对理论知识的理解 4.培养运用汇编语言进行初步编写程序的能力......

    单片机实验报告

    实验四、中断交通灯实验 林立强1000850116 一、实验目的 1、了解MCS-51单片机的组成、中断原理,中断处理过程、外部中断的中断方式。 2、掌握中断响应及处理的编程方法。 二......

    单片机实验报告

    51单片机控制流水灯 目录 (1)51精简开发板简介 (2)实验目的 (3)实验内容 (4)元件 (5)原理图 (6)实验步骤 (7)主要功能介绍(8)实验错误及分析 (9)调试及程序 (10)系统测试 (11)实验心得 一、51精简......