当前位置:文档之家› 4位单片机微控制器 MC20C11XX

4位单片机微控制器 MC20C11XX

4位单片机微控制器 MC20C11XX
4位单片机微控制器 MC20C11XX

4位单片机微控制器

MC20C11XX

●MC20C1124

●MC20C1120

概述

MC20C11XX是采用CMOS技术的远程控制传输器, 适用于TV,VCR,FANS,空调,音频设备,玩具,游戏等等的远程控制。

MC20C11XX是掩膜版本。

MC20C11XX 1. 概述

1.1特性

■程序存贮

●2048字节(2048×8位)

■数据存贮(RAM)

●32nibble(32×4位)

■3级子程序嵌套

■工作频率

●2.4MHx~4MHz

■指令周期

●F osc/48

■停机模式

■按键输入停机模式唤醒

■安装开电源复位电路

■安装I.R LED驱动晶体管

●I OL=250mA 在V DD=3V和V0=0.3V

■安装低压复位电路

■安装一个看门狗计时器(WDT)

■工作电压低

●1.2~3.6V @4MHz

■20/24 SOP 封装。

MC20C11XX 1.2 模块框图

MC20C11XX 1.3 引脚分布图(俯视图)

MC20C11XX 1.4 封装尺寸

MC20C11XX 1.5 引脚功能

MC20C11XX 1.6 引脚电路

MC20C11XX 1.7 电流特性

1.7.1 最大绝对值范围(Ta=25℃)

*热量降低在25℃以上:温度每升高一度加多6mW.

1.7.2 建议工作条件

MC20C11XX 1.7.3 直流特性(T a=25℃, V DD=3V)

MC20C11XX 2 结构

2.1程序存贮

MC20C11XX最大可存贮程序2048字(2模块×16页×64字×8位)。程序计数器PC

(A0~A5),页码地址寄存器PA(A6~A9)及模块地址寄存器BA(A10)用来寻址全部的程序存贮,指引下条指令要执行的地址。

程序存贮每页有64字,每页可保存64条指令。程序存贮组成如下图所示:

图2-1 程序存贮结构图

MC20C11XX 2.2地址寄存器

以下寄存器用来寻址ROM

·模块寻址寄存器(BA):

保持寻址模块的序数(0~1h)

·模块缓冲寄存器(BB):

寻址一个新模块时,SEBB和REBB指令赋值给模块缓冲器。然后在执行跳转指令(BR)和调用指令(CAL)时转到BA.

·页码地址寄存器(PA):

保持ROM寻址的页码序号(0~Fh)。

·页码缓冲寄存器(PB):

新寻址一页时,LPBI指令赋值给PB.然后在执行跳转指令时(BR)和调用子程序指令(CAL)时,转到PA.

·程序计数器(PC):

在寻址每页的字时可用

·堆栈寄存器(SR):

在子程序调用模式下,存贮返回的地址。

2.2.1 模块地址寄存器和模块缓冲寄存器:

通过1位寄存器,寻址ROM模块0到1。与程序计数器不同,模块地址寄存器不可以自动更改。更改模块地址,要采取以下两步:

(1)写入模块缓冲寄存器决定要跳到哪一个模块(执行SEBB或是REBB)

(2)执行BR和CAL,因为指令码是8位的,所以模块不可同时指出。

如果子程序在另一页被调用,就可以执行返回指令(RTN),页码地址也就会同时相应地更改了。

MC20C11XX 2.2.2 页码地址寄存器和页码缓冲寄存器:

4位二进制计数器在ROM的寻址页码从0~15。与程序计数器不同的是,页码地址寄存器通常不会更改,所以程序在同页内重复执行而不会更改页码,除非建立了更改页码指令。为了更改页码地址,采取两步(1)写入页码寄存器将要跳转的页码(执行LPBI)和(2)执行BR或是CAL,因为指令码是8位的,所以页码和字不能同时指出。

如果子程序被调用在另一页,也执行了返回指令(RTN)那么页码地址就会同时更改。

2.2.3程序计数器:

6位二进制增量计数器取当寻址的字的页码,指示下一指令的执行。为了便于编程,在打开电源时,程序计数器复位到0位置。PA同样被置0。然后程序计数器就会指出下一随机部分的地址。

当BR,CAL,RTN指令被译码,每一步的开关均被关上,不再更新地址。然后,BR,CAL的地址数据从指令操作数(a0到a5)中取出,或是RTN地址从第一堆栈寄存器中取出。

2.2.4 堆栈寄存器:

这个堆栈寄存器可让6位程序计数器分三段指示,页码地址寄存器(4位)和模块地址(1位),所子程序嵌套可以是两级的。

MC20C11XX 2.3 数据存贮(RAM)

32nibbles(16字×2页×4位)空间存贮数据。

全部数据存贮空间是由数据指针(X,Y)间接指出的。页码序号由0位X寄存器指出,及字在页码内的位置由4位Y寄存器指出。数据存贮由每页16 nibbles组成。图2-2显示以下结构。

图2-2 数据存贮组成

2.4 X寄存器(X)

X寄存器为2位,X0是RAM页码的数据指针,X1是与Y寄存器一起,只用来选择D8~D9的值。

表2-1 X,Y寄存器寻址图

2.5 Y寄存器(Y)

Y寄存器有4位。它作为一个数据指针或是通用目的寄存器。Y寄存器指出数据存贮的在页码的

