单片机数字钟设计总结

2024-08-05

单片机数字钟设计总结(通用8篇)

1.单片机数字钟设计总结 篇一

成都大学电子信息工程学院

07级单片机课程设计

题目:简单51单片机数字时钟设计

院 系: 电子信息工程 专 业:电信专业 班 级:08级电信本科三班 姓 名: 刘 涛 学 号:200810312340 老 师:杨加国

2010-6

成都大学电子信息工程学院

摘要

 班级学号 ···········1  设计内容 ···········3  进度安排 ···········3  MCS-51单片机系统简介·····3  课程设计背景 ·········4  课程设计目的 ·········4  MCS-51单片机内部定时器/计数器中

断系统简介 ···········4  课程设计原理 ·········5  课程设计代码 ·········6  设计相关说明·········10

345 成都大学电子信息工程学院

MOV 20H,#0;秒个位寄存器清零 MOV 21H,#0;秒十位寄存器清零 MOV 22H,#0;分个位寄存器清零 MOV 23H,#0;分十位寄存器清零 MOV 24H,#0;时个位寄存器清零

MOV 25H,#0;时十位寄存器清零 LJMP DISPLAY TIMER_0: CLR EA INC R6 INC R5

MOV TH0,#03CH MOV TL0,#0B0H;重新赋初值,定时50ms SETB EA RETI ADD_TIME: CJNE R6,#20,EXIT;定时器中断20次,1秒到 MOV R6,#0 INC 20H

MOV A,20H

CJNE A,#10,EXIT;如果秒个位等于10,清零 MOV 20H,#00H INC 21H

MOV A,21H

CJNE A,#6,EXIT;如果秒十位等于6,清零 MOV 21H,#00H

INC 22H

MIN: MOV A,22H

CJNE A,#10,EXIT;如果分个位等于10,清零 MOV 22H,#00H

INC 23H

MOV A,23H

CJNE A,#6,EXIT;如果分十位等于6,清零 MOV 23H,#00H INC 24H

HOUR: MOV A,25H CJNE A,#2,LOOP;如果时十位等于2,检查时个位 MOV A,24H CJNE A,#4,EXIT;如果时个位等于4,清零 MOV 24H,#00H;清零时个位 MOV 25H,#00H;清零时十位

成都大学电子信息工程学院

CLR P2.2 LCALL DELAY SETB P2.2;显示“-” MOV A,24H MOVC A,@A+DPTR MOV P0,A CLR P2.1 LCALL DELAY SETB P2.1;显示时个位

MOV DPTR,#TABLE1;该位使用TABLE1以消除前置0 MOV A,25H MOVC A,@A+DPTR MOV P0,A CLR P2.0 LCALL DELAY SETB P2.0;显示时十位

CJNE R5,#4,EXIT0;当R5到4时,扫描按键 MOV R5,#0 KEY_SCAN: JNB K1,ADD_HOUR JNB K2,ADD_MIN LJMP ADD_TIME;无键按下,跳至走时 ADD_HOUR: INC 24H;小时加1 LJMP HOUR;更新 ADD_MIN: INC 22H;分钟加1 LJMP MIN;更新 EXIT0: LJMP ADD_TIME DELAY: MOV R7,#150;扫描延时

DJNZ R7,$ RET

TABLE:;数码管字形显示编码表

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;字形显示编码

TABLE1: DB 0FFH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H;小时位的十位数编码,该位如果为0则不显示

END;程序结束

2.单片机数字钟设计总结 篇二

随着科技的发展,电子技术也在不断地向前飞速发展。本设计是制作一款多功能数字钟,其具有显示年、月、日,时、分、秒、星期及闹钟功能,而且秒、分、时、日、月、年可自动关联进位。秒具备清零功能,分、时、日、月、年可自动修改、手动设置等功能[1,2,3,4,5]。它是以一块AT89S52芯片作为主控模块,采用DS1302作为定时来源的多功能数字钟[6,7,8,9,10,11]。多功能数字钟结构较简单,因此便于操作使用。它具有高度的智能化和集成化,是现代人办公、生活、学习的好帮手,具有广阔的市场前景。同时,它具有闹铃和播放音乐等功能,由于这些完善的功能,它必将越来越受到社会各界人士的欢迎。

1 系统方案的论证与选择

1.1 各模块方案的论证与选择

1.1.1 主控模块的论证与选择

方案一:采用8031芯片。8031芯片内部无ROM,需要外扩程序存储器,由此造成电路焊接的困难,况且使用8031还需要另外购买其他的芯片,从而造成成本较高,性价比低。

方案二:采用89C51芯片。80C51芯片内部有ROM,且片内ROM全部采用Flash ROM,它能在3V的超低压工作,与MCS-51系列单片机完全兼容[1],但是其不具备ISP在线编程技术,需把程序编写好以后再放到编程器中烧写,才可以进行硬件电路的调试,倘若程序编写出现问题,调试电路就较麻烦,而且其芯片内存也只有4kB。

方案三:采用AT89S52芯片。该芯片内部既有Flash ROM,又与MCS-51兼容,而且ISP在线编程技术适用于AT89S52芯片,这样既降低了成本也无需反复插拔芯片,可避免损坏芯片;而且它的性能稳定,且内存达8kB。

经过三种方案的比较,方案三主要容量较大,具有成本低的优点。因此主模块采用AT89S52。

1.1.2 显示模块的论证与选择

方案一:点阵显示。是由八行八列的LED管集成在一块电路上组成,主要用来显示汉字,同时也能显示数字和少量图象,但它的焊接较麻烦,价格高,鉴于所设计的内容要求用它不切实际,所以排除此方案。

方案二:LED数码管静态显示。此方案电路容易理解且驱动的程序简单,但需多片七段译码器驱动显示,这不仅增加了成本,还占用单片机多个I/O口,也给电路的焊接带来一定的困难[2],因此不选用此方案。

