单片机程序设计实训汇总

单片机程序设计实训汇总
单片机程序设计实训汇总

单片机程序设计实训

(一)数据块传送

1.实验目的

(1)了解和熟悉仿真器功能及使用方法,

(2)掌握程序汇编方法及汇编后的代码及存储地址

(3)掌握8031内部RAM和传送操作,从而了解MCS-51存贮空间分配

(4)掌握数据块的移动编程方法

2.实验内容

(1)将8031内部RAM前20-7F字节清0

(2)将40H~4FH单元分别置初值0A0~0AFH

(3)将40H~4FH单元传到片内RAM50H~5FH单元

3.实验步骤

数据块的移动编辑要求

(1)阅读仿真器使用说明,

(2)编辑及编译程序如下:

a.将8031内部RAM前20-7F字节清0

b.将40H~4FH单元分别置初值0A0~0AFH

c.将40H~4FH单元传到片内RAM50H~5FH单元

(3)分别用单步、断点和全速之行程序,检查片内RAM40~4FH单元,50~5FH单元内容是否为A0~AFH

4.实验仪器和设备

AEDK5196ET单片机实验箱一台,PC机一台,LCA51ET单片机开发环境。

5.程序流程图

6.参考程序

a:将8031内部RAM前20-7F字节清0

ORG0000H

LJM MAIN

ORG0100H

MAIN:MOV R0,

MOV A,#0

MOV R2,

LOOP:MOV@R0,A

INC R0

DJNZ,LOOP

END

b:将40H~4FH单元分别置初值0A0~0AFH

ORG0000H

LJM MAIN

ORG0100H

MAIN:MOV R0,

MOV A,#0

LOOP:MOV@R0,#0A0H

INC

R0

CJNE R0,,LOOP

END

c:将40H~4FH单元传到片内RAM50H~5FH单元

ORG0000H

MOV R0,#50H

MOV R1,#40H

MOV R2,16H

LOOP:MOV A,@R1

MOV@R0,A

INC R1

INC R0

DJNZ R2,LOOP

7.思考题

(1)说说数据块移动程序在实际中的作用。

(2)若需要移动的数据块大于0FFH时,应如何编程,写出编程方法和原程序清单。

(3)写出程序a、b完整程序和详尽流程图,独立编写程序c。

(4)根据参考程序写出其他程序详尽代码清单,并完成实验。

(二)数据查表

1.实验目的

(1)了解和熟悉仿真器功能及使用方法,

(2)掌握程序汇编方法及汇编后的代码及存储地址

(3)掌握8031内部RAM和传送操作,从而了解MCS-51存贮空间分配

(4)掌握查表程序的编程方法

2.实验内容

(1)按下图给出的函数关系曲线,要求编写出一个解Y=F(X)查表程序

3.实验步骤

(1)对于查表程序的说明

1.程序存放一个按X值自然排列的Y值对应表。

2.查对应Y值,X值存放在内部或外部的某一存储单元,X必须在运行前负值。

3.程序运行后应能查出给定X所对应的Y值,并把Y存放在内部或外部的一个存储单

元中。

4.输入不同的X值,查表求Y值,检查程序运行是否正确

(2)编程实现如下功能

根据x值变化依次取出对应Y值存放以30H为首地址的内存单元。

4.实验仪器和设备

AEDK5196ET单片机实验箱一台,PC机一台,LCA51ET单片机开发环境。5.程序流程图

6.参考程序

ORG0000H

LJMP MAIN

ORG0030H

MAIN:MOV DPTR,

MOV R2,

MOV R0,#30H

MOV R1,#00

LOOP:MOV A,R1

MOVC A,@A+DPTR

MOV,A

INC R0

DJNZ R2,

SJMP$

TAB:DB00H,05H,0AH,0FH,14H,19H,2EH

END

7.实验报告要求

(1)说说数据块移动程序在实际中的作用。

(2)若需要移动的数据块大于0FFH时,应如何编程,写出编程方法和原程序清单。

(3)写出程序一的详尽流程图

(4)写出程序二详尽代码清单

(5)应如何建立Y值表?若在Y值表中对应X值得Y值排列顺序错位有何影响。

(6)能否建立Y值作自释量的X值表,为什么?

(三)多分支程序设计

1.实验目的

(1)了解程序的多分支结构。

(2)熟悉多分支结构程序的编程方法。

2.实验内容

变量X 以补码的形式存放在R0寄存器中,变量Y 与X 的关系如下:

编制程序,求出Y 数据并存放在R1中。

3.实验说明

在编制程序中,对于乘2或除2的运算可用左移一位或右移一位来完成,也可以用乘法和除法指令。

4.实验仪器和设备

AEDK5196ET 单片机实验箱一台,PC 机一台,LCA51ET 单片机开发环境。

5.参考程序框图

设X 数据存放在R0中,Y 数据存放在R1

中,多分支程序设计框图如下图所示。

6.参考程序

ORG

0000H AJMP

START ORG

0070H START :MOV R0,#___;设置R0的内容为00H ~

FFH 范围内任意值,至

少设置五次

MOV

A,R0MOV

B,#02H JZ NEXT

?????<=>=0

X X/20

X X,0X 2X,Y

NEXT1:JB ACC.7,NEXT2

NEXT2:

NEXT:MOV R1,

RET

7.调试程序步骤

(1)填写源程序横线内容,将编写好的源程序输入单片机开发环境,保存文件名为

**.ASM。

(2)对源程序进行编译。

(3)根据提示进行纠错。

(4)将源程序装载入实验仪。

8.思考题

(1)分析并完成参考程序需要填空的内容,写出调试好的程序。

(2)调试程序过程中观察R0、R1的变化情况,写出五组数据。

(3)写出程序中能够实现分支程序的指令并分析指令功能。