MC20C11XX 地址(A0~A3),它同样也可以用来指出输出端口。并且可以用来指出载波信号的REMOUT口的信号输出方式。在程序中也可以把它看成通用目的寄存器。

2.6 累加器(A

CC

累加器是4位寄存器,用来存放数据和计算结果。

2.7 算术和逻辑单元(ALU)

在这个单元内,4位加法器和比较器是并行相连的,且作为它的主要部分,它们与门锁状态和逻

辑状态相符(标志。)

2.7.1 工作电路(ALU)

加法器和比较器用于基本的全加和数据比较。它通过取反,即把A CC(A CC+1)

正在处理的输出,取相反的数,来实现减法。

2.7.2 逻辑状态:

它是携带ST或是一个标志来控制程序的流程。它仅在指出的指令执行后,发生的三种情况下

才产生,例如溢出,工作中下溢和两个输入不等。

MC20C11XX 2.8 时钟发生器

MC20C11XX有内部时钟振荡器。振荡器电路是设计来与外部陶瓷振荡器一起工作的。

连接在外部的陶瓷振荡器也可用来组织振荡器。

*为了更改陶瓷振荡器,连接一个电容是十分必要的。但是必需参照振荡器生产商的指示,与其

指示相匹配。

2.9脉冲发生器

以下REMOUT端口的载波输出信号的频率和占空比,是由程序(PMR)设置脉冲模式寄存器的

值来决定。

*默认值是“0”

表2-2 PMR选择表

MC20C11XX 2.10 工作复位

MC20C11XX有两种复位方式。其中一个是内置的低压VDD检测电路,另一个是看门狗(WDT)

溢出。

所有的复位工作都是在MC20C11XX内部发生的。

2.11 内置低压复位电路

MC20C11XX有一个低压检测电路。

如果VDD开始复位,低压检测电路处于激活状态,系统开始复位及WDT清零。

当VDD增加时,再次超过了复位电压,WDT就会重新计数直到WDT溢出,WDT溢出后系统

复位就被唤醒。

图2-3低压检测周期图

MC20C11XX 2.12 看门狗计时器(WDT)

看门狗计时器由14位二进制组成。它的信号f osc/48周期是来自WDT复位后WDT的第一位。如

果这个计数器溢出,就会自动出现复位信号,所以内部电路也跟着初使化。

溢出时间是8×6×213/f osc(108.026毫秒当f osc=3.64MHz)

正常情况下,二进制计数器通过复位指令(WDTR),或是开电源复位脉冲,又或是低压检测脉冲,在溢出前必需复位。

*在停机模式下常为复位状态。当停机唤醒,计数就重新开始。(参照2.14停机操作)

图2-4 看门狗计时器的模块框图

MC20C11XX 2.13 停机操作

停机模式可由停机指令来实现

停机模式下:

1.振荡器停止,工作电流低。

2.看门狗计时器复位,且REMOUT输出高。

3.在进入停机模式之前,把除了WDT和REMOUT的输出值分开。

4.D0~D3在停机模式下输出为低。

5.D4~D9在停机模式下的输出状态可通过标志位选项来决定。(为低或是保持停机前状态)

当K,R输入变低时,停机模式唤醒。

当停机模式唤醒时:

1.D4~D9的输出状态和REMOUT的输出状态变回停机模式之前的状态。

2.在8×6×210/f osc振荡稳定周期之后,开始执行第一条指令。

3.返回正常工作模式,WDT计数器从零开始计数。

当执行了停机指令,如果KR其中任何一个的输入为低时,停机指令相当于空指令。

2.14 工作端口

MC20C11XX 3. 指令

3.1 指令格式

MC20C11XX所有的43条指令的格式,是两种OP代码段和8位操作数的形式。以下格式主要由不同的操作数所得。

*格式I

所有的8位OP代码没有操作数

*格式II

两位是操作数,6位为OP代码

两位操作数用来指出RAM的位及X寄存器(位1到7固定在0)

*格式III

四位为操作数及其它为OP代码。

4位为操作数用来指出RAM或是Y寄存器赋值的常量,比较命令中比较器的值,或是ROM的页码地址。

*格式IV

6位操作数及其它的为OP代码。

6位操作数用来字寻址ROM。

MC20C11XX 3.2 指令表

基于单片机的多功能数字钟60秒LED旋转电子钟

第1节引言 1.1 电子钟概述 目前市场上提供的无论是机械钟还是石英钟在晚上无照明的情况下都是不可见的。要知道当前的时间,必须先开灯,故较为不便。现在市场上也出现了一些电子钟,它以六只LED数码管来显示时分秒,违背了人们指针式的传统习惯与理念,而且这类电子钟一般是采用大型显示器件,适用于银行、车站等公共场所,且外观设计欠美观,很少进入百姓家庭。此外,无论是机械钟、石英钟还是电子钟,都存在着共同的问题:时间误差。针对以上存在的问题,我们设计了一款采用LED显示器件显示的电子时钟,解决了时钟存在的误差问题,并能在夜间不必其它照明就能看到时间,且以60只发光管实现秒显示,接近于传统的秒针来显示秒的形式,用户容易接受,而且美观大方。另加七只装饰用的LED灯,使整个时钟显的相当美观新颖,故还可作为室内装饰用。 1.2 设计任务 本次设计通过对一个实现定时、双时钟显示、闹钟、温度等功能的时间系统的设计,其中结合了数据转换显示、数码管显示、动态扫描、单片机定时中断等技术。系统由AT89C2051、LED数码管、按键、三极管、两片CD4017BE、CD4069BE、DS18B20、电阻等组成。能实现时钟时、分、秒的显示。也具有温度显示、时间设置、闹铃开和关设置、制式切换。文章后附有电路图、程序清单。 1.3 系统主要功能 电子钟的外观如图1所示。周边60只发光管顺时旋转来显示秒,中间四只LED 数码管用于显示时间,中下方的七只LED灯顺时旋转,供装饰用。其主要功能有: ①整点报时; ②四只LED数码管显示当前时分; ③每隔一秒钟周边的60只LED发光管旋转一格; ④当发生停电事件时,由后备电池供电,系统进入低功耗状态,所 有显示部件停止显示,这样即延长了电池的寿命,同时又保证CPU继续计数,不至于因停电而时钟停止运行。 ⑤当恢复供电后,系统自动恢复工作状态,不影响计时。

用单片机实现1位LED数码管显示0-9

单片机课程设计题目1位LED数码管显示0-9姓名陈益明 学号 班级 09电力 指导老师许丽汪厚新

目录 一:实验目的与任务…………………二:实验要求…………………………三:实验内容…………………………... 四:实验器材…………………………五:关于PLC控制LED介绍………. 六:原理图绘制说明…………………七:流程图绘制以及说明……………八:电路原理图与仿真………………九:源程序……………………………十:心得体会…………………………十一:参考文献………………………

一、实验与任务 结合实际情况,编程设计、布线、程序调试、检查与运行,完成一个与接近实际工程项目的课题,以培养学生的实际操作能力,适应生产一线工作的需要。做到能检查出错误,熟练解决问题;对设备进行全面维修。 通过实训对PLC的组成、工作原理、现场调试以及基于网络化工作模式的基本配置与应用等有一个一系列的认识和提高。 利用51单片机、1个独立按键及1位7段数码管等器件,设计一个单片机输入显示系统,要求每按一下独立按键数码管显示数据加1(数码管初始值设为0,计到9后再加1 ,则数码管显示0)。 本次设计采用12MHz的晶体振荡器为单片机提供振荡周期,外加独立按键,复位电路和显示电路组成。 二、实验要求 1掌握可编程序控制器技术应用过程中的一些基本技能。 2、巩固、加深已学的理论知识。 3了解可编程控制器的装备、调试的全过程。 4、培养我们综合运用所学的理论知识和基本技能的能力,尤其是培养我们 把理论和实际结合起来分析和解决问题的能力。适应世界生产的需要。 培养出一批既有理论知识又有动手能力的人才。 三、实验内容 1、练习设计、连接、调试控制电路; 2、学习PLC程序编程;

简单51单片机数字时钟设计

题目:简单51单片机数字时钟设计 院系: 物理与电气工程学院 专业:自动化专业 班级:10级自动化 姓名:苏吉振 学号:2 老师:李艾华

引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。 单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个 人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

单片机控制数码管显示

单片机实训 项目:用单片机控制数码管显示及其应用班级: 应用电子技术二班 姓名:赵林旺 学号: 2008061532 时间:2010. 5. 21

用单片机控制数码管显示及其应用 一、实训目的 1. 通过用单片机控制数码管的静态显示,学会用单片机编程进行控制和8段共阳极数码管的使用方法,学会编写与调更复杂的程序,进一步熟悉单片机串行接口的使用,为以后打下基础。 2.在用可能的情况下制作数码管的使用电路,本次通过密码锁的制作,进一步熟悉单片机键盘接口和显示器接口技术,掌握独立式键盘结构下的程序设计思路和步骤。 3.通过本次实训提高汇编语言编程能力、识别元器件能力、单片机外围电路连接。同时加强理论联系实际的能力,提高学生的动手能力,培养学生之间团结协作能力和刻苦耐劳精神。 4.在日常生活中,可以看到采用八段LED数码管构成的显示屏。这里主要完成利用单片机控制数码管,实现静态显示与动态扫描移动显示。 二、实训器材 1. 面包板一片 2.AT89S52 三片 3. 共阳极8段LED数码管三个 4.40引脚的IC插座三个

5. 74LS164芯片 一片 6..+5V 电源 一个 7.510Ω、220Ω、1K Ω、10K Ω电阻 若干 8.晶体振荡器 若干 9.复位开关 若干 10电解电容22uF 、瓷片电容30pF 若干 11.发光二极管 若干 三 、实训原理图 1. 用单片机控制一个数码管依次显示数字0~9的硬件电路如A 图所示: p 1.01p 1.12p 1.23p 1.34p 1.45p 1.56p 1.67p 1.78R ST/VPD 9R X D/p 3.0 10TX D/p 3.111INT 0/p 3.212INT 1/p 3.313T0/p 3.414T1/p 3.515WR /p3.616R D /p3.717XT AL 218 XT AL 119Vss 20 p 2.0 21 p 2.122p 2.223p 2.324p 2.425p 2.526p 2.627p 2.728PSEN 29AL E/PR OG 30EA /Vp p 31p 0.732p 0.633p 0.534p 0.435p 0.336p 0.237p 0.138p 0.039Vcc 4089C 51 R 1R 2R 3R 4R 5R 6R 7R 8 a b f c g d e DP Y 1234567a b c d e f g 8 dp dp DPY_7-SE G_DP co m 510*8 89C51 +5 C 3 22u f C 230p f C 130p f Y1 12MH Z K1 R 910K + GN D +5+5 因为只控制一个数码管,选择采取一直点亮各段的静态显示方式,这种显示可以在较小的电流驱动下获得较高的显示亮度,且占用CPU 时间少,编程简单,便于显示和控制。 汇编语言的程序如下:

用51单片机在数码管上实现 P.移动

/* P.显示程序*/ /* crystal=12Mhz */ /* P2口位控口,P0口段控口*/ #include"reg52.h" #include /*共阳数码管字型码*/ /*0,1,2,3,4,5,6,7,8,9,p.,灭*/ char code dis_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x0c,0x8c,0xff}; /*"P."显示代码序号*/ char code find_code[8]={10,10,10,10,10,10,10,10}; /********************************************************/ //函数名:void DelayX1ms(uint count) //功能:延时时间为1ms //调用函数: //输入参数:count,1ms计数 //输出参数: //说明:总共延时时间为1ms乘以count,crystal=12Mhz /********************************************************/ #define uchar unsigned char #define uint unsigned int void DelayX1ms(uint count) { uint j; while(count--!=0) { for(j=0;j<80;j++); } } /*显示函数*/ void disp() { char i,j=0xfe; char k; for(i=0;i<8;i++) { P2=j; k=find_code[i]; P0=dis_code[k]; DelayX1ms(1);

51单片机数码管时钟程序

本人初学51,编写简单时钟程序。仅供参考学习 #include #define uint unsigned int #define uchar unsigned char Uchar code table_d[16] = {0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1 }; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0xef}; void delay(uint); unsigned long i,num,t=1; void main() { TMOD=0X01; TH0=(65536-10000)/256; TL0=(65536-10000)%256; EA=1; ET0=1; TR0=1; while(1) { num=i/20;//i为秒位 if(i==1728000)//一天大概是这个秒吧,,,应该是,呵呵。就是世间到24时就归零。 i=0; //也可用下面这个部分来代替上面的。 /*if(i==20) { i=0; num++; if(num==5184000) num=0; }*/ //num=9; P2=7;//P2口为数码管控制端,我的是38译码器控制,就直接对其赋值来控制时,分,秒的显示; P0=table[i%100%10]; delay(t); P2=6; P0=table[i%100/10]; delay(t); P0=table_d[(num%60)%10]; P2=5; delay(t); P0=table[(num%60)/10]; P2=4;

基于单片机的数字钟设计-(1)

基于单片机的数字时钟摘要 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 本课题主要研究的是基于单片机的数字钟设计,采用AT89C51单片机作为系统的主控芯片,外接LED显示电路,按键电路,晶振电路,复位电路模块构成一个简单的数字钟。通过按键电路能对时、分、秒分别进行设置和实时调整,并将结果显示在数码管上。 关键词:数字钟,单片机,数码管

Abstract Author:cheng dong Tutor:wang xin Electronic technology has been developed rapidly in the 20 century,with its modern electronic products, pushed by almost permeated every area of society has vigorously promoted social productive forces development and improvement of social informatization level, also make modern electronic product performance further improved, and the rhythm of upgrade its products is becoming more and more quickly. The most common SCM module is a digital clock, a digital clock is a kind of digital circuit technology implementation, minutes and seconds, the timing device with mechanical clock compared with higher accuracy and intuitive and no mechanical device, has more longer service life, so it has been widely used. This topic research is the digital clock design based on SCM, AT89C51 SCM as the main control chip system, external LED display circuit, key circuits, crystals circuit, reset circuit module constitute a simple digital clock. Through the key circuits can respectively the diffculties, minutes and seconds setting and real-time adjustment, and the result showed that in the digital tube. Key words:digital clock SCM ; digital

单片机控制步进电机和数码管显示

一、设计任务书 设计内容:用80C51单片机设计一个步进电机控制器 设计要求: 1.用8015设计一个四相步进电机。 2.可控制步进电机的启动与停止,正转与反转。 3.10档速度调节。 4.点动控制。 5.可显示电机运行参数。 二、设计总体方案 (一)控制方式的选择 控制主要用于电机速度和方向的转换。控制方式有按键控制和开关控制两种。按键较开关而言,操作更加简便,故选按键控制。 方案一:独立按键。独立按键可自由连接,线路简单。 方案二:编码式键盘。编码式键盘的按键接触点接于74LS148芯片。当键盘上没有闭合时,所有按键都断开,当某一键闭合时,该键对应的编码由74LS148输出。 本次设计所需按键不多,不需要采用复杂编码,考虑硬件条件、线路连接和经济性等方面,选择方案一。 (二)电机电路设计方案的选择 由于条件的限制,对于电机的选择只能是实验台上最小步距角18°的电机,其中已包含了驱动电路。 (三)单片机的选择 方案一:AT89C51高性能8位单片机,内部集成CPU、存储器、寄存器、I/O接口,从而构成较为完整的计算机,价格便宜。 方案二:C8051F005单片机,该单片机是完全集成的混合信号系统及芯片,具有8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还继承了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,执行速度快,但价格较贵。 本次课程设计是在仿真环境下进行,没有太过考虑单片机选择的问题,但就设计本身来讲,从物美价廉的角度考虑,选择方案一较合适。 (四)显示方案的选择 方案一:采用LED数码管。LED数码管是轮流现实的,其利用人烟的视觉暂留特性,使人感觉不到数码管闪动,看到每只数码管都常亮。利用其显示必须不停给数码管数据输入口循环赋值,显示内容较多,编程和接线较为复杂。 方案二:采用LCD1602液晶显示器。LCD1602具有功率小,效果明显,变成容易等优点,且它最多能显示2×16个字符,可以轻松满足设计要求。 由上可知,LCD1602液晶显示器的优点突出,故选择方案二。 (五)软件部分的选择 软件部分的选择主要是指编程语言的选择,编译调试工具根据设计平台选择伟福软件。编程语言主要有以下两种方案。

8位数码管显示电子时钟c51单片机程序文件

8位数码管显示电子时钟c51单片机程序 时间:2012-09-10 13:52:26 来源:作者: /* 8位数码管显示时间格式 05—50—00 标示05点50分00秒 S1 用于小时加1操作 S2 用于小时减1操作 S3 用于分钟加1操作 S4 用于分钟减1操作 */ #include sbit KEY1=P3^0; //定义端口参数 sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; sbit LED=P1^2; //定义指示灯参数 code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极数码管0—9 unsigned char StrTab[8]; //定义缓冲区 unsigned char minute=19,hour=23,second; //定义并初始化为 12:30:00 void delay(unsigned intt) { while(--cnt); } /******************************************************************/ /* 显示处理函数 */ /******************************************************************/ void Displaypro(void) { StrTab[0]=tab[hour/10]; //显示小时 StrTab[1]=tab[hour%10]; StrTab[2]=0x40; //显示"-" StrTab[3]=tab[minute/10]; //显示分钟 StrTab[4]=tab[minute%10]; StrTab[5]=0x40; //显示"-" StrTab[6]=tab[second/10]; //显示秒 StrTab[7]=tab[second%10]; } main()

C51单片机定时器及数码管控制实验报告

理工大学信息工程与自动化学院学生实验报告 (201 — 201学年第1 学期) 课程名称:单片机技术

一、实验目的 1.掌握定时器T0、T1 的方式选择和编程方法,了解中断服务程序的设计方法,学会实时程序的调试技巧。 2.掌握LED 数码管动态显示程序设计方法。 二、实验原理 1.89C51 单片机有五个中断源(89C52 有六个),分别是外部中断请求0、外部中断请求1、定时器/计数器0 溢出中断请求、定时器/计数器0 溢出中断请求及串行口中断请求。每个中断源都对应一个中断请求位,它们设置在特殊功能寄存器TCON 和SCON 中。当中断源请求中断时,相应标志分别由TCON 和SCON 的相应位来锁寄。五个中断源有二个中断优先级,每个中断源可以编程为高优先级或低优先级中断,可以实现二级中断服务程序嵌套。在

同一优先级别中,靠部的查询逻辑来确定响应顺序。不同的中断源有不同的中断矢量地址。 中断的控制用四个特殊功能寄存器IE、IP、TCON (用六位)和SCON(用二位),分别用于控制中断的类型、中断的开/关和各种中断源的优先级别。中断程序由中断控制程序(主程序)和中断服务程序两部分组成: 1)中断控制程序用于实现对中断的控制; 2)中断服务程序用于完成中断源所要求的中断处理的各种操作。 C51 的中断函数必须通过interrupt m 进行修饰。在C51 程序设计中,当函数定义时用了interrupt m 修饰符,系统编译时把对应函数转化为中断函数,自动加上程序头段和尾段,并按MCS-51 系统中断的处理方式自动把它安排在程序存储器中的相应位置。 在该修饰符中,m 的取值为0~31,对应的中断情况如下: 0——外部中断0 1——定时/计数器T0 2——外部中断1 3——定时/计数器T1 4——串行口中断 5——定时/计数器T2 其它值预留。 89C51 单片机设置了两个可编程的16 位定时器T0 和T1,通过编程,可以设定为定时器和外部计数方式。T1 还可以作为其串行口的波特率发生器。

