几个单片机应用实例

合集下载

32单片机应用案例

32单片机应用案例

32单片机应用案例32单片机是一种常见的微控制器,广泛应用于各个领域。

下面列举了10个32单片机的应用案例。

1. 温度控制系统:使用32单片机可以实现温度传感器与温度控制器的连接,通过采集和处理传感器数据,控制加热或制冷设备,实现温度的自动控制。

2. 智能家居系统:通过32单片机控制各种家电设备,如灯光、空调、窗帘等,实现远程控制和自动化控制,提高生活的舒适性和便利性。

3. 路灯控制系统:通过32单片机控制路灯的亮度和开关时间,根据光照强度和时间进行自动控制,节约能源并提高路灯的使用寿命。

4. 智能交通系统:使用32单片机控制交通信号灯,根据交通流量和道路情况自动调整信号灯的时间和顺序,提高交通效率和安全性。

5. 电子锁系统:使用32单片机控制电子锁的开关和密码验证,可以实现安全可靠的门禁系统,广泛应用于办公楼、公寓和酒店等场所。

6. 智能农业系统:通过32单片机控制温湿度传感器、土壤湿度传感器等,实现农田的自动灌溉和温湿度的监测,提高农作物的产量和质量。

7. 智能车载系统:使用32单片机控制车载电子设备,如导航系统、音响系统等,提供车载娱乐和导航功能,提升驾驶体验。

8. 机器人控制系统:通过32单片机控制机器人的运动和动作,实现自主导航、物体识别和交互等功能,广泛应用于工业生产、医疗护理等领域。

9. 物联网设备:使用32单片机作为物联网设备的控制核心,实现与云平台的通信和数据交互,实现智能家居、智慧城市等应用。

10. 电子钟表:通过32单片机控制时钟的显示和时间的调整,实现精确的时间显示和闹钟功能,广泛应用于家庭和办公场所。

以上是10个32单片机的应用案例,涵盖了温度控制、智能家居、交通系统、农业、车载系统、机器人、物联网、电子钟表等多个领域。

这些应用案例充分展示了32单片机的灵活性和广泛应用性,为各个领域的自动化和智能化提供了强大的支持。

单片机的原理及应用例子

单片机的原理及应用例子

单片机的原理及应用例子单片机(Microcontroller)是一种集成了中央处理器、存储器和输入输出设备的微型计算机系统。

其原理是在一块硅片上集成了微处理器核心、存储器、外设接口等功能模块,并采用专用集成电路工艺制造而成。

然后通过编程,利用单片机的输入输出功能和对外设的控制功能,使其能够完成各种控制和处理任务。

单片机的应用非常广泛,下面就介绍几个典型的应用例子。

第一个例子是电子血压计。

电子血压计通过测量人体的脉搏信号来获取血压信息,并实时显示在LCD屏幕上。

其主要原理是通过单片机的模拟输入通道采集脉搏信号,然后通过AD转换将模拟信号转换为数字信号,再经过一系列处理计算得出血压值,并最终显示在屏幕上。

整个系统通过单片机的程序来控制各个部分的协同工作,实现了自动测量和显示血压的功能。

第二个例子是智能家居控制系统。

智能家居控制系统通过单片机控制各种传感器和执行器,实现对家庭设备的自动控制和远程监控。

比如通过使用温湿度传感器和烟雾传感器,可以实时监测室内的温湿度和烟雾情况,一旦检测到异常情况,单片机就会发出报警信号并通过无线通信模块发送给用户手机,提醒用户及时处理。

此外,单片机还可以控制灯光、窗帘、门锁等家庭设备,实现自动化控制和远程操作。

第三个例子是机器人控制系统。

机器人控制系统通过单片机控制机器人的各个部分,包括电机驱动、传感器采集、运动控制等。

单片机通过编程实现机器人的自主行走、避障、抓取等功能。