方案三:采用LED数码管动态扫描显示。此方案价格低廉,不仅减少了对I/O口的浪费,而且能够同时驱动多个数码管。但其驱动程序不容易编写和理解。

方案四:采用LCD液晶显示。由ks0108驱动,能显示大量数据、文字、图形,显示的位数多,字体清晰多样、美观,而且外部接线较简单。

经过四种方案的比较,本设计主要显示字体较多,因此,最后选择了方案四。

1.1.3 控制按键的论证与选择

方案一:选取阵列式按键,减少了I/O口的使用,且扫描M×N个按键只需占用M+N个I/O口即可实现,但给编程带来了一定的困难,虽然节省了很多的口线,降低了成本[3],但在此设计中所用的按键要尽量少,因此排除此方案。

方案二:独立式按键,每个按键实现一个功能,易于控制且编写程序简单,容易理解,虽然会占用一定的单片机I/O口资源,但是题目中要求使用的按键要尽量少。

通过以上两种方案比较,采用方案二。

1.2 系统各模块的最终方案

经过以上对本系统各模块的方案进行论证与实际应用相比较,本设计电路最终选用AT89C52作为主控系统来控制时钟的准时运转,采用独立试按键控制本设计系统将要实现的全部功能,选用LCD动态扫描来显示时间。本设计选择最优的方案,并设计出如图1所示的系统框图。

如图1所示,系统的整个控制流程是:由单片机AT89C52的内部程序定时控制LCD使之显示出本文所要实现的效果,当计时到整点时单片机发出一条命令去控制喇叭进行整点报时,若出现特殊状况,比如突然断电则单片机将会停止工作,从而会造成时间的不准确,所以加一组键盘便于随时修正时间使时间能够准时计时[4]。此外,为了使所设计的数字钟秒表更为准确,本系统电路又添加了时钟芯片DS1302,此芯片计时精度非常高,一个星期误差只有3s。添加了此芯片使本系统更具实用性。

2 系统的硬件设计与实现

本设计的多功能时钟主要由四个模块组成,其核心元件是一块单片机AT89C52,并采用了误差小的时钟芯片DS1302作时钟定时,它一星期的误差只有为3s。

系统主要通过单片机AT89C52对各个模块进行实时控制,其中P3.1P3.1P3.2用来接独矩阵式按键,此模块用于控制电路以便于实现预期要实现的各个功能;P1和P2口用来接LCD进行动态显示,利用AT89C52单片机直接控制LCD来实现对LCD的动态扫描显示,其中驱动LCD用芯片KS0108;P2.0P2.1P2.2还接了时钟芯片DS1302的第5、7、6脚作定时用;本系统还有一部分是闹铃,闹铃用普通蜂鸣器即可,外加三极管电阻对其声音进行放大。

2.1 主控制模块电路的设计

主控模块电路的电路如图2所示。

如图2所示,本次设计的多功能数字钟采用一块AT89C52作为主控模块,还用到了转换芯片DS1302,主要是对实现定时电路进行信号交换。在单片机工作之前,我们必须给它一个电源(5V)和连接一些需要连接的地方。比如第18、19引脚之间要给它接上一个12MHz的晶振和两个33p F的电容。第31引脚要接上电源,第9引脚要接上复位电路。第20引脚要接地,第40引脚要接上电源。DS1302芯片主要用于电路的转换[5]。单片机剩下的P0口、P3口、和P2口分别用于其他功能。同时要指出的是在使用P0口时要给它接上上拉电阻,这样单片机的驱动能力就会大大增强。P3口是复用功能,可以用做数据的传输和地址线。特别要强调的是这里只能用高8位做数据线。P2口内部已经具备了上拉电阻,因此不用再加上拉电阻了。这些都是上电之前要做好的一些前提条件,如果忽视了哪一点,都可能使单片机不能正常工作,或者说容易烧坏单片机。

2.2 LCD显示模块电路的设计

显示电路图如图3所示。从图3中可以观察到,单片机P1口连接LCD的D0-D7,LCD的第1、2脚分别接电源和地,然后由单片机AT89C52载入程序用以控制LCD,由此来显示相应的文字。

为了线路的简便,本显示模块只用到一块LCD(128×64)的液晶显示器。另外,为了使程序更简单,还使用了一块液晶的控制器芯片KS0108来驱动LCD,这样当编写程序时就省去了编写LCD的驱动程序,大大减少了设计的时间段,这样既省时间又不会使电路变复杂。

图3显示电路(参见下页)

2.3 闹铃与按键模块电路的设计

闹铃电路如图4所示。本电路比较简单,只用普通的蜂鸣器接至AT89C52由它进行控制,从图4可以看出单片机P3.0口接喇叭的正极,为了使蜂鸣器的声音大些,P3.0口信号输出端接上一个电阻和一个三极管用于放大声音信号,蜂鸣器的负极直接接地,按键模块用到了三个按钮和三个电阻[5]。单片机的P3.1P3.2P3.3与三个按钮相连。按钮的另一端接喇叭的

负极。其中按钮的功能是随时调整时间以及调整闹钟。

2.4 DS1302时钟模块的设计

2.4.1 引脚功能及结构

图5所示为DS1302的引脚图。其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1正0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768k Hz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送[6]。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc大于或等于2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平[7]。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。

图5 DS1302的引脚图(参见右栏)

2.4.2 DS1302与CPU的连接

DS1302与CPU的连接电路如图6所示。DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、

RST(5)。时钟的显示用LCD。实际上,在调试程序时可以不加电容器,只加一个32.768k Hz的晶振即可。只是选择晶振时,不同的晶振,误差也较大(还可以在上面的电路中加入DS18B20,同时显示实时温度)。只要占用CPU一个口线即可[8]。LCD还可以换成LED,因为LED无法显示较复杂的字符而本设计有用到字符显示,因此系统选用LCD,其特点是可显示任意字段笔划(比如星期)而且显示清晰。