51单片机常用数码管显示程序

51单片机常用数码管显示程序---之汇编篇 2010-07-21 03:35:46| 分类:单片机| 标签:51单片机数码管汇编程序|字号大中小订阅一)显示数据缓存寄存器70H,71H,72H,73H,74H,75H,76H,77H。 START: MOV 70H,#1 MOV 71H,#2 MOV 72H,#3 MOV 73H,#4 MOV 74H,#5 MOV 75H,#6 MOV 76H,#7 MOV 77H,#8 ACALL DISP AJMP START DISP: MOV R1,#70H MOV R5,#0FEH PLAY: MOV P0,#0FFH MOV A,R5 ANL P2,A

MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A LCALL DL1MS INC R1 MOV A,P2 JNB ACC.7,ENDOUT RL A MOV R5,A MOV P2,#0FFH AJMP PLAY ENDOUT: MOV P2,#0FFH MOV P0,#0FFH RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH;共阳数码管 ; 1MS延时子程序,LED显示用 DL1MS: MOV R6,#14H ; DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET END 二)

START:;ORG 00H MOV 70H,#0C0H;0 MOV 71H,#0F9H;1 MOV 72H,#0A4H;2 MOV 73H,#0B0H;3 MOV 74H,#99H ;4 MOV 75H,#92H ;5 MOV 76H,#82H ;6 MOV 77H,#0F8H;7 ACALL DISP AJMP START DISP: MOV P0,70H CLR P2.7 ACALL DL1MS SETB P2.7 MOV P0,71H CLR P2.6 ACALL DL1MS SETB P2.6 MOV P0,72H CLR P2.5 ACALL DL1MS SETB P2.5 MOV P0,73H CLR P2.4 ACALL DL1MS SETB P2.4 MOV P0,74H CLR P2.3 ACALL DL1MS SETB P2.3 MOV P0,75H CLR P2.2 ACALL DL1MS SETB P2.2 MOV P0,76H CLR P2.1 ACALL DL1MS SETB P2.1 MOV P0,77H CLR P2.0 ACALL DL1MS SETB P2.0 RET