比如机器人通过使用红外传感器检测前方障碍物,一旦检测到障碍物,单片机就会根据预先设定的行走算法进行规避操作,并通过执行器控制机器人的动作。

通过单片机的控制,机器人可以根据环境变化做出相应的反应和行为。

以上只是单片机应用的几个例子,实际上单片机的应用涵盖了各个领域。

比如智能电子锁、车载导航系统、医疗仪器等等都可以采用单片机进行控制。

单片机的优点是可以集成各种功能模块,具有小巧、低功耗、成本低等特点,非常适合于对电力和体积要求较高的应用场景。

单片机在智能电网中的应用案例

单片机在智能电网中的应用案例

单片机在智能电网中的应用案例随着科技的不断进步和智能化的兴起,智能电网作为现代化电力供应系统的核心构成之一,正逐渐在全球范围内得到广泛应用。

而在智能电网的建设和运行中,单片机作为一种高效可靠的技术手段,扮演着重要的角色。

本文将通过介绍几个典型的实际案例,探讨单片机在智能电网中的应用。

案例一:智能电表智能电表是智能电网建设的重要组成部分,它不仅可以实现电能计量,还能够进行电网监测和远程控制。

在智能电表的设计中,单片机负责处理数据和控制信号的采集与处理,将采集到的数据进行计算和分析,同时根据控制指令实现对电能的计量和远程控制。

通过单片机的精确计算和高效控制,智能电表实现了对电力负荷的实时监测和调控,确保了电力供应的稳定和高效。

案例二:智能配电箱在传统的电力供应系统中,配电箱只是简单地将电能进行分配,缺乏智能化的功能。

而在智能电网中,智能配电箱的应用将智能化水平提升到了一个新的高度。

在智能配电箱的设计中,单片机起到了关键的作用。

它通过采集环境数据、监测电流和电压等信息,并通过数据处理和控制算法,实现对电力设备的智能监控和智能控制。

同时,智能配电箱还能够与智能电网系统进行无线通信,实现智能化的电力调度和故障诊断。

案例三:智能家居系统随着人们对生活质量的要求不断提高,智能家居系统作为智能电网的一个重要组成部分,正逐渐进入千家万户。

在智能家居系统的设计中,单片机承担着关键的任务。

它通过感应器采集室内环境的数据,如温度、湿度、光照等,并通过单片机进行数据处理和控制,实现对家居设备的智能控制。

例如,通过智能家居系统可以实现智能灯光的控制、家电设备的远程操控和定时控制等功能,提高了生活的便利性和舒适度。

案例四:智能电网监测系统为了保障智能电网的正常运行,需要建立一套完善的监测系统。

智能电网监测系统通过对电力设备、电力负荷和电能消耗等进行实时监测和分析,能够及时发现和处理电网故障,保障电力供应的稳定和安全。

在智能电网监测系统中,单片机起到了至关重要的作用。

单片机应用案例分析

单片机应用案例分析

单片机应用案例分析1.引言单片机是现代电子技术中一种重要的集成电路设备,广泛应用于各个领域,包括工业控制、通信、电子消费品等。

本文将通过分析几个单片机应用案例,探讨单片机在实际应用中的作用和优势。

2.智能家居控制系统智能家居控制系统是近年来受到越来越多关注的领域。

通过单片机控制,可以实现对家居设备的远程控制、定时开关、温湿度监测等功能。

例如,通过手机APP可以实时调节家中的灯光亮度,控制窗帘的开关,调节空调温度等。

单片机在智能家居控制系统中起到了关键的作用,通过它的高性能和低功耗,实现了智能家居系统的稳定性和便捷性。

3.智能交通系统单片机在智能交通系统中也有重要应用。

智能交通系统借助单片机的控制能力和高速计算能力,实现了交通信号灯的智能控制、车辆识别和路况监测等功能。