为了初始化任何数据的传输,引脚信号应由低变高,并且应将具有地址和控制信息的8位数据(控制字节)装入芯片的移位寄存器内,数据的读写可以用单字节或多字节的突发模式方式进行[9]。所有的数据应在时钟的下降沿变化,而在时钟的上升沿,芯片或与之相连的设备进行输入。

3 系统的软件设计

3.1 系统软件概述

3.1.1 DS1302的命令字节

命令字节的格式如图7所示.每次数据的传输都是由命令字节开始的,这里的最高有效位必须是1。D6是RAM(为1)或时钟/日历(为0)的标识位。D1~D5定义片内寄存器的地址。最低有效位(D0)定义了写操作(为0时)或读操作(为1时)。命令字节的传输始终从最低有效位开始。

图7命令字节格式(参见下页)

3.1.2 DS1302的控制字节

DS1302的控制字节如图7所示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。

(1)数据的写入或读出。对芯片的所有写入或读出操作都是由命令字节为引导的。每次仅写入或读出1B数据的操作称为单字节操作[10]。每次对时钟/日历的8B或31个RAM字节进行全体写入或读出称为多字节突发模式操作。包括命令字节在内,对于单字节操作,每次需要16个时钟;对于时钟/日历多字节突发模式操作,每次需要72个时钟;而对于RAM多字节突发模式操作,每次则需要多达256个时钟[11]。单字节传送操作格式如图8所示。多字节突发模式操作格式如图9所示。

(2)时钟/日历寄存器数据格式及功能定义。访问DS1302片内各寄存器数据格式如表1所示。表中x表示任意,可为0或1。

3.2 流程图

3.2.1 主程序流程图

3.2.2 子程序的设计

4 结语

本多功能数字钟系统电路主要是由数字集成芯片DS1302和单片机AT89C52实现的,具有年、月、日及星期的显示及设定功能,同时,具有时、分、秒的显示及进位功能。可设定中断按键,即设定闹铃按键和调整时间的按键以及其它功能的按键。能显示当前的时间、星期及年、月、日,同一时刻可以设置闹钟。当输入的时间与设定的时间一致时,蜂鸣器就会发出报警声,还可以播放音乐即为闹钟的铃声。它有很强的实用性和较广泛的推广应用前景。

参考文献

[1]全国大学生电子设计竞赛获奖作品选编[M].北京:北京理工大学出版社,2005.

[2]雷思孝,冯育长.单片机系统设计及工程应用[M].西安:西安电子科技大学出版社,2005.

[3]佘明辉,余轮.基于多进制数字的相位解调技术的分析[J].井冈山大学学报(自然科学版),2011,32(2):67-70.

[4]邵兰.简易数字钟电路设计基本思路[J].职业技术,2007(6):118-119.

[5]王云涛,王楠,朱传琴.浅谈多功能数字钟的设计[J].山东电力高等专科学校学报,2005(4):71-72.

[6]曾日波.多功能数字电子钟系统的设计与实现[J].乐山师范学院学报,2004(12):23-24,27.

[7]佘明辉,赵东风.基于窗口式流量和拥塞控制的分析[J].贵州大学学报(自然科学版),2009,26(5):66-69.

[8]王晨,谢瑞和.智能日历钟显示屏[J].工业仪表与自动化装置,1995(6):43-45.

[9]方宁,杨路丹.数字钟功能扩展电路的设计[J].培训与研究-湖北教育学院学报,2000(2):16-18.

[10]赵淑范.数字电子钟的设计[J].长春大学学报,2004(4):36-39.

3.基于单片机的数字温度计设计 篇三

关键词:温度测量DS18820AT89C51单片机LM016L液晶模块

中图分类号:TP2文献标识码:A文章编号:1007-3973(2010)012-084-02

近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。温度控制系统在国内各行各业的应用虽然已经十分广泛,传统的温度控制方式,主要缺点是温度波动范围大,不能满足高精度,高速度的控制要求。本文将介绍一种基于单片机控制的数字温度计,具有体积小、可靠性高、抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。

1系统硬件构成

本次设计主要由单片机、测温模块、显示模块、报警模块、按键模块、复位电路和晶振电路构成。利用单片机控制温度传感器进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强,它可以在设计中加入时钟芯片以获取时间数据,在数据处理同时显示时间,并且可以对某些时间点的温度数据进行存储,利用键盘来进行调时和温度查询,获得的数据可以通过串口与计算机进行串口通信,方便的采集和整理时间温度数据。

2关键硬件设计

2.1单片机的选择

单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。

80C51有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定nO/计数器。80C51的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(mm)组成。

2.2温度传感器

DALLAS最新单线数字温度传感器DS18820是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。温度测量范围为-55~+125摄氏度,可编程为9位~12位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18820可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18820通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

DS18820可以采用两种方式供电,一种是采用电源供电方式,此时DS18820的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图2所示单片机端口接单线总线,为保证在有效的DS18820时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18820处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。

2.3LCD液晶显示

显示器是人与机器沟通的重要界面,本文采用LM016L做为显示屏。LM016L液晶模块采用HD44780控制器,HD44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,HD44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数mm(DDmm),字符发生器ROMA(cGOROM)字符发生器mm(CGmm),地址计数器mm(Ac)。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDmm和CGmm,或者暂存从DDmm和CGmm读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种。

如图3所示,用89C51的P2口作为数据线,用P3.2、P3.1、P3.0分别作为LCD的E、R/W、RS。其中E是下降沿触发的片选信号,R/W是读写信号,RS是寄存器选择信号本模块设计要点如下:显示模块初始化:首先清屏,再设置接口数据位为8位,显示行数为1行,字型为5~7点阵,然后设置为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位。向LCD的显示缓冲区中送字符,程序中采用2个字符数组,一个显示字符,另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成后再统一显示,首先取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。

