




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北石油大学 实实习习总总结结报报 告告 实习类型 生产实习 实习单位 电子科学学院实习基地 实习起止时间 2012 年 6 月 25 日至 2012 年 7 月 14 日 指导教师 所在院(系) 电子科学学院 班 级 学生姓名 学 号 2012 年 7 月 14 日 1 一、实验目的与要求 通过单片机开发板安装实习,巩固以前所学理论知识,让学生掌握单片机的硬件 知识及设计方法,提高自身的动手能力,通过对单片机硬件和软件的综合训练,增进 学生对电子工艺的感性认识,了解电子产品制造过程,熟悉电子产品工艺,掌握锡焊 接技术、电子元器件、电子产品设计、装配技术、调试与检测技术以及电子技术文件 的制订等操作技能,通过把设计好的程序利用软件将编译文件加载到单片机芯片中, 实现仿真电路,得到结果,为进一步学习和应用奠定基础,全面提高学生的实践动手 能力和分析问题、解决实际问题的能力,培养其创新精神。 二、单片机开发板原理及各部分功能说明 1.设计原理 5l 系列单片机中典型芯片(at89s51)采用 40 引脚双列直插封装(dip)形式,内部 由 cpu,4kb 的 rom,256 b 的 ram,2 个 16b 的定时计数器 to 和 t1,4 个 8 b 的 io 端口:p0,p1,p2,p3,一个全双功串行通信口等组成。特别是该系列单片机片 内的 flash 可编程、可擦除只读存储器(eprom),使其在实际中有着十分广泛的用途, 在便携式、省电及特殊信息保存的仪器和系统中更为有用。 5l 系列单片机提供以下功能:4 kb 存储器;256 bram;32 条 io 线;2 个 16b 定时计数器;5 个 2 级中断源;1 个全双向的串行口以及时钟电路。空闲方式:cpu 停止工作,而让 ram、定时计数器、串行口和中断系统继续工作。掉电方式:保存 ram 的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。5l 系列单 片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可 在较少外围电路的情况下构成功能完善的超声波测距系统。atmel 的 at89s51 是一种 高效微控制器,at89s2051 是它的一种精简版本。at89s 单片机为很多嵌入式控制系统 提供了一种灵活性高且价廉的方案。 单片机编程,用单片机设计电路,调节时间时,按动调节按钮,六位数码管显示 实时时间。 2.时钟电路工作原理 stc89c52 单片机片内的 flash 可允许在线重新编程,也可用通用非易失性存储编 程器编程;片内数据存储器内含 128 字节的 ram;有 40 个引脚,32 个外部双向输入/输 出(i/o)端口;具有两个 16 位可编程定时器;中断系统是具有 6 个中断源、5 个中断 矢量、2 级中断优先级的中断结构。在 stc89c52 芯片内部有一个高增益反相放大器, 其输入端为芯片引脚 xtal1,输出端为引脚 xtal2。而在芯片内部,xtal1 和 xtal2 之 间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振 荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。 2 3. 共阴极数码管 led 数码管是由 7 个发光二极管构成的,亦称半导体数码管。将条状发光二极管 按照共阴极(负极)或共阳极(正极)的方法连接,组成“8”字,再把发光二极管另一电 极作笔段电极,就构成了 led 数码管。若按规定使某些笔段上的发光二极管发光,就 能显示从 09 的系列数字。led 显示器多采用动态显示方式, led 显示器动态显示 需要为各位提供段码以及相应的位控制,此即通常所说的段控和位控。数码管的八个 位控口接在 at89s52 单片机的 p1 口线上,从左到右顺序连接,段控制线接在 at89s52 单片机的 p0 口线上,从低位到高位对应连接。它亮度高、单色性好、发光响应的时间 短,能与 ttl、cmos 电路兼容等的数显器件。+、-分别表示公共阳极和公共阴极。 ag 是 7 个笔段电极,dp 为小数点。另有一种字高为 76mm 的超小型 led 数码管, 管脚从左右两排引出,小数点则是独立的。本系统利用 4 位 led 数码管显示时间,共 阴极结构。显示模块要具有显示时分秒和间隔闪烁符(至于每两级单位之间)的功能, 共需要八位数码管。并排使用的多位数码管称为 led 显示器。显示模块要具有显示时 分秒和间隔闪烁符(至于每两级单位之间)的功能,共需要八位数码管。并排使用的 多位数码管称为 led 显示器。led 显示器多采用动态显示方式, led 显示器动态显示 需要为各位提供段码以及相应的位控制,此即通常所说的段控和位控。数码管的八个 位控口接在 at89s52 单片机的 p1 口线上,从左到右顺序连接,段控制线接在 at89s52 单片机的 p0 口线上,从低位到高位对应连接。把 led 显示器段码表预先存放在存储器 中,使用时通过查表就可以得到段码。段码输出后送到公共段码线上,也可称为段控 信号。而通过并行口输出的相互独立的位码则是起选通作用的,也称位控或扫描信号, 用于选择显示位。 图 1 共阴极数码管 以八段数码管为例,显示十六进制的段码值如表 1 3 数字共阳极 段码 共阴极 段码 数字共阳极 段码 共阴极 段码 0c0h3fh990h6fh 1f9h06ha88h77h 2a4h5bhb83h7ch 3b0h4fhcc6h39h 499h66hda1h5eh 592h6dhe86h79h 682h7dhf8eh71h 7f8h07h 灭 ffh00h 880h7fh 表 1 十六进制段码表 4. 按键 本设计中主要有三个控制按键,p3.2 为调时间模式,长按 p3.2 进入调分状态:分 单元闪烁,按 p3.2 加 1,按 p3.3 减 1.再长按 p3.2 进入时调整状态,时单元闪烁,加减调 整同调分.按长按退出调整状态;按 p3.3 进入设定闹时状态: 12:00: ,可进行分设定, 按 p3.4 分加 1,再按 p3.2 为时调整,按 p3.4 时加 1,按 p3.3 调闹钟结束.在闹铃时可按 p3.2 停闹,不按闹铃 1 分钟;按下 p3.4 进入秒表状态:再按 p3.4 秒表又启动,按 p3.4 暂停,再按 p3.4 秒表清零,按 p3.4 退出秒表回到时钟状态。 图 2 控制按键 4 5.蜂鸣器电路 85 50 u 2 b el l v cc 4k 7 b ee p 图 3 蜂鸣器电路图 因为单片机的 io 口驱动能力不够让蜂鸣器发出声音,所以我们通过三极管放大驱 动电流,从而可以让蜂鸣器发出声音,你要是输出高电平,三极管导通,集电极电流 通过蜂鸣器让蜂鸣器发出声音,当输出低电平时,三极管截止,没有电流流过蜂鸣器, 所以就不会发出声音。 6.单片机系统电路 p1.0/t 2 1 p1.1/t 2 e x 2 p1.2 3 p1.3 4 p1.4 5 p1.5/m os i 6 p1.6/m is o 7 p1.7/sc k 8 r st 9 p3.0/r xd 10 p3.1/t xd 11 p3.2/in t 0 12 p3.3/in t 1 13 p3.4/t 0 14 p3.5/t 1 15 p3.6 16 p3.7 17 x ta l 2 18 x ta l 1 19 g nd 20 p2.0 21 p2.1 22 p2.2 23 p2.3 24 p2.4 25 p2.5 26 p2.6 27 p2.7 28 pse n 29 a lb /pro g 30 e a/v pp 31 p0.7 32 p0.6 33 p0.5 34 p0.4 35 p0.3 36 p0.2 37 p0.1 38 p0.0 39 v cc 40 u 1 a t89s 52 v cc v ccp10 p11 p12 p13 p14 p00 p01 p02 p03 p04 p05 p06 p07 p34 p20 p21 p22 p23 p27 g nd p26 p24 p25 p36 p15 p16 p17 p30 p31 p32 p33 p34 p35 图 4 单片机系统电路图 此部分是电路的核心部分,系统的控制采用了单片机 stc89c52。单片机 stc89c52 内部集成 8 位 cpu、4k 字节 rom、128 字节 ram、4 个 8 位并口、1 个全双工串行口、 2 个 16 位定时/计数器。寻址范围 64k,并有控制功能较强的布尔处理器。因此系统不 必扩展外部程序存储器和数据存储器这样大大的减少了系统硬件部分。 5 图 5 单片机开发板总电路图 三、硬件调试 首先将加工的印制板认真对照原理图,看两者是否一致。应特别注意电源系统检 查,以防止电源短路和极性错误,并重点检查系统总线是否存在相互之间短路或与其 它信号线路短路。硬件电路调试的一般顺序是:对接地和接电源进行检查,看是否接 通;插上芯片和接上电源看复位开关是否正常使用;数码管未插上芯片检查管各段 led 灯是否按要求接入。元器件在安装前要逐一检查,用万用表测其数值,看是否与 所用相同;完成焊接后,应先空载上电(芯片座上不插芯片) ,并检查各引脚的电位是 否正确。若一切正常,方可在断电的情况下将芯片插入,再次检查各引脚的电位及其 逻辑关系。将万用表的探针放到单片机接电源的引脚上检测一下,看是否符合要求。 测试数码管:把万用表调到测二极管的档,用红表笔触行输入端,用黑表笔触列输入端. 注意观察 256 个点是否正常亮.(2) 测试按键:直接连接按键到单个可用 led 发光二极 管(这里采用实验板上发光二极管),按下每个按键看 led 是否可亮,若亮,说明按键可用. (3)调试:建立一个新工程,输入源程序,最后编译得到一个目标文件,用编程器把 程序写入单片机 stc89c52 中,插到实验板,把电路板与+5v 稳压电源连接,把芯片插 12345678 a b c d 87654321 d c b a title numberrevisionsize a3 date:12-jul-2010sheet of file:h:习习习习习习习syb51习习.ddbdrawn by: a4 6 f 10 a3 8 a1 12 e 1 c 4 dp 3 b 7 a 11 g 5 a2 9 d 2 dig1dig2dig3dig4 dp2 dp3 ds2 hdsp-b04e a4 6 f 10 a3 8 a1 12 e 1 c 4 dp 3 b 7 a 11 g 5 a2 9 d 2 dig1dig2dig3dig4 dp2 dp3 ds1 hdsp-b04e w1 w2 w3 w4 w5 w6 w7 w8d1 d2 d3 d4 d5 d6 d7 d8 d1 d2 d3 d4 d5 d6 d7 d8 ea/vpp 31 xtal1 19 xtal2 18 rst 9 p3.7(rd) 17 p3.6(wr) 16 p3.2(int0) 12 p3.3(int1) 13 p3.4(t0) 14 p3.5(t1) 15 p1.0(t2) 1 p1.1(t2ex) 2 p1.2 3 p1.3 4 p1.4 5 p1.5(mosi) 6 p1.6(miso) 7 p1.7(sck) 8 (ad0)p0.0 39 (ad1)p0.1 38 (ad2)p0.2 37 (ad3)p0.3 36 (ad4)p0.4 35 (ad5)p0.5 34 (ad6)p0.6 33 (ad7)p0.7 32 (a8)p2.0 21 (a9)p2.1 22 (a10)p2.2 23 (a11)p2.3 24 (a12)p2.4 25 (a13)p2.5 26 (a14)p2.6 27 (a15)p2.7 28 psen 29 ale/prog 30 (txd)p3.1 11 (rxd)p3.0 10 gnd 20 vcc 40 mu1 at89s52 p10 p11 p12 p13 p14 p15 p16 p17 p00 p01 p02 p03 p04 p05 p06 p07 p20 p21 p22 p23 p24 p25 p26 p27 vcc gnd p30 p31 p32 p33 p34 p35 p36 p37 rst digid b 2 e 1 c 3 dq1 8550 dq2 8550 dq3 8550 dq4 8550 dq5 8550 dq6 8550 dq7 8550 dq8 8550 k11 sw-pb4 k12 sw-pb4 k13 sw-pb4 k14 sw-pb4 k21 sw-pb4 k22 sw-pb4 k23 sw-pb4 k24 sw-pb4 k31 sw-pb4 k32 sw-pb4 k33 sw-pb4 k34 sw-pb4 k41 sw-pb4 k42 sw-pb4 k43 sw-pb4 k44 sw-pb4 osc32 inosc32 out osc32 in osc32 out rtct bat vcc2 1 x1 2 x2 3 gnd 4 rst 5 i/o 6 sclk 7 vcc1 8 tu1 ds1302 tvcc gnd tc1 104 gndtvcc tx1 32k key k 1 2 3 dsu1 ds18b20 beep bu1 beep bq1 8550 br1 4k7 vcc b dsr1 4k7 led1led2led3led4led5led6led7led8 ledl 2 3 1 5 4 6 sw1 power-key 1 2 3 4 5 6 7 8 mp2 p1 1 2 3 4 5 6 7 8 mp4 p3 1 2 3 4 5 6 7 8 mp3 p2 1 2 3 4 5 6 7 8 mp1 p0 1 2 3 pcon1 power 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 p2 1602 p10 p11 p12 p13 p14 p15 p16 p17 p20 p21 p22 p23 p24 p25 p26 p27 p30 p31 p32 p33 p34 p35 p36 p37 p00 p01 p02 p03 p04 p05 p06 p07 r1 in 13 r2 in 8 t1 in 11 t2 in 10 gnd 15 v+ 2 v- 6 vcc 16 r1 out 12 r2 out 9 t1 out 14 t2 out 7 c1+ 1 c1 - 3 c2+ 4 c2 - 5 su1 max232 vcc sc1 104 sc4 104 sc3 104 sc2 1041 6 2 7 3 8 4 9 5 scon1 rs232 p31 p30 dr1 4k7 dr2 4k7 dr3 4k7 dr4 4k7 dr5 4k7 dr6 4k7 dr7 4k7 dr8 4k7 w1 w2 w3 w4 w5 w6 w7 w8 dvcc t2out t2out serials gnd pvcc2 pvcc2 gnd pr1 1k port p vcc mk1 reset mr2 4k7 rst mc4 10u/16v sc5 104 k1 sw-pb4 k2 sw-pb4 k3 sw-pb4 k4 sw-pb4 p32p33p34p35 vbus 1 d- 2 d+ 3 gnd 4 6 5 ucon1usb vcc1 vcc vcc1 vcc2 dr9 1k dr10 1k dr11 1k dr12 1k dr13 1k dr14 1k dr15 1k dr16 1k d1 d2 d3 d4 d5 d6 d7 d8 p00 12 34 56 78 jp1 header 4x2 p01 p02 p03 p04 p05 p06 p07 vcc vcc vcc pvcc1 pvcc2 dvcc pwr r1 1k mc1 104 vccgnd c1 220u/16v c2 104 ds18b20 ds 12 34 56 78 910 ip1 isp gnd vccmosi rst sck miso p15 p16 p17 vcc x1 12m mc3 30p mc2 30p osc_in osc_out osc_in osc_out p00 p01 p02 p03 p04 p05 p06 p07 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 p1 12864 pvcc1 gnd gnd pvcc1 pr3 10k pr4 4k7 1 2 3 4 5 6 7 8 9 mr1 4k7x8 vcc vcc2 gnd gnd p10 p11 p10 p11 p12 p10 p11 p12 p13 p14 p15 p16 p17 lvcc eeprom a0 1 a1 2 a2 3 vss 4 sda 5 scl 6 wp 7 vdd 8 eu1 24c08 evcc er1 4k7 er2 4k7 e ec1 104 evccgnd 12 34 56 78 jp2 header 4x2 ds1beep beep ds1 vcc vcc vcc lvcc tvcc evcc vcc p30p31p32p33 p34 p35 p36 p37 p20 p21 p22 p23 p24 p25 p26 d1 d2 d3 d4 d5 d6 d7 d8 lq1 8550 lr0 4k7 lvcc p27 vcc gnd p00 p01 p02 p03 p04 p05 p06 p07 p12 p13 p14 p15 1 2 3 j3 en_1602 en en gnd id1 1n4148 1 2 3 iu1 ir 38k p32 ir1 100 vcc ir38k 1 2 jp3 con2 ir38k 6 入电路板,打开电源,六个数码管分别显示时、分和秒的十位和个位,通过电路把六 个数码管调为零,通过两个开关分别调时分的十位,个位。调时调为 23,把分调 59, 秒调为 59,然后等一秒钟,如果显象管的时分的十位、个位和秒位都显示为 0,那就 说明调试成功,在测试工程中,不但要认真观察和检测,还要认真记录,包括记录观 察的现象,测量的数据,通过数据才能把实际观察的现象和理论预计的结果加以定量 比较,从中发现问题,加以改进,最终完成设计。在这个设计中主要测试时间是否正 确,是否能符合设计的要求。 四、软件开发 此程序是用定时器 0,1 实现电子钟的时分秒的输出分别用按键 k1,k2 来改变时 和分的数值,再用扫描按键,键处理来实现按键的数字扫描,先关闭所有数码管,定 时器 0, 1 工作模式 1, 16 位定时方式,装入 10ms 定时初值,用 th1 和 tl1 中的数控 制定时器 1 定时多少再进入中断,再实现秒进分,分进时的完成。 #include #include unsigned char data; /数据端口 unsigned char dis_digit; /位选通值 unsigned char key_s; /定义按键 unsigned char key_v; /定义按键 unsigned char code dis_code11=0xc0,0xf9,0xa4,0xb0, / 0, 1, 2, 3 0x99,0x92,0x82,0xf8,0x80,0x90, 0xff;/ 4, 5, 6, 7, 8, 9, off unsigned char data dis_buf8; /缓冲区数组可访问数值 unsigned char data dis_index; /表示数码管、缓冲区偏移量 unsigned char hour,min,sec; /定义时分秒 unsigned char sec100; /定义百分之一秒 sbit k1 = p32; /用 k1 表示 p3.2 sbit k2 = p33; /用 k2 表示 p3.1 bit scan_key();/扫描按键 void proc_key();/键处理 void inc_sec();/秒 void inc_min();/分 void inc_hour();/时 void display();/显示 void delayms(unsigned char ms); /延时子程序 void main() p0 = 0x00; /先关闭所有数码管 7 p1 = 0x00; tmod = 0x11; / 定时器 0, 1 工作模式 1, 16 位定时方式 th1 = 0xdc; /装入 10ms 定时初值 tl1 = 0; /用 th1 和 tl1 中的数控制定时器 1 定时多少再进入中断 th0 = 0xfc; tl0 = 0x17; hour =00; /时初值 min = 00; /分初值 sec = 00; /秒初值 sec100 = 0; /百分之一秒初值 dis_buf7 = dis_codehour / 10; / 时十位 dis_buf6 = dis_codehour % 10; / 时个位 dis_buf4 = dis_codemin / 10; / 分十位 dis_buf3 = dis_codemin % 10; / 分个位 dis_buf1 = dis_codesec / 10; / 秒十位 dis_buf0 = dis_codesec % 10; / 秒个位 dis_buf2 = 0xbf; / 显示“-“ dis_buf5 = 0xbf; / 显示“-“ dis_digit = 0xfe; /位选通值初值 11111110 先亮秒 dis_index = 0; /当前显示的数码管、缓冲区的偏移量为 0 tcon = 0x01; /让定时器 t0 工作在 01 模式下 ie = 0x8a; / 使能 timer0,1 中断 tr0 = 1; /启动定时器 0 tr1 = 1; /启动定时器 1 key_v = 0x03; /两个按键都释放 while(1) if(scan_key()/扫描按键 delayms(10); /延时去抖动 if(scan_key()/再次扫描 key_v = key_s; /保存键值 proc_key();/键处理 8 bit scan_key()/扫描按键 key_s = 0x00; /将 key_s 值清零 key_s |= k2; /key_s 的最低位和 k2 相或 key_s 59) /当分大于 59 时 min = 0; /分归零 dis_buf4 = dis_codemin / 10; / 分十位 dis_buf3 = dis_codemin % 10; / 分个位 ea = 1; /打开中断 void timer0() interrupt 1 / 定时器 0 中断服务程序, 用于数码管的动态扫描 th0 = 0xfc; tl0 = 0x17; p1 = 0x00; / 先关闭所有数码管 p0 = dis_bufdis_index; / 显示代码传送到 p0 口 p1 = dis_digit; /传送到 p1 口用于选通当前数码管数值 dis_digit = _crol_(dis_digit,1); dis_index+; /位选通值左移, 下次中断时选通下一位数码管 9 dis_index / 8 个数码管全部扫描完一遍之后,再回到第一个开始下一 次扫描 void timer1() interrupt 3/定时器 1 中断服务程序, 用于数码管的动态扫描 th1 = 0xdc; sec100+;/百分之一秒加 1 if(sec100 = 100) /如果百分之一秒大于 100 sec100 = 0; /百分之一秒为 0 inc_sec();/输入秒 void inc_sec()/秒函数 sec+;/秒加 1 if(sec 59) /如果秒大于 59 sec = 0; /秒为 0 inc_min();/输入分 dis_buf1 = dis_codesec / 10; / 秒十位 dis_buf0 = dis_codesec % 10; / 秒个位 void inc_min()/分函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 招商公路收费站管理制度
- 新时代文明实践站管理制度
- 服务区加气站设备管理制度
- 水果蔬菜公司员工管理制度
- 测绘公司服务平台管理制度
- 物业公司专用巡逻车辆管理制度
- 特教培训机构器材管理制度
- 电信诈骗现场设备管理制度
- 科技公司销售薪酬管理制度
- 智能化生产线设计与优化-洞察阐释
- 图书批发业的存货管理与成本控制
- 铁路隧道掘进机法技术规程
- GB/T 30685-2024气瓶直立道路运输技术要求
- DLT 5434-2021 电力建设工程监理规范表格
- 【深信服】PT1-AF认证考试复习题库(含答案)
- 屋顶光伏劳务合同范本
- 《灰尘的旅行》阅读测试题附答案
- 西南联大与现代中国智慧树知到期末考试答案章节答案2024年云南师范大学
- MOOC 心理学与生活-南京大学 中国大学慕课答案
- SYT 6968-2021 油气输送管道工程水平定向钻穿越设计规范-PDF解密
- 夜市应急方案及措施
评论
0/150
提交评论