单片机课程设计.docx

上传人:b****3 文档编号:2921045 上传时间:2022-11-16 格式:DOCX 页数:12 大小:154.18KB
下载 相关 举报
单片机课程设计.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

单片机课程设计

课程设计实验报告

名称:

单片机与嵌入式系统

题目:

串口控制数码管与亮度控制

院系:

自动化系

班级:

学号:

学生姓名:

指导教师:

《单片机与嵌入式系统》课程设计

一、课程设计目的

单片机课程设计作为独立的教学环节,是测控专业集中实践性环节系列之一,是学习完《单片机原理及应用》课程后,并在进行相关课程设计基础上进行的一次综合练习。

单片机课程设计过程中,学生通过查阅资料,接口设计,程序设计,安装调试等环节,完成一个基于MCS-51系列单片机,涉及多种资源应用,并且有综合功能的小应用系统设计。

使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路,电子元器件等方面的知识进一步加深认识,同时在软件编程,调试,相关仪器设备和相关软件的使用技能等方面得到较全面的锻炼和提高。

使学生增进对单片机的感性认识,加深对单片机理论方面的理解,加深单片机的内部功能模块的应用,如定时器/计数器,中断,片内外存储器,I/O接口,串行口等。

使学生了解和掌握单片机应用系统的软硬件设计过程,方法及实现,强化单片机应用电路的设计与分析能力。

提高学生在单片机应用方面的实践技能和科学作风,培育学生综合运用理论知识解决问题的能力。

二、主要内容

本设计以单片机STC10F08E为核心设计数码管控制器,显示各种状态时间,从0到9。

本设计系统由时钟电路、复位电路、倒计时显示电路、蜂鸣器电路、二极管灯电路等组成。

在程序中采用的是查询方式。

本系统实用性强、操作简单、扩展性强。

本次试验要求数码管显示数字从0-9再从9-0然后蜂鸣器响。

同时要求通过串口控制灯的亮度。

三.设计过程

1.设计原理

我们选择了串口控制灯亮度的题目。

在确定好题目后我们首先分析了题目的原理和设计步骤,在原来数字显示程序的基础上进行改动,当数字从0-9变化后,再从9-0,然后蜂鸣器响一声。

同时在中断的子程序中加入串口控制部分,根据灯闪的频率不同显示出灯的亮度不同,而且是调节占空比来调节灯闪动的频率。

2、设计电路图

1)、单片机系统的时钟电路

ATMEL公司生产的AT89C51单片机它是硬件电路的核心部分,时钟电路晶振使用12MHz,如图一:

图一单片机系统时钟电路

 

2)、单片机系统的复位电路

复位电路采取按键复位方式,设计电路如图二。

主要是方便复位,以便更好的观察仿真数据。

图二单片机系统的复位电路

 

3)、数码管显示电路

数码管显示部分电路如下,P2口作为位选,P0口作为段选。

图三数码管显示电路

 

4)、整体电路设计图四

 

3、主程序流程

 

 

4.程序设计

;----------------------------------------

TWENTY_USEQU50H

TWO_MSEQU51H

TEN_MSEQU52H

SECEQU53H

SEC_OLDEQU54H

MINEQU55H

HOUREQU56H

WEEKEQU57H

TTEQU58H

;---------------------------------------

lamp_sp_bequ6fh

lamp_bz_bequ6eh

;----------------------------------------

LEDP00EQUP1.0

LEDP01EQUP1.1

BEEPEQUP1.6;低电平有效

 

org0000h

jmpmain_start

;------------------

org000bh

jmpt0_zdzcx

;------------------

org0023h

jmpuart_zdzcx

;------------------------------

org0080h

main_start:

clrp1.7;打开段选

movSP,#02fh

callcsh_zcx

main_loop:

MOVA,SEC;将SEC送到A寄存器

XRLA,SEC_OLD;将SED_OLD和SEC进行异或

JZMAIN_NEXT;累加器A为0转移到MAIN_NEXT

;----------------------------------------

movSEC_OLD,SEC

;----------

calllamp_blink_zcx;显示程序

;----------

MAIN_NEXT:

jmpmain_loop

;------------------------------

t0_zdzcx:

pusha

pushPSW

;----------

movTH0,#0FFh

movTL0,#0ECh;20us

;----------

INCTWENTY_US

MOVA,TWENTY_US