(四)数据排序程序设计

1.实验目的

了解数据排序的简单算法。

掌握数列排序的编程方法。

2.实验内容

给出一组随机数,将此组数据排序,使之成为有序(升序)数列。

3.实验说明

数据排序中常用的方法是“冒泡排序”法,算法是从前向后进行相邻数的比较,如果数据的大小次序与要求的顺序不符就将这两个数交换,否则不交换,通过这种相邻数的交换,使小数向前移动,大数向后移动。从前向后进行一次冒泡后,最大的数就会在数列的最后面。再进行下一轮比较,找出第二大数据,直到全部数据按升序排列,程序则冒泡结束。4.实验仪器和设备

AEDK5196ET单片机实验箱一台,PC机一台,LCA51ET单片机开发环境。

5.参考程序框图

数据排序设计参考程序框图如图所示。

6.参考程序

ORG0000H

AJMP START

ORG070H

START:CLR _____ ;互换数据标志位清零

MOV R7,#_____ ;各轮冒泡比较的次数

MOV R0,#_____ ;数据首地址存放于R0中LOOP:MOV A,@R0

MOV _____,A ;暂存数据存放到某一地址

INC R0

MOV _____,@R0 ;取后面的数据存放到某一地址

CLR C

SUBB A,@R0

JC NEXT

MOV @R0,_____ ;交换数据

DEC R0

MOV @ R0,_____ ;交换数据

INC R0

SETB _____ ;置交换标志位为1

NEXT:DJNZ R7,LOOP

JB _____,START ;判断是否有交换,若有,则进行下一轮冒泡,

;若没有,则程序已经排好顺序

SJMP $ ;程序冒泡结束

7.调试程序步骤

(1)填写源程序横线内容,将编写好的源程序输入单片机开发环境,保存文件名为

**.ASM。

(2)对源程序进行编译。

(3)根据提示进行纠错。

(4)将源程序装载入实验仪。

(5)确定调试前的参数设置。选定好排序的起始地址和数据的个数后,在相应的地址修

改内容,例如,选定在片内RAM中,起始地址为40H的16个单元中存放16个无符号数据

进行升序排序。在“查看”菜单中选择“数据存储器”,找到40H~4FH地址修改内容为00H~

FFH范围内任意值。

(6)确定调试方法。用单步运行(F8)或者设置断点连续执行(F5)程序。

(7)观察程序执行结果。观察40H~4FH地址中数据的变化情况。

8.思考题

(1)分析并完成参考程序中的填空内容,写出调试好的程序。

(2)调试程序后写出40H~4FH地址的结果。

(3)修改程序实现降序排序,写出修改方法。

(4)如何用CJNE比较指令实现升序排序?

(5)试编程实现在内部RAM的20H单元开始的10个无符号数中找出最大值存入BIG 单元。

(五)单片机I/O控制实验

1.P1口输入、输出实验

1).实验目的

(1)学习P1口的使用方法。

(2)学习延时子程序的编写和使用。

(3)掌握延时子程序的编写和使用以及延时时间的计算

2).试验内容

(1)P1口作输出口用:P1口接入八只发光二极管,使发光二极管循环点亮(循环点亮延时时间为1秒)

(2)P1口做输入口,接八个扭子开关,以实验机上74LS273做输出口,编写程序读取开关状态,将此状态,在发光二极管上显示出来。

3).实验电路及连线

4.实验说明

1.P1口是准双向口。它作为输出口时与一般的双向口使用方法相同。由准双向口结构可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。因为内部上拉电阻阻值是20KΩ~40KΩ,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。

2.延时子程序的延时计算问题

对于程序DELAY:

MOV R0,#00H

DELAY1:

MOV R1,#0B3H

DJNZ R1,$

DJNZ R0,DELAY1

查指令表可知MOV,DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/11.0592MHz,所以该段程序执行时间为:

((0B3+1)×256+1)×2×12÷11059200=100.002mS

5.实验仪器和设备

AEDK5196ET单片机实验箱一台,PC机一台,LCA51ET单片机开发环境。

6.实验框图

(1)程序1流程图:

程序1流程图

(2)程序2流程图

程序2流程图

7.参考程序

(1)程序1参考

ORG0000H

LJMP START

ORG0040H

START:MOV SP,#60H

MOV A,

ROTATE:MOV P1,A;点亮一个LED RL;循环右移

LCALL;延时

NOP

SJMP

DELAY:;延时子程序(1秒) MOV R0,#0AH

DELAY1:MOV R1,#00H

DELAY2:MOV R2,#0B2H

DJNZ R2,$

DJNZ R1,DELAY2

DJNZ R0,DELAY1

RET

END

(1)程序2参考

ORG0000H

LJMP START

ORG0040H

START:MOV DPTR,#08300H;并行输出口地址

READ:MOV P1,;因P1口是准双向口,所以把P1口作为

;输入口时,应先置高电平.

;读开关状态

MOVX,A;把读入的数据输出

AJMP READ

END

8.试验报告与讨论

1.总结P1口输出一定频率的方波新好的编程方法。

2.总结试验步骤和实验方法

3.如果要实现指示灯多种花样显示,应如何编程?试编写几种花样程

序,如流水灯,追逐灯等显示程序。

2.交通灯控制

1).实验要求

以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。

2).实验目的

(1)学习在单片机系统中扩展简单I/O接口的方法。

(2)学习数据输出程序的设计方法。

(3)学习模拟交通灯控制的方法。

(4)学习双色灯的使用。

3).实验电路及连线

4.实验说明

(1)因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。

(2)双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。

5.实验仪器和设备

AEDK5196ET单片机实验箱一台,PC机一台,LCA51ET单片机开发环境。

6.实验框图

程序流程图:

TRLED1.ASM主程序框图

7.参考程序

;系统晶振是11.0592MHz

ORG0000H

LJMP START

ORG0040H

START:

MOV SP,#60H

LCALL STATUS0;初始状态(都是红灯) CIRCLE:LCALL STATUS1;南北绿灯,东西红灯

LCALL STATUS2;南北绿灯闪转黄灯,东西红灯

LCALL STATUS3;南北红灯,东西绿灯

LCALL STATUS4;南北红灯,东西绿灯闪转黄灯

LJMP

STATUS0:;南北红灯,东西红灯

MOV DPTR,#8300H

MOV A,#0FH

MOVX@DPTR,A

MOV R2,#10;延时1秒

LCALL DELAY

RET

STATUS1:;南北绿灯,东西红灯

MOV DPTR,

MOV A,;南北绿灯,东西红灯

MOVX@DPTR,A

MOV R2,#200;延时20秒

LCALL DELAY

RET

STATUS2:;南北绿灯闪转黄灯,东西红灯MOV DPTR,

MOV R3,#03H;绿灯闪3次

FLASH:MOV A,

MOVX@DPTR,A

MOV R2,#03H

LCALL DELAY

MOV A,

MOVX@DPTR,A

MOV R2,#03H

LCALL DELAY

DJNZ R3,FLASH

MOV A,;南北黄灯,东西红灯

MOVX@DPTR,A

MOV R2,;延时1秒

LCALL DELAY

RET

STATUS3:;南北红灯,东西绿灯

MOV DPTR,#8300H

MOV A,#69H

MOVX@DPTR,A

MOV R2,#200;延时20秒

LCALL DELAY

RET

STATUS4:;南北红灯,东西绿灯闪转黄灯MOV DPTR,#8300H

MOV R3,#03H;绿灯闪3次

FLASH1:MOV A,

MOVX@DPTR,A

MOV R2,#03H

LCALL DELAY

MOV A,#69H

MOVX@DPTR,A

MOV R2,#03H

LCALL DELAY

DJNZ R3,FLASH1

MOV A,;南北红灯,东西黄灯

MOVX@DPTR,A

MOV R2,#10;延时1秒

LCALL DELAY

NOP

RET

DELAY:;延时子程序

PUSH2

PUSH1

PUSH0

DELAY1:MOV1,#00H

DELAY2:MOV0,#0B2H

DJNZ0,$

DJNZ1,DELAY2;延时100mS

DJNZ2,DELAY1

POP0

POP1

POP2

RET

END

8.思考题

(1)总结子程序与主程序区别于联系

(2)总结试验步骤和实验方法

(3)如果要实现指示灯多种花样显示,应如何编程?试编写几种花样程序,如流水灯,追逐灯等显示程序。

(六)定时器/计数器控制实验

1.定时器应用

1).实验要求

由8031内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0-P1.7分别接八个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮......一直循环下去。

2).实验目的

(1)学习8031内部计数器的使用和编程方法。

(2)进一步掌握中断处理程序的编程方法。

3).实验电路及连线

4).实验说明

(1)关于内部计数器的编程主要是定时常数的设置和有关控制寄存器的设置。内部计数器在单片机中主要有定时器和计数器两个功能。本实验用的是定时器,有关计数器的说明请查阅实验七。

(2)内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。因为实验系统的晶振是11.0592MHz,所以定时常数的设置可按以下方法计算:

机器周期=12÷11.0592MHz=1.0857μS

(65536-定时常数)*1.0857μS=50mS

定时常数=4C00H

(3)定时器的有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD用于设置定时器/计数器的工作方式0~3,并确定用于定时还是用于计数。TCON主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。

(4)在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。

5).实验仪器和设备

AEDK5196ET 单片机实验箱一台,PC 机一台,LCA51ET 单片机开发环境。

6).实验框图开始置初始常数开中断置T1的寄存器保护现场置定时常数判是否到1秒恢复现场等待N 查表Y 显示数据调整表格指针T1LED.ASM主程序框图INT_T1中断子程序框图中断返回INT T1入口7).参考程序

;系统晶振是

11.0592

MHz ORG

0000H AJMP

START ORG

001BH ;T1中断入口地址AJMP

INT_T1ORG

0100H START:

MOV

SP,#60H MOV

TMOD,;置T1为方式1MOV

TL1,;延时50mS 的时间常数MOV

TH1,MOV

R0,#00H MOV

R1,#20SETB

SETB

SETB

;开中断SJMP $

INT_T1:;T1中断服务子程序

PUSH ACC;保护现场

PUSH PSW

PUSH DPL

PUSH DPH

CLR TR1;关中断

MOV TL1,;延时50mS常数

MOV TH1,

SETB TR1;开中断

DJNZ R1,EXIT

MOV R1,#20;延时一秒的常数

MOV DPTR,#DATA;置常数表基址

MOV A,R0;置常数表偏移量

;读常数表

MOV P1,A;送P1口显示

INC R0

ANL R0,#07H

EXIT:

POP;恢复现场

POP

POP

POP

;LED显示常数表

DATA:DB05H,0AH,50H,0A0H,55H,0AAH,0FFH,0H

END

8.试验报告要求与讨论。

(1).总结定时器的使用方法。

(2).中断子程序的调用与一般字程序的调用有何区别。

(3).写出程序代码。

2.计数器实验

1).实验要求

8031内部定时计数器,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。使用8031的T1作定时器,50ms中断一次,看T0内每50ms来了多少脉冲,将其数值按二进制数在74LS273驱动LED灯上显示出来,5秒后再次测试。

2).实验目的

(1)学习8031内部定时/计数器使用方法。

(2)进一步掌握中断处理编程方法。

3).实验电路及连线

4).实验说明