基于单片机的数字钟设计毕业设计

基于单片机的数字钟设计毕业设计 目录 1. 引言 (1) 2. 关于单片机 (3) 2.1单片机的发展 (3) 2.2 单片机的开发背景 (5) 2.2 单片机的开发背景 (6) 2.3 AT89S52单片机 (7) 2.3.1 AT89S52单片机引脚功能 (8) 2.3.2 AT89S52单片机硬件结构的特点 (9) 2.3.3 AT89S52单片机的硬件原理 (11) 3. 方案设计与论证 (13) 4. 系统总体结构框图 (14) 5. 系统的硬件设计 (14) 5.1 显示部分电路的设计 (14) 5.1.1 LED数码显示管的基本原理 (14) 5.1.2 数码管显示模块分析 (15) 5.1.3 LED显示电路 (16) 5.2 控制部分电路的设计 (16) 5.2.1 时钟模块 (16) 5.2.2 温度模块 (16) 5.2.3 音乐模块 (17) 5.2.4 复位模块 (17) 5.2.5 光识模块 (18) 6. 系统的软件设计 (19) .参考资料.

6.1 各模块的程序设计 (19) 6.1.1 计时程序 (19) 6.1.2 定时闹钟程序 (19) 6.1.3 温度程序 (19) 6.2 系统程序设计的总体框图 (20) 7. 系统电路的制作与调试 (21) 7.1 电路硬件焊接制作 (21) 7.2 调试的主要方法 (21) 7.3 系统调试 (21) 7.3.1 硬件调试 (21) 7.3.2 软件调试 (21) 7.3.3 联机调试 (22) 7.3.4调试中遇到的问题及解决方法 (22) 结论 (24) 参考文献 (25) 附录1 数字钟电路图 (27) 附录2 程序清单 (27) 附录3 英文资料 (65) 附录4 英文资料翻译 (76) 致谢 (84) .参考资料.

