樱子2200
系统总体方案及硬件设计(方案论证、设计、调试及仪器说明)本系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时计数的原理,结合硬件电路如电源电路,晶振电路,复位电路和显示电路,以及一些按键电路等来设计计数器,将软硬件有机结合起来,其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,硬件系统利用Protues强大的功能来实现,简单易于观察,在仿真中就可以观察到实际的工作状态。1)晶振电路MCS-51单片机内部的晶振电路是一个高增益反相放大器,引用XTAL1和XTAL2分别为反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。这里,我们选用51单片机12MHZ的内部振荡方式,电路如下:电容器C1、C2起稳定振荡频率,快速起振的作用,C1和C2可以在20-100PF之间取值,这里取20PF,接线时要使晶体振荡器X1尽可能接近单片机。2)按键部分电路接线在按键电路中,我们可以在I/O口上直接按键,或者通过I/O口设计一个键盘,然后通过键盘扫描程序判断是否有按键按下等。此系统是一个小系统,有足够的I/O口可以使用,为了使程序简化,我们采用按键电路,用部分P1口做开关,开始,暂停,清零,复位。3)显示电路电路显示电路我们采用的是数码管显示电路。用2个共阴极LED显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各二极管的亮灭组合成字符。在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示温度,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。在设计中,我们采用LED动态显示,用P0口驱动显示。由于P0口的输出极是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点,把一个多功能的复杂的程序划分成多个简单的、单一的程序模块
Khloekloklo
#include<>#define uint unsigned int /*int code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92, 0x82,0xF8,0x80,0x90,0x88,0x83, 0xC6,0xA1,0x84,0x0E};*//*uint code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uint num=0,aa=0,bai,shi,ge;void display(uint bai,shi,ge);//数码管位显示子函数void init(); //定时器子函数void delay(uint z); //延时子函数void main(){ init();//初始化定时器 while(1) { if(aa==20) { aa=0; num++; if(num==100)num=0; bai=num/100; shi=num%100/10; ge=num%10; } display(bai,shi,ge); } }void display(uint bai,shi,ge){ P1=0xfe; P0=table[bai]; delay(5); P1=0xfd; P0=table[shi]; delay(5); P1=0xfb; P0=table[ge]; delay(5); }void timer0() interrupt 1{ TH0=(65535-50000)/256; TL0=(65535-50000)%256; aa++; }void init(){ TMOD=1; TH0=(65535-50000)/256; TL0=(65535-50000)%256; EA=1; ET0=1; TR0=1;}void delay(uint z){ uint a,b; for(a=z;a>0;a--) for(b=110;b>0;b--);}*/
小冷0623
数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要有主控制器,计时与显示电路和回零、启动和停表电路等。主控制器采用单片机AT89C52,显示电路采用共阴极LED数码管显示计时时间。本设计利用AT89C52单片机的定时器/计数器定时和记数的原理,使其能精确计时。利用中断系统使其能实现开始暂停的功能。P0口输出段码数据,口作列扫描输出,、、、口接四个按钮开关,分别实现开始、暂停、清零和查看上次计时时间功能。电路原理图设计最基本的要求是正确性,其次是布局合理,最后在正确性和布局合理的前提下力求美观。硬件电路图按照图进行设计。 图 数字秒表硬件电路基本原理图根据要求知道秒表设计主要实现的功能是计时和显示。因此设置了四个按键和五位数码管显示时间,三个按键分别是开始,停止、复位和查看上次计时时间按键。利用这四个建来实现秒表的全部功能,而五位数码管则能显示最多秒的计时。本设计中,数码管显示的数据存放在内存单元79H-7DH中。其中79H存放毫秒位数据,7AH存放十毫秒位数据,7BH存放百毫秒位数据,7CH存放秒位数据,7DH存放十秒位数据,每一地址单元内均为十进制BCD码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。显示时,先取出79H-7dH某一地址中的数据,然后查得对应的显示用段码,并从P0口输出,P2口将对应的数码管选中供电,就能显示该地址单元的数据值。最终缓存区则设置为59H-5DH,数据存放规则和79H-7DH一样。分别对应存放毫秒位至十秒位数据。与79H-7DH存储区不一样的是:59H-5DH存储的内容为数字秒表上一次计时显示的时间。而79H-7DH为当前计时时间存储区。计时采用定时器T0中断完成,定时溢出中断周期为1ms,当一处中断后向CPU发出溢出中断请求,每发出一次中断请求就对毫秒计数单元进行加一,达到10次就对十毫秒位进行加一,依次类推,直到秒重新复位。 再看按键的处理。这四个键可以采用中断的方法,也可以采用扫描的方法来识别。复位键和查看主要功能在于数值复位和查询上次计时时间,对于时间的要求不是很严格。而开始和停止键则是用于对时间的锁定,需要比较准确的控制。因此可以对复位和查看按键采取扫描的方式。而对开始和停止键采用外部中断的方式。设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要有主控制器,显示电路和回零、启动、查看、停表电路等。主控制器采用单片机AT89C52,显示电路采用共阴极LED数码管显示计时时间,四个按键均采用触点式按键。对于数字显示电路,通常采用液晶显示或数码管显示。对于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性差,不适合远距离观看;对于具有驱动电路和单片机接口的液晶显示模块(字符或点阵),一般多采用并行接口,对单片机的接口要求较高,占用资源多;另外,AT89S52单片机本身无专门的液晶驱动接口。而数码管作为一种主动显示器件,具有亮度高、响应速度快、防潮防湿性能好、温度特性极性、价格便宜、易于购买等优点,而且有远距离视觉效果,很适合夜间或是远距离操作。因此,本设计的显示电路采用7段数码管作为显示介质。数码管显示可以分为静态显示和动态显示两种。由于本设计需要采用五位数码管显示时间,如果静态显示则占用的口线多,硬件电路复杂。所以采用动态显示。 图 显示电路基本原理图动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为位扫描。通常各位数码管的段选线相应并联在一起,由一个8位的I/O口控制;各位的公共阴极位选线由另外的I/O口线控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示必须采用扫描方式,即在某一时刻只选通一位数码管,并送出相应的段码,在另一时刻选通另一位数码管,并送出相应的段码,依此规律循环,即可使各位数码管显示将要显示的字符,虽然这些字符是在不同的时刻分别显示,但由于人眼存在视觉暂留效应,只要每位显示间隔足够短就可以给人同时显示的感觉。数码显示管分为共阳数码管和共阴数码管两种共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,如图(b),通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起,如图(c),通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端,当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。
什么题目的论文。有需要可以联系
一、毕业设计题目及要求 (2个) 1、基于单片机控制的电动机Y-△启动的设计 要求:1)控制器为单片机,电动机为三相异步电动机;2)启动时间为3秒;3)由按键设
第一节课
单片机相关论文如何避免查重1、对于每所大学在毕业时都要交毕业论文,现在有很多公司面试自己的毕业论文,简直就是鸡肋。2、市场需求量促使用户购买某些产品进行创作,会
单片机类毕业设计 ·基于单片机的变频恒压供水控制系统的设计·基于单片机的恒压供水系统的设计·基于AT89S51单片机的数字温度计设计·基于单片机的温室大棚测控系