(1)本实验中内部计数器起计数器的作用。外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。

(2)实验时P3.4对应的连线分别接频率发生器对应的Q13-Q16,不同频率对应的值会在LED上显示出来。

5).实验仪器和设备

AEDK5196ET单片机实验箱一台,PC机一台,LCA51ET单片机开发环境。

6).实验框图

单片机课程设计报告模板资料

哈尔滨远东理工学院 课题名称 专业班级 学号 学生姓名 指导教师 2015年10月14日

1、例举设计过程中遇到的问题及其解决方法(至少两例)。答:(1)问题说明: 解决方法: (2)问题说明: 解决方法: 2、教师现场提的问题记录在此(不少于2个问题)。

目录 1 设计任务 (1) 2设计方案 (2) 2.1任务分析 (2) 2.2方案设计 (2) 3 系统硬件设计 (3) 3.1时钟电路设计 (3) 3.2复位电路设计 (3) 3.3 灯控制电路设计 (3) 3.4 倒计时显示电路设计 (4) 3.5 按键控制电路设计 (5) 4 系统软件设计 (6) 4.1 1S定时 (6) 4.2 定时程序流程 (6) 4.3交通灯的设计流程图 (6) 4.4定时器0 及中断响应 (7) 5仿真与性能分析 (8) 6心得体会 (9) 参考文献 (10) 附录1 系统原理图 .......................................................................错误!未定义书签。附录2 系统PCB图 .....................................................................错误!未定义书签。附录3 程序清单 .. (11) II

1 设计任务 支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图1.1所示。设东西向为主干道,南北为支干道。 1. 基本要求 (1) 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2) 主、支干道均有车时,两者交替允许通行,主干道每次放行30秒,支干道每次放行20秒,设立30秒、20秒计时、显示电路。 (3) 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。黄灯亮时,原红灯按1Hz 的频率闪烁。 (4) 要求主支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。 2. 选做 (1) 可设置紧急按钮,在出现紧急情况时可由交警手动实现全路口车辆禁行而行人通行状态,即主干道和支干道均为红灯亮。 (2) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速,就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。

单片机实训报告范文精选5篇

单片机实训报告范文精选5篇 实训报告是展示自身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。 单片机课程设计心得体会 在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。通过在单片机小组里的学习我简单总结了几点心得和体会: 第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。 第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。比如:小灯得点亮就没有用到中断可以先不用看。这样可以避免知识过多记不住的麻烦。对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。 第三:程序不要只是看别人得,一定要自己写过才是自己的。开始

不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。当你自己能写出来的时候说明你真懂了。 第四:一定要学会程序调试的方法。有时候把程序写完了然后运行时不能实现理想的现象。这时有人就晕了不知该怎么办,然后就去问别人。当别人找出问题出在哪里时就会恍然大悟。其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。自己一定要掌握解决问的方法和思路。 第五:在学习初期看别人的代码,学习别人的思路这个很有用。通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。但是切记将学习变成抄袭,不能认为抄袭别人的你就学会了,这样只能使你退步。第六:面对一个新项目时,自己一定要多想想,不要急着去看别人是怎么写的。有的人看到新项目时就去找别人的然后抄一小段,自己在写几句,放在一起完成任务,虽然省时间但不利你的学习。当你遇到一新项目时你应该先想一下程序的构架,想想如何来完成。然后自己动手去写,当你遇到实在是没办法解决的问题时再去请教别人,看他是怎么处理的,学习他的方法。这样起码你自己想过了,有自己的思路不会受到别人的影响,这样更容易提高自己。 在单片机的学习开始时感觉很吃力,在不断的学习过程中慢慢的对

基于单片机的定时闹钟课程设计报告书

任务书 一、设计目的 本设计主要是对51单片机的一个方面的扩展,是能实现一般定时闹钟功能的设计。需要实现某一功能时,按对应的按键即可,经过多次验证,此设计灵活简便,可以实现显示、定时、修改定时、定时时间到能发出报警声的功能。 二、设计要求 1、能显示时时—分分—秒秒。 2、能够设定定时时间,并修改定时时间。 3、定时时间到能发出警报声。

目录 1.绪论 (1) 2.方案论证 (1) 3.方案说明 (2) 4.硬件方案设计 (2) 4.1单片机STC89C52 (2) 4.2 时钟电路 (4) 4.3数码管显示电路 (4) 4.4键盘电路 (6) 4.5报警电路 (7) 5.软件方案设计 (7) 5.1系统软件设计 (7) 5.2键盘程序 (7) 5.3 LED (8) 5.4音响报警电路 (8) 5.5 程序流程图 (8) 6.调试 (9) 7.小结 (10) 8.参考文献 (11) 9.附录:定时闹钟源程序 (12)

1.绪论 系统采用单片机STC89C52作为本设计的核心元件,在其基础上外围扩展芯片和外围电路,附加时钟电路,复位电路,键盘接口及LED显示器。键盘采用独立连接式。还有定时报警系统,即定时时间到,通过扬声器发出报警声,提示预先设定时间时间到,从而起到定时作用。 外围器件有LED显示驱动器及相应的显示数字电子钟设计与制作可采用单片机来完成。由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机STC89C52,它是低功耗、高性能的CMOS型8位单片机。片内带有8KB的Flash 存储器,且允许在系统内改写或用编程器编程。另外, STC89C52的指令系统和引脚与8051完全兼容,片内有512B的RAM、32条I/O口线、3个16位定时计数器、4个外部中断、一个7向量4级中断结构(兼容传统51的5向量2级中断结构)等。 在LED显示器中,分成静态显示和动态显示两类,在这个设计的最小系统中主要用了它的动态显示功能,动态显示器利用了人视觉的短暂停留,在数据的传输中是一个一个传输的,且先传输低位。 2.方案论证 单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。 本系统采用单片机STC89C52作为本设计的核心元件,利用两个4位7段共阴LED作为显示器件。接入共阴LED显示器,可显示时,分钟,秒,单片机外围接有定时报警系统,定时时间到,蜂鸣器发出报警声,提示预先设定时间到。 电路由下列部分组成:时钟电路、复位电路、控制电路、LED显示、报警电路,芯片选用STC89C52单片机。 系统基本框图如图2.1所示:

实验一 单片机数据区传送程序设计

实验一单片机数据区传送程序设计 一、实验目的 1.进一步掌握汇编语言程序设计和调试方法。 2.了解单片机RAM中的数据操作 二、实验说明 要求:编写程序把R2、R3源RAM区首地址内的R6、R7字节数据传送到R4、R5目的地址的RAM区。 三、实验仪器 计算机 伟福软件(lab2000P ) 四、实验内容 在R0、R1中输入源地址(例如:3000H),R2、R3中输入目的地址(例如4000H),R6、R7中输入字节数(例如:1FFFH)。 查看RAM 区3000~30FFH和4000~40FFH内容,也可自己重新赋值。 运行程序,首先单步,然后用执行到指定位置,最后用连续运行方式。 记录下运行结果,检查3000~30FFH中内容是否和4000~40FFH内容完全一致。 五、思考题 1、改变源地址,例如00FFH; 2、改变目的地址,例如2000H; 3、改变传输的个数,小于256个和大于256个的情况。 4、把程序改为对某一数据存储区RAM赋都相同一个数值。 六、源程序及其修改原理 org 0000H Block equ 2000h mov dptr, #Block ; 起始地址 mov r0,#12h mov a,#20h ;修改2000h开始的地址所存放的内容为20h Loop: mov r1,#14h ;增加r1计数,用循环方式实现大于256的数据传输(思 考题3) Loop1: movx @dptr,a inc dptr ; 指向下一个地址 djnz r1,Loop1 djnz r0, Loop ; 双循环实现r0,r1计数相乘 (以上程序实现对某一数据存储区2000h~2168hRAM赋都相同一个数值20h,思考题4) mov r0, #20h ;改变源地址为2000h(思考题1) mov r1, #00h mov r2, #50h;改变目的地址为5000h(思考题2) mov r3, #00h

单片机实训的心得体会

单片机实训报告 一周的实训,让我们从另一个角度去发现单片机。期间我学会了很多宝贵的知识和经验,在这次单片机实训中我们巩固了我们平时所学的内容;加深了对各种调试和仿真软件的使用技能;掌握了单片机应用电路的设计和调试方法。 首先,我们要从所给定的元器件中设计出6个不同的电路,并编写程序实现相关任务要求。我们小组设计出的电路主有: (1)数码管轮流显示百十个位的数。要求:数据来源于拨码开关;个位显示完毕停留的时间稍微长些。 (2)定时计数器实现对外部脉冲计数5次后,流水灯的状态由亮点左流动转化成闪烁5次,然后回到初始状态。 (3)单键改变流水灯状态。按键一旦按下,流水灯状态由暗点右流动转化成闪烁8次,然后回到初始状态。 (4)双键改变流水灯状态。按键K0(连接INT0)按下,流水灯状态由亮点左流动,转化成闪烁5次,然后回到初始状态;按键K1(连接INT1)按下,流水灯状态由亮点左流动,转化成暗点右流动至最右端,然后回到初始状态;并且按键K1级别高于K0。 (5)串口输出数据,实现在2个数码管上显示60秒计数器。 (6)在集成的8位数码管上动态显示出:1——8的效果。

其次,我们要对我们所设计的电路进行电路布局、连线,检查电路是否出现错误或者遗漏。 然后,学会用KEIL软件调试程序,并用该软件菜单的各项调试工具和窗口。再结合硬件和软件,进行整体调试。 最后,当我们根据相关要求从所给定的元器件中设计出6个不同的电路、编写程序、线路布局,调试成功,我们的设计就完成了。 在这实训期间我深刻的认识到了理论知识和实践操作必须是相结合的,也许在实训时会有很多各种软、硬件等故障。 在编程时我们就出现了很大的障碍, 本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手, 最后不得不求出其他小组,原来本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的结果很乱。 我们在做双键改变流水灯状态的电路时又发现了一个头痛的问题,发光二极管不亮、开关不管用,刚开始的时候,我们检查了好几遍就是没有发现问题,快要失去耐心是发现少两连接了两根线,这是个好现象让我们有了继续往下的勇气,终于在反复的检查研究中,我们发现发光二极管不亮的正负方向反了,开关接错了位置,这才导致连接线路期间的错误不断。结果是可喜的,在我们小组竭尽全力,同学老师的帮忙下,我们的电路很成功。

单片机课程设计报告模板

单片机系统课程设计报告 专业:自动化 学生姓名: 学号: 指导教师: 完成日期:2011 年 3 月17 日

目录 1 设计任务和性能指标 (3) 1.1设计任务............................................................................ 错误!未定义书签。 2 设计方案 (4) 2.1任务分析 (4) 2.2方案设计 (4) 3 系统硬件设计 (5) 3.1时钟的电路设计 (5) 3.2复位电路设计 (5) 3.3灯控电路设计 (5) 3.4倒计时电路设计 (6) 3.5按键控制电路设计 (7) 4 系统软件设计 (8) 4.11秒定时 (8) 4.2定时程序流程 (8) 4.3交通灯的设计流程图 (9) 4.4定时器0与中断响应 (10) 5 仿真及性能分析 (10) 5.1仿真结果图 (11) 5.2仿真结果与分析 (12) 6 心得体会 (13) 参考文献 (14) 附录1 系统原理图 (15) 附录2 系统PCB图 .................................................................. 错误!未定义书签。附录3 程序清单 (17)