2.4串口通讯模块

80C51内部已集成通信接口URT,只需扩展一片MAX232芯片将输出信号转换成RS-232协议规定的电平标准,MAX232是一种双组驱动器,接收器,每个接收器将EIA/TIA-232-E电平输入转换为5V TTL/CMOS电平。·每个驱动器将TTL/CMOS输入电平转换为EIA/TIA-232-E电平。即EIA接口,就是把5V转换为-8V到*15V电位0V转换为8V到15V再经RXD输出,接收时由RXD输入,把-8V到-15V电位转换为5V,8V到15V转换为OV。MAX232的工作电压只需5V,内部有振荡电路产生正负9V电位。

3软件程序设计

从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。主程序流程见图4。

4结论

4.单片机数字时钟课程设计感想 篇四

在实验的开始几天,基本上没有收获,不知何从下手,不知所措。为了看得更远,不妨站在前人的肩膀上,我在整体思路模糊的情况下,在网上大量招资粮,各种与电子时钟相关的文章,我阅读了不少。随着涉猎的点滴积累,我对电子时钟的设计方案已经慢慢酝酿而成。有了方向和不少知识储备后,在接下来的几天,几乎每天都有突破,虽然有时只是一句程序的修改或诞生,但那种收获的感觉很暖人心。

实验中遇到了不少问题,接下来总结一下,共同探讨。

1,按键问题。我的设计中,很多功能选择是通过按键开关实现的。在仿真中发现,调整数值时,有时按键反应太快,按一次,跳了几下,使设置时间,日期很不方便。但是仿真多了之后,找到了按键(实际上是按鼠标)的节奏,对按键的掌控力提高了不少,不怎么会出现跳变的情况了。有些开关我采用了长按键的方式来防抖,效果不错,但是每次都要长按键,调整效率太低,我没有普及。本来想把所有的按键都加延时防抖电路,但仿真中感觉对键盘的控制力没提高多少,有时还是会出问题,这个方案放弃了。索性将板子焊接出来了在调试软件吧,仿真毕竟不是那么“真”啊!实际电路调试中,按键反应没有出现过于灵敏的问题,基本可控制。

出现以上问题,我认为是电路板上焊接点太多,接触不是很好,影响了信号的传输时间,从而解决了按键问题!也有可能是按键质量问题,接触不良。

2,P0口开关问题。P0口比较特殊,它存在高阻态,要使其输入不是高电平就是低电平,就要接上拉电阻,给其高电平输入。

3,音乐闹铃问题。在闹铃时间到,闹铃提醒时,我的数码管为熄灭状态,因为开始我的响铃程序内,没有数码管扫描显示程序。但加入数码管显示子程序后,我的闹铃音乐被影响了,一开始不知所措,有点怀疑是显示程序时间过长,影响音乐的定时(节拍),我就在响铃程序中加延时模块,延时长度逐渐提高,最后出现了类似的问题,看来时显示程序占用时间太长,使音乐每个音符的节拍出现了紊乱,音乐功能被遏制了!鱼和熊掌不能兼得,我只能牺牲显示来获得音乐闹铃,但为了弥补显示,我设计了闪烁提醒方案,就是在手动或音乐自然停止后,进入当前时间闪烁提示,8秒后若不按返回键,则自动跳入主程序。

在仿真中,老师提供的响铃电路不能实现功能,但是在我的电路板中效果很好,令人费解!4,中断冲突问题,为了实现秒表,我在T0中断嵌套了秒表相关进位程序,由于秒表要求精度0.01秒,故我的T0中断定时为就刚好0.01秒,中断100次,刚好1秒。秒表确实实现了,但是我的闹铃音质变差了。一开始以为是闹铃程序存太多冗余环节,影响了T1的音乐输出中断,但是检查程序后,发现没什么多余的,裁剪无从下手。

在仿真中,我让音乐模块运行,发现音质很好。添加T0中断服务程序,但是将中断进入的间隔变大,即0.05秒进入一次中断,发现音质有所下降,有滋滋声,但比原来的好。最后认定应该是T0中断过于频繁,T1音乐频率发生中断被打破,当单位时间内被打破的次数达到一定程度时,音符和节拍的对应发生紊乱,最终音质变差。

虽然如此,我的焊接的电路板的表现却很争气,闹铃音质可以接受!虽然这次实际表现不错,但问题还是有的,还是要解决的,我的方案是把秒表程序放在T1中断服务程序,虽然音乐的发生要用到T1中断,但是秒表的显示和闹铃音乐的演奏上不会重合在一起,闹铃判断是在主程序,而秒表实现是在秒表子程序,故原本相互矛盾的两个功能,在T1中断服务程序中找到了共同的归宿,和谐相处。

5,显示数字分隔问题。本实验中用8个共阴极数码管显示日历及其时间,但是8个数码管连在一起,显示过程中不能有效地区分时,分,秒和年,月,日,数码管是两两组合起来,形成某位的十位和个位,故用小数点在适当位置一直保持高亮状态,形成分隔符,实现方便的读取数据。具体方法是,将需要小数点位高亮的数码管找出来,在动态显示扫描到该数码管时,先将提取的字段码的最高位变为1,利用语句 ORL A,#10000000B 实现,修正字码后,再将字码送入P1口显示数字,如此问题得以解决。

6,添加倒计时器嘀嘀声提示功能。这个功能我用到了T1中断,作为音调频率发生器,但是T1已经承担了音乐闹铃的音调发生功能,在此通过设立标志位实现中断服务程序的转变。即使我将秒表的实现服务程序放入T1中断实现,也没问题,只要选择标志位判断就可以了。在此,我们用调整状态指示灯的状态来做标志位,具体的说是P0.1口做标志位。

