求单片机课程设计实验 用汇编语言,基于51单片机的定时闹钟

要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反, 如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。已达到在不同的时间控制不同的灯亮还有周期循环

MOV AL,0FFH

单片机课程设计(单片机课程设计电子秒表)单片机课程设计(单片机课程设计电子秒表)


单片机课程设计(单片机课程设计电子秒表)


MOV DX,300H

OUT DX,AL

CALL CLEAR ;LCD 清除

LEA BX,HZ_TAB

MOV CH,2 ;显示第2行信息

CALL H 同IN2(IN4) 同IN1(IN3) 快速停止 LCD_DISP

LEA JMP AJCX ;无键按下,转按键查询 BX, HZ_TAB

MOV CH,3 ;显示第3行信息

CALL LCD_DISP

l1: JMP L1

CLEAR PROC

OUT DX,AL ;设置CLEAR命令

CALL CMD_SETUP ;启动LCD执行命令

RET

高分求单片机课程设计报告

CALL XDYS ;调转消抖延时程序

手边有一些你需要的关于单片机的论文设计资料 需要的话加QQ 晚上7点以后隐身在线,直接加就行,说明要的资料名字就好。嘿嘿 楼主 要是觉的好的话 可别忘了给分哦。

JNB P1.1, AJCL-2 ;键按下,转移到消抖延时程序

多路防盗报警器

用单片机定时器T0产生38KHz的方波,再用定时器T1产生Hz的方波对38KHz方波进行调制。为了提高小车反应灵敏度,对线接收信号及黑带检测信号都采用中断法来处理。用定时方法对铁片检测、计量路程、、拐弯及数码管动态扫描进行处理。

急求单片机课程设计.要求:八个按键控制八个LED,按下一个按键相应的LED亮一秒

3 通过某一电路的综合设计,了解某一电路的综合设计过程、设计要求

8个按键接P1口,8个LED接P0口。

ORG 00H

AJCX:

JNB P1.0, AJCL-1 ;键按下,转移到消抖延时程序

JNB P1.2, AJCL-3 ;键按下,转移到消抖延时程序

JNB P1.3, AJCL-4 ;键按下,转移到消抖延时程序

JNB P1.4, AJCL-5 ;键按下,转移到消抖延时程序

JNB P1.5, AJCL-6 ;键按下,转移到消抖延时程序

JNB P1.6, AJCL-7 ;键按下,转移到消抖延时程序

JNB P1.7, AJCL-8 ;键按下,转移到消抖延时程序

AJCL-1: ;按键处理程序

JNB P1.0, $ ;查询P1.0等待

CLR P0.0 ;点燃P1.0口LED灯

SETB P0.0 ;关掉P1.0口LED灯

SJMP AJCX ;AJCL-7: ;按键处理程序转移到按键查询程序

AJCL-2: ;按键处理程序

JNB P1.1, $ ;查询P1.1等待

CLR P0.1 ;点燃P0.1口LED灯

SETB P0.1 ;关掉P0.1口LED灯

SJMP AJCX ;转移到按键查询程序

AJCL-3: ;按键处理程序

JNB P1.2, $ ;查询P1.2等待

CLR P0.2 ;点燃P0.2口LED灯

SETB P0.2 ;关掉P0.2口LED灯

SJMP AJCX ;转移到按键查询程序

AJCL-4: ;按键处理程序

JNB P1.3, $ ;查询P1.3等待

CLR P0.3 ;点燃P0.3口LED灯

SETB P0.3 ;关掉P0.3口LED灯

SJMP AJCX ;转移到按键查询程序

JNB P1.4, $ ;查询P1.4等待

CLR P0.4 ;点燃P0.4口LED灯

SETB P0.4 ;关掉P0.4口LED灯

SJMP AJCX ;转移到按键查询程序

AJCL-6: ;按键处理程序

CLR P0.5 ;点燃P0.5口LED灯

SETB P0.5 ;关掉P0.5口LED灯

SJMP AJCX ;转移到按键查询程序

JNB P1.6, $ ;查询P1.6等待

CLR P0.6 ;点燃P0LCALL YS10MS.6口LED灯

SETB P0.6 ;关掉P0.6口LED灯

SJMP AJCX ;转移到按键查询程序

AJCL-8: ;按键处理程序

JNB P1.7, $ ;查询P1.7等待

CLR P0.7 ;点燃P0.7口LED灯

SETB P0.7 ;关掉P0.7口LED灯