1.1设计任务 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图5.1所示。设东西向为主干道,南北为支干道。 图5.1 交通灯示意图 1. 基本要求 (1) 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干 道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2) 主、支干道均有车时,两者交替允许通行,主干道每次放行30秒, 支干道每次放行20秒,设立30秒、20秒计时、显示电路。 (3) 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。 黄灯亮时,原红灯按1Hz 的频率闪烁。 (4) 要求主支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。 2. 选做 (1) 可设置紧急按钮,在出现紧急情况时可由交警手动实现全路口车辆 禁行而行人通行状态,即主干道和支干道均为红灯亮。 (2) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速, 就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。 南 北 东 西

大学生单片机实习心得(体会心得)

大学生单片机实习心得 随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。本学期我们就学习了单片机这门课程,感觉是有点难呢。也不知道整个学习过程是怎么过来得,可是时间不等人。 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机实习课题也在一周内完成了。俗话说“好的开始是成功的一半”。说这次实习,我认为最重要的就是做好程序调试,认真的研究老师给的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起产品就会事半功倍,如果没弄明白,就迷迷糊糊的去做,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 虽然这次的实习算起来在实验室的时间只有几天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识

单片机开发课程设计报告书模板2015

安康学院单片机课程设计报告书 课题名称:简易秒表设计 姓名:李岩 学号:2012020134 院系:电子与信息工程系 专业:电子信息工程 指导教师: 时间:2015年1月

课程设计项目成绩评定表设计项目成绩评定表

课程设计报告书目录 设计报告书目录 一、设计目的 (1) 二、设计思路 (1) 三、设计过程 (1) 3.1、系统总体方案 (1) 3.2、模块电路设计 (1) 四、系统调试与结果 (3) 五、主要元器件与设备 (3) 六、课程设计体会与建议 (3) 6.1、设计体会 (3) 6.2、设计建议 (3) 七、参考文献 (4)

一、设计目的 1、熟悉单片机定时计数器的工作原理 2、掌握C51语言编程方法。 3、熟悉数码管显示原理 4、熟悉按键工作原理。 二、设计思路 1、设计数码管显示电路。 2、设计按键电路。 三、设计过程 3.1、系统总体方案 数字抢答器总体方框图如图1所示。 其工作原理为:接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置于“开始”状态,宣布“开始”抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作“清除”和“开始”状态开关。 3.2、模块电路设计 抢答器电路如图2所示。 图2 数字抢答器电路 该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。 工作过程:开关S置于“清除”端时,RS触发器的R端均为0,4个触发器输出置0,使74LS148的ST=0,使之处于工作状态。当开关S置于“开始”时,

单片机C语言程序方案实训例——+Proteus仿真(前题)

单片机C语言程序设计实训100例 ——基于8051+Proteus仿真01 闪烁的LED /*名称:闪烁的LED 说明:LED按设定的时间间隔闪烁*/ #include #define uchar unsigned char #define uint unsigned int sbit LED=P10。 //延时 void DelayMS(uint x> { uchar i。 while(x--> { for(i=0。i<120。i++>。 } } //主程序 void main(> { while(1> { LED=~LED。 DelayMS(150>。 } } 02从左到右的流水灯 /*名称:从左到右的流水灯 说明:接在P0口的8个LED 从左到右循环依次点亮,产生走 马灯效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x> { uchar i。 while(x--> {

for(i=0。i<120。i++>。 } } //主程序 void main(> { P0=0xfe。 while(1> { P0=_crol_(P0,1>。 //P0的值向左循环移动 DelayMS(150>。 } } 038只LED左右来回点亮 /*名称:8只LED左右来回点亮 说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x> { uchar i。 while(x--> { for(i=0。i<120。i++>。 } } //主程序 void main(> { uchar i。 P2=0x01。 while(1> { for(i=0。i<7。i++> { P2=_crol_(P2,1>。 //P2的值向左循环移动 DelayMS(150>。 } for(i=0。i<7。i++> { P2=_cror_(P2,1>。 //P2的值向右循环移动

单片机实训心得体会

单片机实训心得体会 单片机实训心得体会 单片机实训心得体会1 通过今次单片机实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。 由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。 踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。 但在这次实训中同时使我对汇编语言有了更深的认识。当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。 这次实训的经历也会使我终身受益,我感受到这次实训是要

真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。 单片机实训心得体会2 近两周的单片机实训结束了,最大的感受是,这是进入大学以来所学的最贴近实际的一门课,原来书本知识与实际操作之间竟然存在这样大的差距,让我不得为今后的工作捏了一把汗,决心更加深入的学习,让自己成为实用型的人。 在做喇叭自检时,我们认为的把程序复杂化了,在做键盘自检时我们和大多数同学一样,都没有把采样保持做好,虽然是第一个接受检查的,但我们还是按老师的要求重新完善了程序。 在做最后的任务时,我们组的任务是“乒乓球游戏机”,开始觉得很有趣,就是双方互打,但是经过和老师的商量和自己站在一个“消费者”的角度考虑后,发现我们的设想太简单了,于是,我们又给它加了“计算比分”、“接住球后加速”以及用不同的显示和声音来表示是否接住球,最后我们又发现这个游戏机没有复位功能,这能玩一次,但是我们用了几段程序都没有实现预想的效果,设计进入了瓶颈阶段,最后,我们在图书馆查找资料,并按我们的要求修改,终于实现了这个功能。

单片机课程设计报告书模板

. .. . .. .. 西南科技大学 2011级微机原理与接口技术 课程设计报告 课题名称微机原理与接口技术 姓名 学号 院、系、部制造科学与工程学院 专业 指导教师 2014年月日