单片机控制数码管显示设计

毕业设计与论文注意: 1.选题要求:选题内容应与所学专业相关 2.论文正文:字数3000字以上 3.字体:中文为宋体,西文和数字为New Roman,字符间距标准,正文行距为单倍行距(五号字) 4.页面A4,页边距上下2,左边2.5,右2 5.图和表、公式的编号方法:图1-1xxx,图1-2xxx….;表1-1xxx,表1-2xxx;…….(小五号字) 6.页码1、2、3…..居中从正文开始编排 7.开题报告内容包括毕业论文题目的确定、选题的意义、论文综述、论文大纲。字数要求在1000字以上。 8.应列入主要的文献可6篇及以上。 9.章节编号方法应采用分级阿拉伯数字编号方法,第一级为?、?、?等,第二级为??、?金、??等,第三级为?金?、?金金、?金?等,但分级阿拉伯数字的编号一般不超过三级,两级之间用下角圆点隔开,每一级的末尾不加标点。 各层标题均单独占行书写。正文中对总项包括的分项采用⑴、⑵、⑶…单独序号,对分项中的小项采用①、②、③…的序号或数字加半括号,括号后不再加其他标点。

绍兴职业技术学院 毕业论文 (2011届) 单片机控制数码管显示设计 学生姓名 学号 系别 专业指导教师 完成日期