SJMP AJCX ;转移到按键查询程序

LDYS: MOV R7, #10

L1: MOV R5, #246

DJNZ R5, $

DJNZ R6, L1

DJNZ R7, L2

RET

XDYS: MOV R4, #60

L3: MOV R3, #248

DJNZ R3, $

DJNZ R4, L3

RET

END

单片机课程设计,节日彩灯设计

ORG 0000H

LJM单片机交通灯数码管时间走太快了,就是代码问题。这代码写的太神奇了。看程序,T0定时是50ms,那应该是中断20次才是1秒,那个9是怎么算的来的?这个结果就是秒计时快了。P MAIN

ORG JNB P1.5, $ ;查询P1.5等待 0100H

MAIN: MOV P0,#0FFH

MOV A,,#0FEH

LLA: JB P1.0,LLA

RL 一 摘要A

LLC: JB P1.1,LLB

JB P1.1,LLB

SJMP MAIN

哈哈 别忘了 给俺加分啊

单片机课程设计88点阵显示

方案二:采用LED七段数码管,采用经典电路译码和驱动,电路结构简单,并且可以实现单片机I/O口的并用,显示效果直观,明亮,调试容易。故采用LED数码管显示。

//流水灯的方式测试点阵

#include

////////////////////////////////////////////////////////

void delay(unsigned int cnt)

{while(--cnt);

}///////////////////////////////////////////////////////

main()

{P2=0x00;

P0=0x55;

P2=0xfe;//给初始化值

while(1)

{delay(30000);//delay at crystal frequency in 12MHz

P2<<=1;//左移一位

P2|=0x01;//一位补1

if(P2==0x7f)//检测是否移到最左端?

{delayi++;(30000);//delay

P2=0xfe;

P0=~P0;

}}

}再给你一个显示心形的,其他要显示什么你自己改下数组,点亮相应的点就可以了

/copyright 2007,ShangHai HaoTun Electronic Technology co.,Ltd

This sample is used for 7-seg led dynamic display .

write by Shifang 2007-4-23

V1.1

/

#include

unsigned char const dofly[]={0x00,0x6C,0x92,0x82,0x44,0x28,0x10,0x00};// 心的形状

unsigned char code seg[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//分别对应相应的段亮

////////////////////////////////////////////////////////

void delay(unsigned int cnt)

{while(--cnt);

}///////////////////////////////////////////////////////

main()

{unsigned char i;

while(1)

{P0=dofly[i];//取显示数据

P2=seg[i]; //取段码

delay(200); //扫描间隙延时

if(8==i)

i利用光的反射原理,当光线照射在白纸上,反射量比较大,反之,照在黑色物体上,由于黑色对光的吸收,反射回去的量比较少,这样就可以判断黑带轨道的走向。由于各路传感器会对单片机产生一定的干扰,使信号发生错误。因此,采用一级射极输出方式对信号进行隔离,这样系统对信号的判断就比较准确。=0;

}}

单片9c51的电子时钟课程设计

还不只是1秒要快,那秒计数是用disp显示子程序来完成的,那个num--; 是调一次disp子程序为1秒,这写程序的思路真是脑洞大开呀。

一. 数码钟工作方案一:采用各类数字电路来组成小车的控制系统,对外围避障信号,黑带检测信号,铁片检测信号,各路趋光信号进行处理。本方案电路复杂,灵活性不高,效率低,不利于小车智能化的扩展,对各路信号处理比较困难。

本作品采用Atmel公司的AT89C51单片机,以汇编语言为程序设计的基础,设计一个用四位数码管显示时、分的时钟。在实物图中,左边靠近电源的绿色发光二极管(长亮)是电源指示灯,表示的是5V稳定电源工作正常;单片机左下角红色发光二极管是秒灯,每闪烁一次表示时间走动一秒钟;按键正上方绿色发光二极管是设置灯,当时间正常走动时此时不亮,当次按下设置键(右键)时,此绿灯亮,同时秒时熄灭,且分钟的两位数码管出现闪烁,时间停止走动,进入校时状态,表示此时可以进行分钟的调整,当按一次加一键(左键)可实现分钟的加一功能,分钟以60分为极限,超出60分则返回数值0,从0再重新算起;如果再次按下设置键时,这时秒灯和设置灯仍旧保持熄灭和点亮状态,表示分钟的数码管停止闪烁,反过来表示小时的两位数码管则开始闪烁,此时可进行小时的调整,按加1键可实现小时的加1功能,小时调整以24为上限,同样超出24小时则从新回0;当第三次按下设置键时,数码管停止闪烁,设置3)声音提示灯熄灭,秒灯重新闪烁,时间以设定值计时。