目录 一、绪言 (1) 二、系统设计 (1) 2.1系统整体流程图 (1) 2.2日历时钟的控制方案论证 (1) 2.3单片机的选择方案论证 (2) 2.4键盘选择方案论证 (2) 2.5显示模块的选择方案论证 (2) 2.6模块的选择方案论证 (2) 三、硬件电路设计 (2) 3.1日历时钟的控制电路图 (2) 3.2行列式键盘的设计 (3) 3.3数码管显示电路的设计 (3) 3.4蜂鸣器驱动电路的设计 (4)

3.5主要元器件选择 (4) 四、程序流程图 (5) 五、c语言程序设计 (5) 六、日历时钟的控制器仿真 (19) 6.1K e i l调试 (19) 6.2P r o t e u s调试 (19) 七、结束语 (20) 八、参考文献 (21) 1、绪言 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。电子时钟是现代社会中的主要计时工具之一,广泛应用于手机,电脑,汽车等社会生活需要的各个方面,及对时间有要求的场合。本设计采用AT89C51单片机作为主要核心部件,附以上电复位电路,时钟电路及按键调时电路组成。数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。

单片机实验心得体会3篇

单片机实验心得体会一:单片机实验心得体会 时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。 在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。 这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。将所学知识运用到实践中,在实践中发现问题,强化理论知识。 现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。 第一次是借点亮led灯来熟悉keil软件的使用和试验箱上器材。第一次实验体现了一个人对新事物的接受能力和敏感度。虽然之前做过许多种实验。但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。所以第一次试验相对失败。鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。 在做实验中,第二个问题应该是准备不充分吧。一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。于是我便在上机之前把程序编好,拷到u盘,这样上机时只需调试,解决出现的问题。这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。 三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。但是编程是一件很严肃的事情,容不得半点错误。于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。这也能激发了学习的兴趣。 还有一次实验是调出电脑里的程序,让它在试验箱上实现其功,让我们去体会别人编程的技巧和程序逻辑美感。看了之后,不得不说我目前的水平简直太小儿科了。还有连线也是个问题,

单片机课程设计报告书

课程设计报告(2010— 2011学年第 2 学期) 课程名称:单片机课程设计 班级: 学号: 姓名: 指导教师: 2011年 03月

三、过程(如实际程序开发、电子制作,详细说明有关原理、开发过程、调试过程、结果) 交通灯: (一)、功能描述: 这是一个交通灯模拟系统,每组有绿,红,黄色3支共两组发光二极管表示交通信 号灯,数码管2只共两组以递减的方式表示各色信号灯的时间。在双干线路口上,交通 信号灯的变化是定时的。初始时间设定为红灯30秒,绿灯25秒,黄灯5秒,在此基础 上可通过按键修改红绿灯的时间。 (二)、硬件部分: 电源模块: 1、模块功能简介:此模块为整个系统提供稳定的5V电压。 2、电路图: 3、所用芯片介绍: LM2576系列开关稳压集成电路是线性三端稳压器件的替代品,它具有可靠的工作性能、较高的工作效率和较强的输出电流驱动能力,从而为MCU的稳定、可靠工作提供了强有力的保证。 主要特性:最大输出电流:3A;最高输入电压:LM2576为40V,LM2576HV为60V;输出电压:3.3V、5V、12V、15V和ADJ(可调)等可选;振动频率:52kHz;转换效率:75%~88%(不同电压输出时的效率不同)。

单片机最小系统模块: 1、模块功能介绍:本系统包括时钟电路和复位电路。本课程设计采用的单片机是SST89E58,晶振采用12MHz。 2、电路图: 以上电路包括时钟电路和复位电路。 时钟电路是由振荡电路和分频电路组成,其中振荡电路是由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲;分频电路则用于把振荡脉冲分频,以得到所需要的时钟信号。晶振采用12MHz。 复位电路是采用的按键电平复位,通过使复位端经电阻与VCC电源接通而实现的。 3、所用芯片介绍: SST89E58是通用的8位系列兼容微处理器,工作电压在4.5V和5.5V之间;部RAM 共有1KB;4个8位并行双向I/O口(32个I/O引脚);有4个中断源(2个定时器中断和2个外部中断);采用40引脚双列直插式的封装形式。

单片机C语言程序设计实训100例--基于8051+PROTEUS仿真

《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例 第01 篇基础程序设计 01 闪烁的LED /* 名称:闪烁的LED 说明:LED按设定的时间间隔闪烁 */ #include<> #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; .\r\n"); Puts_to_SerialPort("-------------------------------\r\n"); DelayMS(50); while(1) { Putc_to_SerialPort(c+'A'); DelayMS(100); Putc_to_SerialPort(' '); DelayMS(100); if(c==25) With PCB layout now offering automation of both component ", "can often be the most time consuming element of the exercise.", "And if you use circuit simulation to develop your ideas, ", "you are going to spend even more time working on the schematic." }; //显示缓冲(2行) uchar Disp_Buffer[32]; //垂直滚动显示 void V_Scroll_Display() { uchar i,j,k=0; uchar *p=Msg[0]; uchar *q=Msg[Line_Count]+strlen(Msg[Line_Count]); //以下仅使用显示缓冲的前16字节空间 while(p

心得体会 单片机实训心得体会3篇

单片机实训心得体会3篇 随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。本学期我们就学习了单片机这门课程,感觉是有点难呢。也不知道整个学习过程是怎么过来得,可是时间不等人。 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机实习课题也在一周内完成了。俗话说"好的开始是成功的一半"。说这次实习,我认为最重要的就是做好程序调试,认真的研究老师给的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起产品就会事半功倍,如果没弄明白,就迷迷糊糊的去做,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 虽然这次的实习算起来在实验室的时间只有几天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在