还有一个问题就是如何使铃声有间隔的响,这就牵涉到定时,在此我们用硬件定时,即T1中断的次数作为定时参数。我的设计是音调响0.25秒,然后用T1延时0.5秒,由于计数器工作于方式1时,12MHZ时钟频率下时,一次中断最多定时65536*1us=0.065536秒,为了实现0.5秒的响声间隔,将T1中断1次定时为0.05秒,中断10次后,重新装音调发生计数初值。对于响铃时间的设定原理类似,可以有发声频率求出一次发声定时中断的时间,N次发声定时中断后,使时间变化0.25秒,而后转入发声间隔定时程序。

设计体会

5.单片机数字钟设计总结 篇五

大学四年的学习生活中,会遇到各种各样的竞赛,抢答器便成为了主要的工具之一。而现在的抢答器智能化越来越强,这必然会提高抢答器的成本。本抢答器与其他抢答器电路相比较成本低、制作方便,并且还有作弊显示功能。因此,这款四路抢答器摒弃了成本高、体积大、操作复杂等不足。我们采用了数字显示器直接指示,因而本抢答器具有显示直观,操作简单的特点。

二、主要功能及技术指标

抢答器的工作原理是用矩阵式键盘进行抢答。采用动态显示组号。主持人按下开始抢答键才可以抢答。主持人没有按下开始抢答按纽(P3.2),有人抢答则抢答违规,报警并显示组号,主持人按下开始抢答开关重新抢答。主持人按下开始抢答按纽(P3.2),蜂鸣响声提示,且数码管10秒倒计时(10秒内抢答有效),有人在10秒抢答,蜂鸣器响声提示并显示他的组号,3秒开始20秒倒计时(20秒内必须回答完问题)。20秒后主持人按下复位开关为下一题的抢答做准备。单片机最小系统、抢答按键模块(四位并行数码显示、1*4矩阵式键盘)、显示模块、抢答开关模块、蜂鸣器输出模块。

三、系统组成及原理

1、分图

四、软件

1、分配流程图

初始化开始

20秒回答问题时间到并响声提示调用读键子程序作为延时程序设定定时器初值并启动定时器中断条件是否满足Y开中断并响声提示NN读键盘是否有键按下Y调用显示抢答违规并报警子程序报警提示编号10秒抢答倒计时开始显示显示违规者编号是否有按键按下NY调用抢答者获得回答的子程序10到时中断并返回响声提示设定定时器初值并启动显示抢答者并且3秒后倒计时RET3

2、源程序

ORG 0000H LJMP MAIN ORG 0013H LJMP ESS1 ORG 0100H MAIN:SETB EA SETB EX1 SETB IT1;外部中断1初始化 L16:MOV P1,#0FFH MOV R2,#00H CLR P1.0 INC R2 JB P1.4,L0 LCALL DE0 L0:INC R2 JB P1.5,L1 LCALL DE0 L1:INC R2 JB P1.6,L2 LCALL DE0 L2:INC R2 JB P1.7,L3 LCALL DE0 L3:SETB P1.0 CLR P1.1 INC R2 JB P1.4,L4 LCALL DE0 L4:INC R2 JB P1.5,L5 LCALL DE0 L5:INC R2 JB P1.6,L6 LCALL DE0 L6:INC R2 JB P1.7,L7 LCALL DE0 L7:SETB P1.1 CLR P1.2 INC R2 JB P1.4,L8 LCALL DE0 L8:INC R2

JB P1.5,L9 LCALL DE0 L9:INC R2 JB P1.6,L10 LCALL DE0 L10:INC R2 JB P1.7,L11 LCALL DE0 L11:SETB P1.2 LJMP L16;读行列式键盘 ESS1:MOV 70H,#30D;外部中断1 MOV R7,#0CH CLR P3.0 S2:LCALL DELAY DJNZ 70H,S2 SETB P3.0;蜂鸣器提示开始抢答 MOV TMOD,#00010000B MOV R3,#0AH L20:MOV 55H,#14H L19:MOV TH0,#3CH MOV TL0,#0B0H;定时器1初始化 SETB TR1;启动定时器1 MOV A,R3 MOV B,#0AH DIV AB MOV DPTR,#TAB MOVC A,@A+DPTR MOV 53H,A CLR P2.4 MOV P0,53H LCALL DELAY1 SETB P2.4 MOV A,B MOVC A,@A+DPTR MOV 54H,A CLR P2.5 MOV P0,54H LCALL DELAY1 SETB P2.5 L18:JNB TF1,L18 CLR TF1 DJNZ 55H,L19 DEC R3 CJNE R7,#00H,D6

LJMP D5 D6:CJNE R3,#0FFH,L21 LJMP L22 L21:LJMP L20;抢答倒计时 L22:MOV 73H,#02D S5:MOV 70H,#20D MOV 71H,#20H CLR P3.0 S4:LCALL DELAY DJNZ 70H,S4 SETB P3.0 S6:LCALL DELAY DJNZ 71H,S6 DJNZ 73H,S5;抢答倒计时时间到声音提示 D5:RETI DE0:MOV DPTR,#TAB;抢答违规报警并显示抢答违规组号 MOV A,R2 MOV B,#0AH S10:MOV 72H,#20D MOV 73H,#10D CLR P3.0 S8:LCALL LCC DJNZ 72H,S8 SETB P3.0 S9:LCALL LCC DJNZ 73H,S9 DJNZ 71H,S10 L17:LCALL LCC LJMP L17 LCC:CLR P2.4 MOV P0,50H LCALL DELAY DELAY1:MOV P1,#0FFH;正常抢答读键 MOV R4,#250D W17:MOV R2,#00H CLR P1.0 INC R2 JB P1.4,W0 LCALL DE1 W0:INC R2 JB P1.5,W1 LCALL DE1 W1:INC R2 JB P1.6,W2 LCALL DE1 W2:INC R2 JB P1.7,W3 LCALL DE1 W3:SETB P1.0 CLR P1.1 INC R2 JB P1.4,W4 LCALL DE1 W4:INC R2 JB P1.5,W5 LCALL DE1 W5:INC R2 JB P1.6,W6 LCALL DE1 W6:INC R2 JB P1.7,W7 LCALL DE1 W7:SETB P1.1 CLR P1.2 INC R2 JB P1.4,W8 LCALL DE1 W8:INC R2 JB P1.5,W9 LCALL DE1 W9:INC R2 JB P1.6,W10 LCALL DE1 W10:INC R2 JB P1.7,W15 LCALL DE1 W15:SETB P1.3 DJNZ R4,W16 LJMP W18 W16:LJMP W17 W18:RET DE1:MOV P1,#0FFH;MOV 70H,#20D CLR P3.0 S3:LCALL DELAY DJNZ 70H,S3 SETB P3.0 SETB P2.0 抢答成功声音提示及回答问题时间20秒倒计时7