CJNEA,TT,ZHK_BJ

CLRLEDp00;置高电平

SJMPFINAL

ZHK_BJ:

;占空比比较

JCFLAG

SETBLEDp00

SJMPFINAL

FLAG:

CLRLEDp00;置高电平

FINAL:

CJNEA,#100,T0_ZDZCX_TC

TWO_MS_CL:

MOVTWENTY_US,#00H

INCTWO_MS

MOVA,TWO_MS

CJNEA,#5,T0_ZDZCX_TC

TEN_MS_CL:

MOVTWO_MS,#00H

INCTEN_MS

MOVA,TEN_MS

CJNEA,#100,T0_ZDZCX_TC

SEC_CL:

MOVTEN_MS,#00H

INCSEC

MOVA,SEC

CJNEA,#60,T0_ZDZCX_TC

MIN_CL:

MOVSEC,#00H

INCMIN

MOVA,MIN

CJNEA,#60D,T0_ZDZCX_TC

HOUR_CL:

MOVMIN,#00H

INCHOUR

MOVA,HOUR

CJNEA,#24,T0_ZDZCX_TC

WEEK_CL:

MOVHOUR,#00H

INCWEEK

MOVA,WEEK

CJNEA,#8,T0_ZDZCX_TC

MOVWEEK,#1

T0_ZDZCX_TC:

;----------

POPPSW

POPA

RETI

;------------------------------

;----------------串口----------

uart_zdzcx:

jbcTI,uart_fs

jbcRI,usrt_js

jmpuart_exit

;----------

uart_fs:

jmpuart_exit;发送程序

;----------

usrt_js:

movlamp_bz_b,SBUF;接收程序

movSBUF,SBUF

;----------

uart_exit:

reti

;------------------------------

;------------------------------

csh_zcx:

;----初始化pwm变量--

MOVTT,#0

;初始化时间变量

CLRA;清空累加器A

MOVTWENTY_US,A;对TWENTY_US清零

MOVTWO_MS,A;对TEN_MS清零

MOVTEN_MS,A;对TEN_MS清零

MOVSEC,A;对SEC清零

MOVMIN,A;对MIN清零

MOVHOUR,A;对HOUR清零

MOVWEEK,#01;给WEEK赋值01

;-----

;初始化指针

movlamp_sp_b,#0

movlamp_bz_b,#0

;-------

;初始化定时器和串口中断

movTMOD,#00100001b

movTH0,#0FFh

movTL0,#0ECh

movTH1,#0f3h;定时器1,uart

movTL1,#0f3h;波特率设定为4800

MOVPCON,#10000000B;关闭倍频

setbTR0

setbTR1

;--uart----

movSCON,#01010000b

;--int-----

movIP,#00000000b

movIE,#10010010b

;----------

ret

;------------------------------

;------------------------------

;-----------显示程序-----------

lamp_blink_zcx:

mova,lamp_bz_b

anla,#00fh

movb,#3

mulab

movdptr,#lamp_ms_tab

jmp@a+dptr

lamp_ms_tab:

ljmplamp_ms0

ljmplamp_ms1

ljmplamp_ms2

ljmplamp_ms3

ljmplamp_ms4

ljmplamp_ms5

;----------

lamp_ms0:

mova,lamp_sp_b

SETBBEEP

JZBEEP_ZCX

LOOP1:

movdptr,#lamp_data_tab

movca,@a+dptr

movP2,a

;----------

inclamp_sp_b

mova,lamp_sp_b

cjnea,#18,lamp_exit

movlamp_sp_b,#0

jmplamp_exit

;----------

lamp_ms1:

MOVTT,#1

jmplamp_ms0

;----------

lamp_ms2:

MOVTT,#10

jmplamp_ms0

;----------

lamp_ms3:

MOVTT,#50

jmplamp_ms0

;----------

lamp_ms4:

MOVTT,#70

jmplamp_ms0

;----------

lamp_ms5:

MOVTT,#99

jmplamp_ms0

;----------

lamp_exit:

ret

;----------------------------------------

BEEP_ZCX:

CLRBEEP

JZLOOP1

RET

;------------------------------

lamp_data_tab:

DB00000011b,10011111b,00100101b,00001101b;0123

DB10011001b,01001001b,01000001b,00011111b;4567

DB00000001b,00001001b;89

DB00000001b,00011111b,01000001b,01001001b;8765

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

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