学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 这个设计过程中,我们通过在原有的计数器系统进行了改进,使之增添了暂停、计数、清零等的三个控制功能,使之成为一个更加适用,功能更加完备的属于自己的一个系统。设计结果能够符合题意,成功完成了此次实习要求,我们不只在乎这一结果,更加在乎的,是这个过程。这个过程中,我们花费了大量的时间和精力,更重要的是,我们在学会创新的基础上,同时还懂得合作精神的重要性,学会了与他人合作。作为一名自动化专业的快大三学生,我觉得做单片机实习是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似实习就为我们提供了良好的实践平台。 首先在做本次实习的过程中,我感触最深的当属查阅大量的设计

单片机课程设计报告书

单片机电子时钟 摘要:在日常生活中,电子时钟与我们密切相关,在很多地方都会用到电子时钟。除了专用的时钟、计时显示牌外,许多应用系统常常也带有实时时钟显示,如各种智能化仪器仪表、工业过程控制系统以及家用电器等。实现电子时钟的方法有多种,通过前面我们对单片机基本理论及相关知识的学习,在这里,要求用单片机为主控制芯片设计一简单的单片机电子时钟。近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。 关键词:电子时钟;单片机;计时 SCM Electronic Clock Abstract:In our daily life, the electronic clock is closely related to the electronic clock which will be used in many places. In addition to a dedicated clock, timing licenses, there are many applications which often with real-time clock display, such as a variety of intelligent instrumentation, industrial process control systems and home appliances. There are many ways to realize the Electronic clock, through the front of learning our SCM basic theory and related knowledge, here, the microcontroller-based control chip design a simple single-chip electronic clock. With the development of computer penetration in the social field and LSI in recent years, the using of microcontroller applications is constantly go deeper, because it has the features of a small size, low power consumption, cheap, reliable, easy to use. Therefore it is particularly suitable for the control of the system, more and more widely used in automatic control, Intelligent instruments, data acquisition, and military products and home appliances, SCM often used as a core component in the structure, according to the specific hardware and software for application-specific object characteristics combined to make perfect. Keywords:electronic clock; microcontroller; timing

单片机实验程序设计

实验一LED流水灯 一、实验目的 制作一个流水灯,编写程序来控制发光二极管由上至下的反复循环流水点亮,每次点亮一个发光二极管。 二、程序设计 #include #include sbit LED = P1^0; void delay() { unsigned int i,j; for(i=120;i>0;i++) for(j=120;j>0;j++); } void main() { unsigned char i; LED = 0; while(1) { for(i=0;i<8;i++) { LED=0xfe; delay( ); LED = _crol_(LED,1); P1 = LED; } LED=0X01; for(i=0;i<8;i++) { delay( ); LED = _cror_(LED,1); P1 = LED; } } }

实验二按键扫描 一、实验目的 使用单片机片内的I/O口来进行开关状态的检测。当开关打开时,I/O引脚为高电平,当开关闭合时,I/O引脚为低电平。编写一个程序,控制流水灯,开关闭合,对应的发光二极管点亮。 二、程序设计 #include #include #define GPIO_LED P1 sbit K1=P3^5; sbit K2=P3^4; void Delay10ms( ); void main(void) { unsigned int i,j,l; j=0xfe; while(1) { GPIO_LED=j; if (K1==0) { Delay10ms( ); if (K1==0) { j=_cror_(j,1); while((i<50)&&(K1==0)) { Delay10ms( ); i++; } i=0; } } if (K2==0) { Delay10ms( ); if (K2==0) { l=0xff; GPIO_LED=~l;

51单片机课程设计汇本数字温度计报告

电子毕业设计 数 字 温 度 计 题目:数显温度计学院:电子信息学院班级: 学号: :

指导老师: 日期: 数字温度计设计任务书 一、课程设计目的 1、加强学生理论联系实际的能力,提高学生的动手能力; 2、学会基本电子元器件的识别和检测; 3、学会应用EDA软件Proteus进行电路的设计和仿真; 4、基本掌握单片机的基本原理,并能将其应用于系统的设计。 5、通过实训,提高学生的学习兴趣,激发自主学习能力,培养创新意识。 二、设计任务 先焊制一个单片机最小系统,并以制作的单片机最小系统为核心,设计并制作一个数字式温度计应用系统。 三、设计要求具有以下功能: (1)采用DS18B20作为温度传感器进行温度检测; (2)对采集温度进行显示(显示温度分辨率0.1℃); (3)采集温度数值应采用数字滤波措施,保证显示数据稳定; (4)显示数据,无数据位必须消隐。

目录 数字温度计设计任务书 (2) 1、设计思路 (1)设计原理 (4) (2)系统方案及总体设计框图 (4) 2、数字温度计应用系统的硬件设计 (1)单片机小系统基本组成及硬件图 (2)外围电路工作原理及系统硬件图 (3)主要芯片及其功能 3、系统软件程序的设计 软件流程框图 4、系统调试 (1)仿真器介绍 (2)调试结果及其分析 (3)系统设计电路的特点和方案的优缺点 5、课程设计心得体会 参考文献 附录程序清单及注释

一、设计思路:设计方案及其总体设计框图

温度计设计系统流程图 系统设计原理: 本次课程设计是基于单片机的 数字温度计设计,在开始课程设计 的时候我们要理解并掌握对单片机 的开发,学会使用KEIL及Proteus 等仿真软件。根据设计任务要求选 择好器件,编写好程序运行成功之 后进行软件联调,验证系统是否正 确。通过筛选,我们组选用单片机 AT89S52作为主控制系统;用1602 液晶显示模块芯片作为温度数据显 示装置;智能温度传感器采用 DS18B20器件作为测温电路主要组 成部分。

相关文档
最新文档