例如,通过单片机可以实时感知道路上车辆的情况,并将交通信号灯的控制和时序优化,从而提高路口的通行效率和安全性。

单片机的应用使得智能交通系统更加智能化和精细化。

4.农业自动化控制随着农业的现代化进程,单片机在农业自动化控制中得到了广泛应用。

通过单片机的控制,可以实现对农田的温湿度控制、灌溉系统的智能化管理、农作物的精确施肥等。

例如,单片机可以实时监测土壤的湿度、气温等参数,根据设定的阈值进行自动灌溉,提高农田的水资源利用效率。

单片机的应用使得农业生产更加高效和节能。

5.医疗设备控制单片机在医疗设备控制中扮演着重要角色。

医疗设备需要精密的控制和高速的计算能力,以确保诊断和治疗的准确性。

例如,单片机可以控制心电图仪、血压计等设备的运行和数据处理,实现对患者身体参数的监测和分析。

通过单片机的应用,医疗设备的智能化水平得到了提升,为医疗行业提供了更好的服务。

6.工业控制系统工业控制是单片机应用的重要领域之一。

在工业生产过程中,需要对设备进行控制和监测,以提高生产效率和质量。

单片机通过高速的计算和可编程的特性,可以实现对工业设备的精准控制和实时监测。

35个单片机设计应用实例

35个单片机设计应用实例