单片机交通灯课程设计数码管时间走太快了,不知道是不是代码问题(附代码)?

比较以上两种方案的优缺点,方案二简洁、灵活、可扩展性好,能达到题目的设计要求,因此采用方案二来实现。方案二的基本原理如图1所示。

这样AJCL-5: ;按键处理程序计秒非常LLB: MOV P0,A不准确。

单片机的课程设计——在88点阵显示图形

一 六 设计总结 摘要

这个问题不是很难!

MOV AL,0CH

我的理解是楼主可能只用单片机和点阵模块来实现,这需要单片现来做动态扫描。

首先需要你把点阵上要显示图形的代码写出来,即每种图形每行显示的数据,每个图形有8行数据,即占8个字节的空间!

其次要用按键控制,只需你把每种图形以不同的表存起来,再做一个按键扫描程序,当检测到有键按下时,把动态扫描的表头地址更换即可!

单片机 智能小车 课程设计

CALL LDYS ;调亮灯延时

智能小车的设计与制作

MOV DX,IO_ADDRESS

摘要:本课题组设计制作了一款具有智能判断功能的小车,功能强大。小车具有以下几个功能:自动避障功能;寻迹功能(按路面的黑色轨道行驶);趋光功能(寻找前方的点光源并行驶到位);检测路面所放置的铁片的个数的功能;计算并显示所走的路程和行走的时间,并可发声发光。作品可以作为高级智能玩具,也可以作为大学生学习嵌入式控制的强有力的应用实例。

作品以两电动机为主驱动,通过各类传感器件来采集各类信息,送入主控单元AT89S52单片机,处理数据后完成相应动作,以达到自身控制。电机驱动电路采用高电压,高电流,四通道驱动集成芯片L293D。其中避障采用线收发来完成;铁片检测部分采用电感式接近开关LJ18A3-8-Z/BX检测;黑带检测采用线接收二极管完成;趋光部分通过3路光敏二极管对光源信号的采集,再经过ADC0809转化为数字信号送单片机处理判别方向。由控制单元处理数据后完成相应动作,实现了无人控制即可完成一系列动作,相当于简易机器人。

关键字:智能控制 蔽障 线收发 寻迹行驶 趋光行驶

1.总体方案论证与比较

方案二:采用ATM89S52单片机来作为整机的控制单元。线探头采用市面上通用的发射管与及接收头,经过单片机调制后发射。铁片检测采用电感式接近开关LJ18A3-8-Z/BX检测,黑带采用光敏二极管对光源信号采集,再经过ADC0809转化为数字信号送到单片机系统处理。此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现,能很好地满足题目的要求。

图1 智能车运行基本原理图框图

避障部分采用线发射和接受原理。铁片检测采用电感式接近开关LJ18A3-8-Z/BX检测,产生的高低电平信号经过处理后,完成相应的记录数目,驱动蜂鸣器发声。黑带寻迹依靠安装在车底部左右两个光敏二极管对管来对地面反射光感应。寻光设计在小车前端安装3路(左、中、右)光敏电阻对光源信号采集,模拟信号经过ADC0809转化为数字信号送到MCU处理。记程通过在车轮上安装小磁块,再用霍尔管感应产生计数脉冲。记时由软件实现,显示采用普通七段LED。此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现

2.模块电路设计与比较

1) 避障方案选择

方案一:采用避障,受环境影响较大,电路复杂,而且地面对的反射,会影响系统对障碍物的判断。

方案二:采用线避障,利用单片机来产生38KHz信号对线发射管进行调制发射,发射出去的线遇到避障物的时候反射回来,线接收管对反射回来信号进行解调,输出TTL电平。外界对信号的干扰比较小,且易于实现,价格也比较便宜,故采用方案二。

线发射接受电路原理图如图2所示。

采用线避障方法,利用一管发射另一管接收,接收管对外界线的接收强弱来判断障碍物的远近,由于线受外界可见光的影响较大,因此用Hz的信号对38KHz的载波进行调制,这样减少外界的一些干扰。 接收管输出TTL电平,有利于单片机对信号的处理。采用线发射与接收原理。利用单片机产生38KHz信号对线发射管进行调制发射,发射距离远近由RW调节,本设计调节为10CM左右。发射出去的线遇到避障物的时候反射回来,线接收管对反射回来信号进行解调,输出TTL电平。利用单片机的中断系统,在遇障碍物时控制电机并使小车转弯。由于只采用了一组线收发对管,在避障转弯方向上,程序采用遇障碍物往左拐方式。如果要求小车正确判断左转还是右转,需在小车侧边加多一组对管。外界对信号的干扰比较小,性价比高。 。调试时主要是调制发射频率为接收头能接收的频率,采用单片机程序解决。发射信号强弱的调节,由可调精密电阻调节。