2 / 25 绍兴职业技术学院 毕业设计综合实践任务书 岗位名称 岗位职责 岗位能力要求 课题任务名称 本课题完成的条件 1、按照自己所学的单片机进行设计和开发; 本课题任务要求 <一> 技术应用设计要求 1、从设计实际需要出发,选择设计方案; <二> 进程安排要求 1、熟悉毕业任务书要求。 2、开题,确定设计方案,并进行方案论证。 3、汇编语言,绘制电路路图 4、进行实验,是否能够实现显示控制。 5、撰写毕业论文。 6、指导教师的过程指导和初稿的审评,提出修改意见并反馈。 7、资料整理并上交论文(制作的演示实物或图样成果),参加答辩。 1 / 25 毕业设计(论文)工作进度计划表 计(文)90121234 12341234123412341234123412341234 熟悉毕业任务书要求,或根据岗位1展调研选题和查阅文献资 开题,确定设计方案,并进行方案2 证设计计算、绘图、编制工艺、编制3 工程序、生产制造、装配测试等产品或设计方案(图样)的优化与4 进撰写毕业论文5 指导教师的过程指导和初稿的审评6提出修改意见并反馈。资料整理并上交论文(制作的演示实 7 ,参加答辩。物或图样成果) 8

基于单片机的数字钟设计

基于单片机的数字钟设计及时间校准研究﹡ 陈姚节戴泽军 (武汉科技大学计算机学院 430081 ) 摘要用单片机来设计数字钟,软件实现各种功能比较方便。但因软件的执行需要一定的时间,所以就会出现误差。对比实际的时钟,查找出误差的来源,并作出调整误差的方法,使得误差近可能的小,使得系统可以达到实际数字钟的允许误差范围内。 1 , 串 使用。采用一个频率为 11.0592 MHz 的晶振构成时钟电路。系统原理图如图 1 : 图1 系统原理图 2.软件实现与流程 2.1 主程序