SETB P2.1 MOV DPTR,#TAB MOV A,R2 MOV B,#0AH DIV AB MOVC A,@A+DPTR MOV 56H,A MOV A,B MOVC A,@A+DPTR MOV 57H,A MOV TMOD,#00000001B MOV R5,#16H L32:MOV R6,#14H L31:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 CLR P2.4 MOV P0,56H LCALL DELAY SETB P2.4 CLR P2.5 MOV P0,57H LCALL DELAY SETB P2.5 CJNE R5,#14H,L34 LJMP L35 L34: JC L35 LJMP L30 L35: MOV A,R5 MOV B,#0AH DIV AB MOVC A,@A+DPTR MOV 58H,A MOV A,B MOVC A,@A+DPTR MOV 59H,A CLR P2.6 MOV P0,58H LCALL DELAY SETB P2.6 CLR P2.7 MOV P0,59H LCALL DELAY SETB P2.7 L30:JNB TF0,L30 CLR TF0 DJNZ R6,L31 DEC R5 CJNE R5,#0FFH,L32 MOV P1,#0FFH MOV 70H,#50D CLR P3.0 S7:LCALL DELAY DJNZ 70H,S7 SETB P3.0 MOV P2,#0FFH MOV R3,#00H MOV R7,#00H RET DELAY:MOV 51H,#10D;延时子程序 D0:MOV 52H,#248D D1:DJNZ 52H,D1 DJNZ 51H,D0 RET TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END

五、分析

这次实训遗憾的是,我的实训材料是买的成品的板,没有自己去焊制自己的实训板,当然这节省了一些时间,但是,在原理图上确实也花费了一些时间。对于四路抢答器的程序方面,也有需要改进的地方,有很多的不合适的地方,比如,在违规抢答倒计时方面,当你违规抢答时,也会出现20秒的倒计时,和正常抢答的一样。所以,在以后的编程和调试过程中还应该注意这种小的毛病。

六、体会

本次实训使我对单片机有课更加深入的了解,以及对汇编语言的编程有了更进一步的体会,知道在编程的过程中会有大量的错误产生,一次一次的修改,有时真的比较麻烦。在最初读程序的过程中,也遇到过大量的程序读不懂,在编程的过程中,确实话费了很多的时间。

在此我非常要感谢的是各位知道老师不遗余力的指导,同样也非常感谢同学的帮助,在我不懂程序时帮助我完善程序。这次实训能够顺利的完成,当然与我个人的努力也是分不开的。

七、参考文献

[1]张鑫《单片机原理及应用》电子工业出版社2010年

[2]李泉溪《单片机原理与应用实例仿真》北京航天航空大学出版社 2009年

6.单片机课程设计个人总结 篇六

谈起这次课程设计,我只能从第二次小组聚在一起动手焊接电路说起。我们组只有我一位女生,所以对于他们男生拿起电烙铁看着电路图就开始焊接线路的动作,我一直认为是很帅的。因参加招聘会,我错过了第一堂课上老师手把手讲解和指导的机会。不过我们小组的男生都很乐于助人,所以我也学会不少技巧和方法。不似第一次做课设时的那般慌乱,这次我们都表现的有一点沉稳。

我看着男生拿着电烙铁用焊锡焊接线路时充满了好奇,自己也要跃跃欲试。于是,在他们手把手的指导下,我将将就就焊接了一两个。我那时觉得很兴奋,因为在家里对于这些电器电路等等,我一直是避而不碰的。我害怕它们不安全害怕它们伤了我。虽然我是学习物理的,但是当回到家妈妈让我换个电灯泡时,我就仿佛看见了鬼一般躲得远远的。我哥哥曾经嘲笑我只会理论知识,不会实践。我每次都承认这是我的弱点。这次在学校里能亲自动手焊接电路,我感觉自己好像开始慢慢接受慢慢不再害怕了。一切都是很顺利,只是当我去焊接第三根导线时,由于太专注于线路板,让电烙铁烧了一下我自己的头发。本组的男生立马把电烙铁拿开了,只让我在旁边一边观察一边学习。我当时真的觉得很囧,其实我真的是一不小心,我还是可以继续帮忙的。

我们小组的成员让我感受到了互相合作的重要性。我发现在老师讲解之后,我们小组的接受和明白能力特别强,就赶快动手了。你负责研究电路图,我负责安装芯片,他负责焊接线路。我们的分工很明确,所以一开始我们是所有小组中速度最快的那一个。可是后来,我想是因为我们都是首次接触这些器件,所以在老师讲解之后,我们思考的不是很周全就动手了。结果,当一切的芯片都已经焊接好了时,才发现我们没有考虑元件的布局和线路的干扰问题,只是把元件均匀的排在万能板上,然后焊接。这就导致我们在焊接时很容易出现短路的情况也会影响我们组电路板的形象。在这样的情况下,焊接工作在我们组就变得不是那么简单了,我们更需要耐心更需要熟练的焊接技术。没有一帆风顺的工作,所以我们依然还是一不小心焊接错了一两根导线,只好重新拆下来仔细检查再继续焊接。刚开始我只是认为只要焊紧就好了,没有想过会不会形成虚焊。看到我们组男生在仔细检查电路有没有漏接和虚焊的时候,我明白了把这些芯片连接在一起对于我们新手仍然是项工程。不管是花了多少时间还是耐心,我们组终于成功完成了这次的设计。我开始以为最后的报告不是很难,现在想来我的感觉是错了。对于我们初次接触单片机课程的我们,完成这份报告还是有一些难度。凭着之前学过一些相关知识的我们,我们互相讨论交流完成了报告,并努力做到最好。