图2 线发射接受电路原理图

2)检测铁片方案选择

方案一:采用电涡流原理自制的传感器,取才方便,但难以调试,输出信号也不可靠,比较低,难以准确输出传感信息。

方案二:采用市面易购的电感式接近开关,本系统采用市面比较通用LJ18A3-8-Z/BX来完成铁片检测的任务。虽然电感式接近开关占的体积大,对本是可以接受,且输出信号较可靠,稳定性好,受外界的干扰小,故采用方案二。

检测铁片电路原理图如图3所示。

图3 检测铁片电路原理图

方案一:采用单片机产生不同的频率信号来完成声音提示,此方案能完成声音提示功能,给人以提示的可懂性比较,但在一定程度上能满足要求,而且易于实现,成本也不高,我们出自经费方面考虑,采用方案一。

方案二:采用DS1420可分段录放音模块,能够给人以直观的提示,但DS1420录放音模块价格比较高,也可以采用此方案来处理,但方案二性价比不如方案一。

4)黑带检测方案选择

方案一:采用发光二极管发光,用光敏二极管接收。由于光敏二极管受可见光的影响较大,稳定性。

方案二:利用线发射管发射线,线二极管进行接收。采用线发射,外面可见光对接收信号的影响较小,再用射极输出器对信号进行隔离。本方案也易于实现,比较可靠,因此采用方案二。黑带检测电路图如图4所示。

输出信号进入74LS02。稳定性能得到提升。当小车低部的某边线收发对管遇到黑带时输入电平为高电平,反之为低电平。结合中断查询方式,通过程序控制小车往哪个方向行走。电路中的可调电阻可调节灵敏度,以满足小车在不同光度的环境光中能够寻迹。由于接收对管装在车底,发射距离的远近较难控制,调节可调电阻,发现灵敏度总是不尽人意,采用在对管上套一塑料管,屏蔽外界光的影响,灵敏度大幅提升。再是转弯的时间延迟短长控制。

图4 黑带检测电路图

3)计量路程方案

方案一:利用线对射方式,在小车的车轮开一些透光孔来计量车轮转过圈数,从而间接地测量路程。

方案二:利用霍尔元件来对转过的车轮圈数来计程,在车轮子上装小磁片,霍尔元件靠近磁片一次计程为车轮周长。此方案传感的信号强, 电路简单,但精度不高。

如果想达到一定的计量精度,用霍尔传感元件比较难以实现,因为在车轮上装一定量的小磁片会相互影响,而利用线对射方式不会影响各自的脉冲,可达到厘米的精度,因此采用方案一来实现。计量路程示意图见图5。

通过计算车轮的转数间接测量距离,利用了霍尔元件感应磁块产生脉冲的原理,再对脉冲进行计数。另可采用线原理提高记程精度,其方法为在车轮均匀打上透光小孔,当车轮转动时,光透射过去,不断地输出脉冲,通过单片机对脉冲计数,再经过一个数据的处理过程,这样就可把小车走过的距离计算出来,小孔越多,计数越精密。

图 5 计量路程示意图

3)智能车驱动电路

方案一:采用分立元件组成的平衡式驱动电路,这种电路可以由单片机直接对其进行作,但由于分立元件占用的空间比较大,还要配上两个继电器,考虑到小车的空间问题,此方案不够理想。

方案二:因为小车电机装有减速齿轮组,考虑不需调速功能,采用市面易购的电机驱动芯片L293D,该芯片是利用TTL电平进行控制,对电机的作方便,通过改变芯片控制端的输入电平,即可以对电机进行正反转作,很方便单片机的作,亦能满足直流减速电机的要求。智能车驱动电路实现如图6所示。

图6 智能车驱动电路