由于系统的主要功能都是有程序中断来完成的,主程序基本上没什么事可做,但因键盘扫描是通过程序查询的方式实现的,所以主程序只循环扫描键盘。主程序流程图如图2所示: 2.2 定时和串口程序 2.3 数据的显示与刷新 更新显示器涉及到两个操作:发数据和改片选信号。但实践发现,代码中无论是先改片选信号还是先发数据信号,都会出现重影(即相邻两位显示差不多)这也是动态扫描引起的。实践先该片选,则前一位的数据会在下一位显示一段时间;先发数据,则后一位的数据会在前一位显示一段时间。因而出现重影。解决这个问题的办法是先进行一个消影操作,然后再发片选,最后发数据。这样就很好地解决了重影问题。这样做的关键在于,在极短

的一段时间内让显示器都不亮,等一切准备工作都做好了以后再发数据,只要显示频率足够快,是看不出显示器有闪烁的(程序用定时中断频率作为显示更新频率,在表 1 中,只当更新率??00 赫兹时,才发现显示器有闪烁)。这段显示程序代码如下: P1=0 x00; // 消影 作为一次还是多次处理,必须有一个标准。程序中我用到了一个标志位,相当于中断系统的中断标志。当用户按下键时,标志清零,松开键时,标志恢复;键按下超过一定时间(靠一扫描计数器判定)后,恢复标志,则经过一定的时间延迟(也靠一扫描计数器判定)可以响应一次按键(即一次按键的多次响应)。而事实上,键盘响应程序就是一个事件触发器,键盘的每一个状态(按下,松开, 点击)都可能引发一段响应程序(如:重新设定键按下 =>

C51单片机多功能数字钟C源程序

/*led.h 负责声明全局变量 */ #include #define uchar unsigned char #define uint unsigned int /*各数据在LCD中显示的地址*/ #define Year 0x80+0x00 #define Month 0x80+0x05 #define Day 0x80+0x08 #define Hour 0x80+0x40 #define Munite 0x80+0x43 #define Second 0x80+0x46 #define Weidu 0x80+0x49 /*各数据在LCD中显示的地址*/ /*******各端口定义********/ sbit lcden=P2^6; sbit lcdrs=P2^7; sbit beep=P2^5; sbit key1=P2^0; sbit key2=P2^1; sbit key3=P2^2; sbit key4=P2^3; sbit key5=P2^4; sbit dq=P3^7; /*******各端口定义********/ /*******全局变量声明******/ extern int key_function; extern int key_alarm; extern int h_alarm,m_alarm; extern int idata s,m,h,y,mo,d; extern int idata sc,mc,hc,yc,moc,dc; extern int wei; extern int music; extern int idata date[2][13]; extern uchar timeh,timel; /*******全局变量声明******/ /*******public方法声明****/ void time_cal(); void write_data(uchar date);

基于51单片机的LED数码管动态显示

基于51单片机的LED数码管动态显示 LED数码管动态显示就是一位一位地轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留"效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。若数码管的位数不大于8位时,只需两个8位I/O口。 1 硬件设计 利用51单片机的P0口输出段码,P2口输出位码,其电路原理图如下所示。 在桌面上双击图标,打开ISIS 7 Professional窗口(本人使用的是v7.4 SP3中文版)。单击菜单命令“文件”→“新建设计”,选择DEFAULT模板,保存文件名为“DT.DSN”。在器件选择按钮中单击

“P”按钮,或执行菜单命令“库”→“拾取元件/符号”,添加如下表所示的元件。 51单片机AT89C51 一片 晶体CRYSTAL 12MHz 一只 瓷片电容CAP 22pF 二只 电解电容CAP-ELEC 10uF 一只 电阻RES 10K 一只 电阻RES 4.7K 四只 双列电阻网络Rx8 300R(Ω) 一只 四位七段数码管7SEG-MPX4-CA 一只 三极管PNP 四只 若用Proteus软件进行仿真,则上图中的晶振和复位电路以及U1的31脚,都可以不画,它们都是默认的。 在ISIS原理图编辑窗口中放置元件,再单击工具箱中元件终端图标,在对象选择器中单击POWER 和GROUND放置电源和地。放置好元件后,布好线。左键双击各元件,设置相应元件参数,完成电路图的设计。 2 软件设计 LED数码管动态显示是一位一位地轮流点亮各位数码管的,因此要考虑每一位点亮的保持时间和间隔时间。保持时间太短,则发光太弱而人眼无法看清;时间太长,则间隔时间也将太长(假设N位,则间隔时间=保持时间X(N-1)),使人眼看到的数字闪烁。在程序中要合理的选择合适的保持时间和间隔时间。而循环次数则正比于显示的变化速度。 LED数码管动态显示的流程如下所示。

基于51单片机的数字钟设计

20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 本课题主要研究的是基于单片机的数字钟设计,采用AT89C51单片机作为系统的主控芯片,外接LED显示电路,按键电路,晶振电路,复位电路模块构成一个简单的数字钟。通过按键电路能对时、分、秒分别进行设置和实时调整,并将结果显示在数码管上。