图 4.2.2
void main(void) { while(1) { if(K1==0) { L1=0; //灯亮 } else { L1=1; //灯灭 } } }
3. 多路开关状态指示
1. 实验任务
如图 4.3.1 所示,AT89S51 单片机的 P1.0-P1.3 接四个发光二极管 L1-L4, P1.4-P1.7 接了四个开关 K1-K4,编程将开关的状态反映到发光二极管上。 (开关闭合,对应的灯亮,开关断开,对应的灯灭)。
因此在按键按下的时候图482要把我们手上的干扰信号以及按键的机械接触等干扰信号给滤除掉一般情况下我们可以采用电容来滤除掉这些干扰信号但实际上会增加硬件成本及硬件电路的体积这是我们不希望总得有个办法解决这个问题因此我们可以采用软件滤波的方法去除这些干扰信号一般情况下一个按键按下的时候总是在按下的时刻存在着一定的干扰信号按下之后就基本上进入了稳定的状态
(2. 输出控制
根据开关的状态,由发光二极管 L1-L4 来指示,我们可以用 SETB P1.X 和 CLR P1.X 指令来完成,也可以采用 MOV P1,#1111XXXXB 方法一次指示。
5. 程序框图
<![endif]-->
读 P1 口数据到 ACC 中
ACC 内容右移 4 次 ACC 内容与 F0H 相或 ACC 内容送入 P1 口
void main(void) { while(1) { L1=0; delay02s();
L1=1; delay02s(); } }
2. 模拟开关灯 1. 实验任务
如图 4.2.1 所示,监视开关 K1(接在 P3.0 端口上),用发光二极管 L1(接 在单片机 P1.0 端口上)显示开关状态,如果开关合上,L1 亮,开关打开, L1 熄灭。 2. 电路原理图

单片机汇编语言经典一百例

单片机汇编语言经典一百例

单片机汇编语言经典一百例汇编语言是一种底层的程序设计语言,是一种将汇编指令直接翻译成机器指令的语言。

在单片机编程中,掌握汇编语言是非常重要的,因为它可以充分发挥单片机的性能,并且提高程序的运行效率。

本文将介绍一百个经典的单片机汇编语言例子,帮助读者更好地理解汇编语言的使用。

1. 点亮LED灯```ORG 0x0000 ; 程序起始地址MOV P1, #0xAA ; P1口输出高电平,LED灯点亮END ; 程序结束```2. LED流水灯效果```ORG 0x0000 ; 程序起始地址MOV P1, #0x01 ; P1口输出低电平,第一个LED点亮CALL DELAY ; 调用延时函数MOV P1, #0x02 ; P1口输出低电平,第二个LED点亮CALL DELAY ; 调用延时函数MOV P1, #0x04 ; P1口输出低电平,第三个LED点亮CALL DELAY ; 调用延时函数MOV P1, #0x08 ; P1口输出低电平,第四个LED点亮CALL DELAY ; 调用延时函数…DELAY: ; 延时函数MOV R0, #100 ; 设置延时时间DELAY_LOOP:DJNZ R0, DELAY_LOOP ; 循环减一RET ; 返回END ; 程序结束```3. 数码管动态扫描显示```ORG 0x0000 ; 程序起始地址CLR P0.0 ; P0.0口输出低电平,选择第一个数码管MOV P2, #0x7E ; 将数码管对应的值存放到P2口CALL DELAY ; 调用延时函数CLR P0.1 ; P0.1口输出低电平,选择第二个数码管MOV P2, #0x30 ; 将数码管对应的值存放到P2口CALL DELAY ; 调用延时函数CLR P0.2 ; P0.2口输出低电平,选择第三个数码管MOV P2, #0x6D ; 将数码管对应的值存放到P2口CALL DELAY ; 调用延时函数CLR P0.3 ; P0.3口输出低电平,选择第四个数码管MOV P2, #0x79 ; 将数码管对应的值存放到P2口CALL DELAY ; 调用延时函数…DELAY: ; 延时函数MOV R0, #100 ; 设置延时时间DELAY_LOOP:DJNZ R0, DELAY_LOOP ; 循环减一RET ; 返回END ; 程序结束```...通过以上例子,我们可以看到单片机汇编语言的应用非常广泛,可以实现各种各样的功能。

单片机应用实例20个

单片机应用实例20个

单片机应用实例20个1. 温湿度监测系统单片机可以通过温湿度传感器实时检测环境的温湿度,并将数据显示在LCD屏幕上,提供参考用于对环境进行调节。

2. 微波炉控制单片机可以用于微波炉的控制,通过控制微波的加热时间和强度,实现食物的快速加热或解冻。

3. 灯光控制系统单片机可以通过光敏电阻感应环境光照强度,并控制灯光的开关和亮度,实现智能化的照明控制。

4. 电子秤单片机可以通过称重传感器检测物体的重量,并将重量数据通过LCD屏幕显示出来,广泛应用于商业和家庭领域。

5. 遥控器单片机可以通过接收红外信号,实现对电视、空调、音响等家用电器的遥控操作,提高生活的便利性。

6. 数码相机单片机可以用于数码相机的图像处理和功能控制,实现拍摄、存储和显示图片的功能。

7. 电子钟单片机可以通过RTC芯片实时获取时间,并通过数码管或LCD 屏幕显示时间,告诉人们准确的时间。

8. 智能车单片机可以作为智能车的大脑,通过传感器获取车辆的位置、速度和周围环境信息,并进行路线规划和行驶控制。

9. 温控系统单片机可以通过温度传感器检测环境的温度,并通过控制加热或制冷设备来实现温度的自动调节。

10. 电子组合锁单片机可以用于电子锁的控制,通过密码输入和验证,实现对门锁的开关控制。

11. 电子琴单片机可以用于电子琴的音乐合成和控制,通过按键触发不同音符的发声,实现曲目演奏。

12. 红外避障小车单片机可以通过红外传感器检测前方障碍物的距离,并控制小车的转向和速度,实现自动避障。

13. 室内温度控制单片机可以通过温度传感器检测室内温度,并通过控制空调或暖气设备来实现室内温度的控制。

14. 电子警报器单片机可以通过声音传感器检测环境的声音强度,并触发警报器的报警,用于室内安全保护。

15. 电子表格单片机可以用于开发简单的电子表格应用,实现数据输入、计算和显示的功能,广泛应用于办公场合。

16. 数字电视机顶盒单片机可以用于数字电视机顶盒的信号处理、解码和显示,实现高清电视节目的播放和录制功能。

C51单片机实战100例

C51单片机实战100例

C51单片机实战100例C51单片机作为最常用的单片机芯片之一,具有性能稳定、资源丰富、易于学习和开发等优势。

本文将介绍C51单片机实战100例,旨在帮助读者更好地理解和应用C51单片机。

第一例:LED灯闪烁首先,我们以最简单的LED灯闪烁为例,来体验一下C51单片机的编程过程。

首先我们需要准备一个开发板、几个电阻和电源。

然后,根据单片机的引脚图,将LED灯连接好。

接下来,我们需要编写简单的C语言程序来控制LED灯的闪烁。

例如,我们可以使用内置的延时函数来调整灯亮的时间,实现闪烁效果。

经过编译和下载,我们就可以看到LED灯以一定的频率闪烁,一闪一闪的。

第二例:数码管显示除了控制LED灯闪烁外,C51单片机还可以用来控制各种数码管显示。

例如,我们可以编写程序实现数字的倒计时功能。

在倒计时过程中,我们可以通过数码管的显示,直观地观察到时间的变化。

在编写程序时,我们需要根据数码管的接口电路来控制引脚的输出,并使用定时器中断来实现秒数的递减。

通过不断循环调用显示函数,我们可以将倒计时的数字显示在数码管上,并实时更新。

第三例:温湿度检测C51单片机还可以用来进行温湿度的检测。

我们可以连接温湿度传感器到单片机的引脚上,并编写相应的程序来读取传感器的数据。

在编写程序时,我们可以使用串口通信来与PC机进行数据的交互。

通过串口发送指令,单片机可以将温湿度的数据发送回PC机进行实时显示。

这样,我们就可以通过C51单片机来实现温湿度的实时监测功能。

......通过以上几个实例,可以清楚地看到C51单片机的强大功能和灵活性。

C51单片机实战100例可以涵盖更多的应用场景,如蜂鸣器控制、电机驱动、红外遥控等。

读者可以根据自己的需求和兴趣选择相应的实例进行学习和实践。

结语总而言之,C51单片机作为一种常见且广泛使用的单片机芯片,具有强大的功能和灵活性。

通过实战100例的学习和实践,读者可以更加深入地理解和掌握C51单片机的编程方法和应用技巧。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

几个单片机应用实例例一:一个液晶显示的数字式电脑温度计液晶显示器分很多种类,按显示方式可分为段式,行点阵式和全点阵式。

段式与数码管类似,行点阵式一般是英文字符,全点阵式可显示任何信息,如汉字、图形、图表等。

这里我们介绍一种八段式四位LCD显示器,该显示器内置驱动器,串行数据传送,使用非常方便。

原理图如下图:下图是长沙太阳人科技开发有限公司生产的4位带串行接口的液晶显示模块SMS0403 的外部引线简图:有关该模块的具体参数,请查看该公司网站。

此例中使用的温度传感器为美国DALLAS公司生产的单总线式数字温度传感器。

该传感器本站有其详细的资料可供下载。

此例稍加改动,即可做成温控器。

下载驱动该模块的源程序LCD.PLM例2: LED显示电脑电子钟本例介绍一种用LED制作的电脑电子钟(电脑万年历)。

原理图如下图所示:上图中,CPU选用的是AT89C2051,时钟芯片选用的是Dallas公司的DS1302, 温度传感器选用的是Dallas公司的数字温度传感器DS1820,显示驱动芯片选用的是德州仪器公司的TPIC6B595,也可选用与其兼容的芯片NC595或国产的AMT9595。

整个电子钟用两个键来调节时间和日期。

一个是位选键,一个是数字调节键。

按一下位选键,头两位数字开始闪动,进入设定调节状态,此时按数字调节键,当前闪动位的数字就可改变。

全部参数调节完后,五秒钟内没有任何键按下,则数字停止闪动,退出设定调节状态。

源程序清单如下(无温度显示程序):start:do;$include(reg51.dcl)declare (sclk,io,rst) bit at (0b3h) register; /* p33,p34,p35 */ declare (command,data,n,temp1,num) byte;declare a(9) byte;declare ab(6) byte;declare aco(11) byte constant (0fdh,60h,0dah,0f2h,66h,0b6h,0beh,0e0h,0feh,0f6h,00h);declare week(11) byte constant (0edh,028h,0dch,7ch,39h,75h,0f5h,2ch,0fdh,7dh,00h);declare da literally 'p15',clk literally 'p16',ale literally 'p17', mk literally 'p11',sk literally 'p12';clear:procedure;sclk=0;io=0;rst=0;end clear;send1302:procedure(comm);declare (i,comm) byte;do i=0 to 7;comm=scr(comm,1);io=cy;call time(1);sclk=0;call time(1);sclk=1;end;end send1302;wbyt1:procedure(com,dat);/*字节写过程*/ declare (com,dat) byte;call clear;rst=1;call send1302(com);call send1302(dat);call clear;end wbyt1;wbyt8:procedure;/*时钟多字节突发模式写过程*/ declare j byte;call clear;a(7)=A(6);a(6)=a(0);rst=1;call send1302(command);do j=1 to 8;call send1302(a(j));end;call clear;end wbyt8;RBYT1:PROCEDURE;DECLARE I BYTE;CALL CLEAR;RST=1;call send1302(0c1h);IO=1;DO I=0 TO 7;SCLK=1;SCLK=0;CY=IO;N=SCR(N,1);END;A(8)=N;CALL CLEAR;END RBYT1;send595:procedure;declare k byte;do k=0 to 7;data=scr(data,1);da=cy;clk=1;clk=0;end;end send595;send595_1:procedure;declare k byte;do k=0 to 7;data=scr(data,1);da1=cy;clk1=1;clk1=0;end;end send595_1;rb1:procedure(abc,j);DECLARE (I,j,abc) BYTE;CALL CLEAR;RST=1;call send1302(abc);IO=1;DO I=0 TO 7;SCLK=1;SCLK=0;CY=IO;N=SCR(N,1);END;ab(j)=N;ab(j)=dec(ab(j));CALL CLEAR;end rb1;rbyt6:procedure;call rb1(0f1h,0);call rb1(0f3h,1);call rb1(0f5h,2);call rb1(0f7h,3);call rb1(0f9h,4);call rb1(0fbh,5);call rb1(0fdh,6);end rbyt6;wbyt6:procedure;call wbyt1(8eh,0); /* write enable */ call wbyt1(0f0h,ab(0));call wbyt1(0f2h,ab(1));call wbyt1(0f4h,ab(2));call wbyt1(0f6h,ab(3));call wbyt1(0f8h,ab(4));call wbyt1(0fah,ab(5));call wbyt1(0fch,ab(6));call wbyt1(8eh,80h); /* write disable */end wbyt6;rbyt8:procedure;/*时钟多字节突发模式读过程*/ declare (i,j) byte;call clear;rst=1;call send1302(command);io=1;do j=1 to 8;do i=0 to 7;sclk=1;call time(1);sclk=0;cy=io;n=scr(n,1);end;a(j)=n;end;call clear;a(0)=a(6);a(6)=A(7);a(0)=a(0) and 0fh;if a(0)>6 then a(0)=0;CALL RBYT1;if (a(1)=0 and a(2)=0 and a(3)=0) thendo;do num=0 to 35;call time(250);end;temp1=1;end;if temp1=1 thendo;temp1=0;ab(4)=ab(4)+1;if ab(4)>99h thendo;ab(4)=0;ab(5)=ab(5)+1;if ab(5)>99h then ab(5)=0;end;call wbyt6;end;end rbyt8;display:procedure; /*jieya,yima,fasong*/ declare (i,n,m) byte;n=a(0) and 0fh; /* send week */data=week(n);call send595;n=a(4); /* send date */n=n and 0fh;data=aco(n);call send595;n=a(4);n=shr(n,4);data=aco(n);call send595;do i=1 to 3; /* send second,minute,hour */ n=a(i);n=n and 0fh;data=aco(n);call send595;n=a(i);n=shr(n,4);data=aco(n);call send595;end;do i=5 to 6; /* send month,year */n=a(i);n=n and 0fh;data=aco(n);call send595;n=a(i);n=shr(n,4);data=aco(n);call send595;end;n=a(8); /* send 19 or 20 */n=n and 0fh;data=aco(n);call send595;n=a(8);n=shr(n,4);data=aco(n);call send595;do m=0 to 5;n=ab(m);n=n and 0fh;data=aco(n);call send595_1;n=ab(m);n=shr(n,4);data=aco(n);call send595_1;end;ale=0;ale=1;end display;beginset:procedure;a(0)=06h;a(1)=58h;a(2)=59h;a(3)=23h;a(4)=30h;a(5)=06h;a(6)=97h;a(7)=00;a(8)=19h; /* set date/time (1997,7,1,8:00:00,week 3) */ call wbyt1(8eh,0); /* write enable*/call wbyt1(80h,00h);/* start colock */call wbyt1(0beh,0abh);/*两个二极管与8K电阻串联充电*/ command=0beh; /* write colock/date */call wbyt8;call wbyt1(0c0h,a(8));call wbyt1(8eh,80h); /* set write protect bit */end beginset;key:procedure;declare (i,time1,k1,tem) byte;call time(100);k1=7;time1=30;if mk=0 thendo;do while time1>0;week: if k1=0 thendo;do i=0 to 5;/* call hz(a(0)); */end;do i=0 to 3;/* call hz0; */end;end;tem=a(k1);if k1=7 then tem=a(8);a(k1)=0aah;if k1=7 then a(8)=0aah;call display;call time(254);call time (254);a(k1)=tem;if k1=7 then a(8)=tem;call display;call time(254);call time(254);call time(254);time1=time1-1;if mk=0 thendo;call time(100); /*MOD KEY PROCESS*/TIME1=30;IF MK=0 THENDO;k1=k1-1;DO WHILE K1=0FFH;K1=7;END;END;end;IF SK=0 THENDO;CALL TIME(100); /*SET KEY PROCESS*/ TIME1=30;IF SK=0 THENDO;tem=tem+1;tem=dec(tem);DO CASE K1;DO WHILE tem=7;/*week*/tem=0;END;DO WHILE tem=60H;/*scond*/tem=0;END;DO WHILE tem=60H;/*minute*/tem=0;END;DO WHILE tem=24H;/*hour*/tem=0;END;DO WHILE tem=32H;/*date*/tem=1;END;DO WHILE tem=13H;/*month*/tem=1;END;DO while tem=100h; /* YEAR */tem=00;END;DO WHILE TEM>=21H;tem=19H;END;END;A(K1)=tem;if k1=7 then a(8)=tem;END;END;END;END;end key;main$program:mk=1;sk=1;temp1=0;num=0;p32=1;if sk=0 then call beginset;clk=0;da=0;ale=1;loop:do while mk=1 ;if a(0)>6 then a(0)=0;command=0bfh;call rbyt8;call display;do while mk=0;call key;call wbyt1(8eh,0);command=0beh;call wbyt8;call wbyt1(0C0H,A(8));call wbyt1(8eh,80h);end;end;goto loop;end start;例3:一个6位LED、4个按键的显示板按键和显示是单片机系统的基本输入输出部件,下面介绍一个由74LS164驱动的6位数码管和4个按键组成的通用仪表面板。

相关文档
最新文档