小车电机为直流减速电机,带有齿轮组,考虑不需调速功能,采用电机驱动芯片L293D。L293D是的SGS公司的产品。为单块集成电路,高电压,高电流,四通道驱动,设计用来接收DTL或者TTL逻辑电平,驱动感性负载(比如继电器,直流和步进马达),和开关电源晶体管。内部包含4通道逻辑驱动电路。其额定工作电流为1A,可达1.5A,Vss电压最小4.5V,可达36V;Vs电压值也是36V,经过实验,Vs电压应该比Vss电压高,否则有时会出现失控现象。表1是其使能、输入引脚和输出引脚的逻辑关系。

表1 引脚和输出引脚的逻辑关系

EN A(B) IN1(IN3) IN2(IN4) 电机运行情况

H H L 正转

H L H 反转

L X X 停止

L293D可直接的对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的作,非常方便,亦能满足直流减速电机的大电流要求。调试时在依照上表,用程序输入对应的码值,能够实现对应的动作,调试通过。

3) 寻找光源功能

方案一:在小车前面装上几个光电开关,通过不同方向射来的光使光电开关工作,从而对小车行驶方向进行控制,根据光电开关特性,只有当光达到一定强度时才能够导通,因此带有一定的局限性。

方案二:在小车前面装上参数一致的光敏二极管或者光敏电阻,再通过A/D转换电路转换成数字量送入单片机,单片机再对读入的几路数据进行存储、比较,然后发出命令对外围进作。对方案一、二进行比较,方案二硬件稍为复杂,但能够对不同强度的光进行采集以及比较,作灵活,所以采用方案二。

寻找光源电路图如图7所示。

图7 寻找光源电路图

3)显示部分

方案一:采用LCD显示,用单片机可实现显示数据,但显示亮度和字体大小在演示时不尽人意,价格也比较昂贵。

4)显示电路如图8所示。

图8 显示电路

3. 系统原理及理论分析

1) 单片机最小系统组成

单片机系统是整个智能系统的核心部分,它对各路传感信号的采集、处理、分析及对各部分整体调整。主要是组成是:单片机AT89S52、模数转换芯片ADC0809、小车驱动系统芯片L293D、数码管显示的译码芯片74LS47、74LS138及各路的传感器件。

2)避障原理

采用线避障方法,利用一管发射另一管接收,接收管对外界线的接收强弱来判断障碍物的远近,由于线受外界可见光的影响较大,因此用Hz的信号对38KHz的载波进行调制,这样减少外界的一些干扰。 接收管输出TTL电平,有利于单片机对信号的处理。

3)计程原理

通过计算车轮的转数间接测量距离,在车轮均匀打上透光小孔,当车轮转动时,光透射过去,不断地输出脉冲,通过单片机对脉冲计数,再经过一个数据的处理过程,这样就可把小车走过的距离计算出来。

4)黑带检测原理

4. 系统程序设计

主程序流程图见图9,各子程序图见图10、图11、图12。

图9 主程序流程图

图 10 外部中断0服务子程序

图 11 外部中断1服务子程序

图12 定时器1中断子程序

6.调试及性能分析

整机焊接完毕,首先对硬件进行检查联线有无错误,再逐步对各模块进行调试。首先写入电机控制小程序,控制其正反转,停机均正常。加入避障子程序,小车运转正常,调整灵敏度达效果。加入显示时间子程序,显示正常。铁片检测依靠接近开关,对检测信号进行处理并实时显示和发出声光信息,无异常状况。路程显示部分是对霍尔管脉冲进行计数,为了尽量达到,车轮加装小磁片。接着对黑带检测模块调试,发现有时小车会跑出黑带,经判断是因为线收发对管灵敏度不高,调整灵敏度后仍然达不到满意效果,疑是受环境光影响,利用塑料套包围线收发后问题解决。趋光电路主要由三个光敏电阻构成,调整三个光敏电阻的角度同时测试软件,以效果完成趋光功能。

整机综合调试,上电后对系统进行初始化,接着控制电机使小车向前行驶,突然发现系统即刻进入外部中断1,重复多次测试,结果都是自动进入该中断。推断是由刚上电时电机起动所引起,为了避免上电瞬间的影响,在启动小车后延时几毫秒,再开外部中断,结果问题解决。允许的话应采用双电源供电,即电机和电路应分开供电,L293D与单片机之间采用隔离信号控制。这样就不会出现小车启动时程序出错和数码管显示闪动的问题。在计程精度上,可用线原理获得较高精度。

7.结论

通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化,智能小车能够完成各项功能到达。

8.参考文献

《单片机应用技术》

《单片机原理与应用》

《8051单片机程序设计与实例》

《MJB P1.0,LLACS-51单片机实验指导》