1 引言 (3) 2 单片机介绍 (4) 3 数字钟硬件设计 (4) 3.1系统方案的确定 (4) 3.2功能分析 (4) 3.3数字钟设计原理 (5) 3.3.1键盘控制电路 (5) 3.3.2晶振电路 (6) 3.3.3复位电路 (7) 3.3.4数码显示电路 (7) 4.数字钟的软件设计 (8) 4.1程序设计内容 (8) 4.2源程序 (9)

1 引言 在单片机技术日趋成熟的今天,其灵活的硬件电路和软件电路的设计,让单片机得到广泛的应用,几乎是从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影,可谓是“麻雀虽小,肝胆俱全”,单片机的学习和研究是对微机系统学习和研究的简捷途径。基于单片机的定时和控制装置在许多行业有着广泛的应用,而数字钟是其中最基本的,也是最具有代表性的一个例子[1],用数字电路实现对时、分、秒数字显示的计时装置。因为机具有体积小、功耗低、功能强、性价比高、易于推广应用的优点,在自动化装置、智能仪器表、过程控制、通信、家用电器等许多领域得到日益广泛的应用[2],因此具有很大的研究价值。

51单片机控制4个数码管显示

. //使用AT89c51单片机控制四个数码管动态显示0-9999 ,12MHz #include void jiayi();//加1函数 void chufa();//除法函数 void xianshi();//显示函数 void delay();//延时函数 sbit P2_0=P2^0;//个位位码 sbit P2_1=P2^1;//十位位码 sbit P2_2=P2^2;//百位位码 sbit P2_3=P2^3;//千位位码 unsigned char qianwei,baiwei,shiwei,gewei; unsigned int count=0; unsigned char code dis[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳极0-9 void main() { while(1) { jiayi(); chufa(); xianshi(); } } void chufa()//将数字的各个位拆开 { qianwei=count/1000;//千位数 baiwei=count%1000/100; //百位数 shiwei=count%100/10; //十位数 gewei=count%10; //个位数 } void jiayi() { count=count+1; if(count==10000) count=0; } void delay()//延时 { unsigned int i,j; for(i=0;i<10;i++) { for(j=0;j<200;j++); } }

基于51单片机的数字时钟设计的毕业设计概要

摘要 (2) Abstract .......................................................................................................................... 错误!未定义书签。第一章绪论 .. (2) 1.1多功能数字钟设计的背景 (2) 第二章AT89C51单片机简介 (2) 2.1 单片机介绍 (2) 2.2 单片机的应用特点 (3) 2.3 单片机的应用领域 (3) 2.4 单片机的中断与定时系统.............................................................................. 错误!未定义书签。 2.4.1 MCS-51单片机中断系统................................................................... 错误!未定义书签。 2.4.2 MCS-51 单片机的定时器/计数器.................................................... 错误!未定义书签。 2.4.3 MCS-51定时器/计数器的四种工作方式........................................... 错误!未定义书签。 2.5 AT89C51引脚功能介绍 (3) 第三章设计方案 (4) 3.1 主程序 (4) 3.2 数码管显示模块 (5) 3.3 定时器计数器T0中断服务程序.................................................................... 错误!未定义书签。 3.4按键处理模块 (5) 第四章硬件电路设计 (5) 4.1 复位电路 (5) 4.2 时钟电路 (6) 4.3 按键电路 (6) 4.4 数码管显示电路 (7) 4.5 电源电路设计.................................................................................................. 错误!未定义书签。第五章软件设计与程序代码 . (8) 5.1 软件选择与介绍 (8) 5.1.1 软件介绍.............................................................................................. 错误!未定义书签。 5.1.2 Proteus7.8的特点............................................................................. 错误!未定义书签。 5.2 软件仿真电路全图 (9) 5.3 源程序代码 (9) 第六章结论 (16) 参考文献 (17) 致谢 (18)

基于单片机控制的电子时钟设计(完整版图纸直接可用)

毕业设计 中图分类号: 基于单片机控制的电子时钟设计 专业名称:应用电子技术 学生姓名:王明宗 导师姓名:王春霞 职称:讲师 焦作大学机电工程学院 2012年 12 月

中图分类号:密级: UDC:单位代码: 基于单片机控制的电子时钟设计 Based on single-chip microcomputer control the design of the electronic clock 姓名王明宗学制3年 专业应用电子技术研究方向电子技术 导师王春霞职称讲师 论文提交日期2012.12.20 论文答辩日期2012.12.31 焦作大学机电工程学院

摘要 现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。数码管显示的时间简单明了而且读数快、时间准确显示到秒。所以数字电子钟的精度、稳定度远远超过老式机械钟。而机械式的依赖于晶体震荡器,可能会导致误差。在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,并在数码管上显示相应的时间。 关键词:单片机 AT89S51 电子时钟

ABSTRACT Modern life people pay more and more attention to up the concept of time, can say time and money off the equal sign. For those who grasp of time is very strict and accurate person or thing, it is not accurate time will bring very big trouble, so to digital tube for display clock than pointer clock showed a lot of advantages. Digital tube display time simple and fast reading, time accurate display to seconds. So the digital clock accuracy, stability is far more than the old mechanical clock. And mechanical dependent on the crystal oscillators, may lead to error. In this design, we adopt LED digital tube display, points, SEC to 24 hours time way, according to the principle of dynamic display of digital tube to show that AT89S51 chip as the core, with the necessary circuit, design a simple electronic clock, it consists of 4.5 V dc power supply, through the digital tube can accurately display the time, adjusting time, and in the digital tube display the corresponding time. Key word:SCM AT89S51 electronic clock

相关主题
文本预览
相关文档 最新文档