7.基于单片机的数字温度计设计 篇七

关键词:单片机,数字温度计,温度检测,AT89C51

1 引言

随着我国信息化和工业化的高速发展,温度传感器技术,已在众多领域得到广泛应用。温度测量对人民生活生产都有十分重要,因此研究温度的测量方法和装置具有重要的意义。传统热敏电阻温度计,以热敏电阻为温度敏感元件,具有成本低的优点。但可靠性相对较差,测温准确度低,同时后续信号处理电路,检测系统也有一定的误差。相比热敏电阻温度计,基于单片机的数字温度计优势明显,可便捷地实现温度采集和显示,并可根据需要任意设定上下限报警温度。基于单片机的数字温度计使用便利,具有测量精度高、测量范围大、灵敏度高、耗能低等优点。

2 设计要求

(1)以MCS-51系列单片机为核心器件,组成一个数字式温度计;(2)采用数字式温度传感器为检测器件,进行单点温度检测,检测精度为0.1℃;(3)温度显示采用4位LED数码管显示,两位整数,一位小数,一位单位;(4)具有键盘设定温度上下限功能,超过限度时进行报警。

选用AT89C51型单片机作为主控制器件,DSl8B20作为测温传感器,通过4位共阳极LED数码管串口传送数据,实现温度显示。通过DSl8B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃,最大线性偏差小于0.1℃。

3 总体设计方案

在单片机电路设计中,采用一只温度传感器MF58,此传感器可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。电路比较简单,软件设计也比较简单,故采用了这种方案。

温度计电路设计总体设计,控制器采用单片机AT80C51,温度传感器采用MF58,用3位LED数码管以串口传送数据实现温度显示。

4 软件设计

DSl8B20可直接向单片机传输数字信号,便于单片机处理及控制。此数字温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。DSl8B20的主要数据元件有:64位激光Lasered R O M,温度灵敏元件和非易失性温度告警触发器T H和T L。DSl8B20可以从单总线获取电源,当信号线为高电平时,将能量贮存在内部电容器中;当单信号线为低电平时,将该电源断开,直到信号线变为高电平重新接上电容电源为止。此外还可外接5V电源,给DSl8B20供电。DSl8B20的供电方式灵活,利用外接电源还可增加系统的稳定性和可靠性。

读出温度数据后,LOW的低四位为温度的小数部分,可以精确到0.0625℃,LOW的高四位和HIGH的低四位为温度的整数部分,HIGH的高四位全部为1表示负数,全为0表示正数。所以先将数据提取出来,分为三个部分:符号部分、整数部分和小数部分。小数部分进行四舍五入处理:大于0.5℃的话,向个位进1;小于0.5℃的时候,舍去不要。当数据是个负数的时候,显示之前要进行数据转换,将其整数部分取反加一。还因为DS18B20最低温度只能为-55℃,所以可以将整数部分的最高位换成一个“-”,表示为负数。图4-1为温度数据处理程序的流程图。

5 总结与体会

温度直接影响现代工业生产中的众多物理和化学过程:燃烧、化学反应、发酵、烘烤、蒸馏、浓度、挤压成形、结晶以及空气流动等。温度控制失误就可能影响工业生产中的生产安全、超产品质量控制等一系列问题。因此温度测量现代工业生产具有重大意义。

本设计中的数字温度计电路采用AT89S52作为核心器件,实现对系统的自动控制。外界温度经DS18B20集成温度传感器采集,温度变化最终转换为可被单片机识别的数字信号,单片机将采集到的温度值在LED数码管上显示出来。当测温精度在1℃或0.1℃时,传统温度计如水银、煤油或酒精温度计,通常其刻度间隔较小,难以分辨故读数困难;同时起工质热容量较大,达到热平衡所需的反映时间较长,因此,使用不便,读数很难精确。数字温度计与传统温度计相比,具有使用方便、易于读数、测温范围广、测量精度高、反应速度快等优点。

参考文献

[1]张毅刚.单片机原理及应用[M].高等教育出版社.2004,137-156.

[2]李全利.单片机原理及应用技术[M].北京:高等教育出版社,2004.

[3]胡寿松.自动控制原理.北京:国防工业出版社,2000,103—124.

[4]刘伯春.智能PID调节器的设计及应用.电子自动化,1995,20-25.

[5]张明,谢列敏.计算机测控技术[M].北京:国防工业出版社,2007.

[6]邵惠鹤.工业过程高级控制.上海:上海交通大学出版社,1997,58—62,78—101.

[7]赵晶.电路设计与制版Protel99[M].北京:人民邮电出版社,2000.

8.单片机数字钟设计总结 篇八

关键词:数字万用表 MSP430F149 单片机

中图分类号:TM933文献标识码:A文章编号:1674-098X(2012)09(b)-0041-02

1 数字万用表的工作原理

数字万用表的最基本功能是测量直流电压、直流电流、交流电压、电阻、温度、电容及频率,其基本组成见图1。

通过功能量程的选择把被测物理量连接到相应的参数转换电路上,经过电路转换成电压或频率使单片机能够直接测量,单片机通过拨位开关得到被测物理量的类型,再通过cpu计算出被测物理量的大小,然后控制液晶显示测量结果。

2 MSP430F149芯片简介

MSP430F149单片机是美国TI公司推出的16位高性能单片机,具有丰富的片内资源,包括时钟模块、捕获/比较模块、Flash模块、看门狗定时器模块、定时器模块、以及通用I/O口模块等。

3 参数转换电路

3.1 直流电压测量电路

直流电压电路如图2所示,可选择3个档位0~3V,0~30V,0~300V。通过电阻分压把被测电压调整到AD的量程(0~3.3V)内。本设计AD转换使用单片机片内集成AD,AD参考电压为3.3V。图中1M电阻和104电容组成低通滤波器可以滤除表笔与被测物体接触时产生的高频信号和空间的电磁干扰使得测量结果更加稳定[1]。

电阻计算:由于电压表要求接到电路上时对电路的电压影响要下,所以输入阻抗越大越好,本设计选择输入阻抗Ro=10M。

3.2 直流电流测量电路

测量电流的原理是根据欧姆定律,用合适的取样电阻把待测电流转换为相应的电压,再进行测量,被测电流Ii=Ui/R,Ui=IiR。从图3可以看出,测量电路图中有2A保险丝管,电流过大时会快速熔断,起过流保护作用,由于测量电流是可能会有大电流通过采样电阻所以要考虑采样电阻的功率,所以R4采用1W的电阻,R3、R2采用2W的绕线电阻。图中1M电阻和104电容组成低通滤波器可以滤除表笔与被测物体接触时产生的高频信号和空间的电磁干扰使得测量结果更加稳定[2]。

各档分流电阻的阻值是这样计算的,先计算最大电流档的分流电阻R4,,再计算下一档的R3,,依次可计算出R2和R1。

3.3 电阻测量电路

数字万用表中的电阻档采用的是比例测量法,其电阻测量电路见图4。由稳压芯片提供测量基准电压3.3V,流过标准电阻Ro和被测电阻Rx的电流基本相等,数字表头的输入阻抗很高,其取用的电流可忽略不计,图中1M电阻和104电容组成低通滤波器可以滤除表笔与被测物体接触时产生的高频信号和空间的电磁干扰使得测量结果更加稳定。A/D转换器的测量电压和测量基准电压具有如下关系:即:。

电阻计算:当被测电阻阻值在200Ω以下是用100Ω的电阻做分压电阻,;

以此类推…

可计算出。

3.4 交流电压测量电路

交流电压测量是通过二极管1N4007把被测电压进行半波整流,再通过分压电阻把电压降低,再通过电阻和电容组成低通滤波器滤成直流,再经过AD转化成数字值,再经过cpu计算出电压有效值,由于1N4007是普通整流二极管,反向恢复速度较慢所以不能测量高频交流电压[3]。

电阻计算:为了使200V档的分压比为100左右所以R1取9k;750V档的分压比为300所以R2取3k;(图5)

3.5 温度测量电路

(1)LM35简述

LM35系列是精密集成电路温度传感器,其输出的电压线性地与摄氏温度成正比。因此,LM35比按绝对温标校准的线性温度传感器优越感得多。LM35系列传感器生产制作时已经过校准,输出电压与摄氏温度一一对应,使用极为方便。灵敏度为10.0mV/℃,精度在0.4~0.8℃(-55~+150℃溫度范围内),重复性好,低输出阻抗,线性输出和内部精密校准使其与读出或控制电路接口简单和方便,可单电源和正负电源工作[4]。(图6)

(2)应用电路

3.6 频率和电容测量电路

(1)频率测量

频率测量主要是软件设计,单片机I/O口有电平判决功能,所以无论是,正弦波、三角波、还是锯齿波,只需把被测信号接到单片机I/O口上就可以测量,为了防止被测信号的驱动能力过强损坏单片机,在被测信号与单片机之间接上27k电阻防止电流过大。软件设置I/O口下降沿中断,每来一个下降沿计数加1,再用定时器B定时1秒,每次定时中断时读出计数结果并且清零计数。

(2)电容测量电路

电容测量是把电容转化成频率再测量频率来算出电容大小,电容频率变换电路利用lf356高速放大器和电阻电容产生自激振荡,频率。电容频率变换电路如图7所示。其中R为图中R1,R2或R3。因为本设计中单片机测量频率不能高于20kHz,所以要根据上面公式计算出各个电容档对应的电阻,使得振荡产生的频率在单片机测量范围内。例如:当测量nf级电容式对应电阻为27k时,产生的频率范围是168Hz~16.8kHz,满足频率测量范围。

4 系统软件流程

软件设计是设计中最难的部分,它需要把所有的功能综合在一起,由于本设计的功能比较多,要让多种测量方式之间能正常转换,需要设置多种中断,要控制各种中断的开启时间和关闭时间,软件设计包括,AD转换,测量结果转换,LCD显示驱动。系统总体流程图如图8所示,系统开机后,首先进行LCD初始化,ADC初始化,定时器初始化,I/O口中断初始化,开总中断,然后根据按键的输入状态,执行相应处理。

5 结语

本论文结合数字万用表项目,主要论述了各种物理量的测量原理、硬件和软件的设计等。选用了具有较大的片内存储空间的高性能16位微处理器MSP430F149作为控制核心,利用片内高速12位AD转换器做AD转换,利用拨位开关选择测量物理量,利用LCD作静态显示。本文所讨论的数字万用表着眼于低硬件成本、高稳定可靠性、使用方便。具有极高的推广价值。

参考文献

[1]魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京.北京航空航天大学出版社.2002.45-47.

[2]常健生.检测与转换技术[M].机械工业出版社.2000.180-183.

[3]童诗白.模拟电子技术基础[M].高等教育出版社.2001.13-21.

上一篇:母亲您是我的太阳作文700字下一篇:当代青年必读的励志文章强烈推荐

相关推荐