版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微控制器实习总结实习目的1、通过单片机小系统的设计、焊接和组装,掌握电路原理图和电子线路的基本焊接和组装工艺、规定和注意事项;2、通过系统板的测试,了解系统板的工作原理和性能,掌握元器件和系统故障的排除方法;3、掌握编程和调试方法,完成系统初始化、内存操作、端口操作、键盘、显示器等程序的编程和调试(汇编语言和C语言均可);4、通过单片机系统的硬件焊接、调试、编程、调试和操作,理论与实验的有机结合,导师的补充介绍,让学生掌握测量的工作原理和开发方法和控制系统;5.培养学生解决实际问题的能力,提高对理论知识的感性认识。实习的意义通过本次实习,不仅可以了解单片机软硬件的综合调试方法,还可以掌握电路原
2、理图,激发探索单片机智能型的精神,提高综合素质培养学生应用单片机实现工业控制系统的设计、开发和开发。调试能力。在制作和学习的过程中,不仅可以掌握软硬件的综合调试方法,还可以使学生对单片机的智能化产生强烈的渴望,最大限度地掌握微机应用技术、软件和接口设计、数据采集和处理能力。目的综合实用用电质量。三系统的基本组成及工作原理3.1 系统的基本组成最小系统包括单片机的晶振、复位、电源、下载电路,以及简单的输入输出模块。其框图如图1所示。在基本文件完成的前提下,设计完成了扩展模块,使显示信息更加丰富。其框图如图 2 所示。图 1 最小系统框图电源模块喇叭四位LED显示显示驱动乐曲演奏琴键模块STC89
3、C52RC键盘模块循环灯模块复位串口下载、通讯模块晶振图 2 扩展整体框图3.2 系统工作原理将12个发光二极管连接到单片机的P3口,通过外部中断、定时中断、位扫描等程序控制实现各个发光二极管指示灯的闪烁。将所有的行线拉低,查看列线的状态,只要一列的电平是最底的,就表示键盘的中间键被按下,闭合键位于交点处低电平线和4行线。在4个键中;如果所有的列线都为高,则表示键盘上没有按键。四系统硬件设计4.1 电路设计使用单片机P1口扩展一个44矩阵键盘;单片机的P3.0和P3.1与在线通讯模块相连; P2.0-P2.3端口作为四位数字显示接口; P3.2-P3.7 该端口用作交通信号灯和循环灯的接口。电
4、路最小系统的原理和模块如图3所示。电路系统原理图如图附录1所示图 3-1图 3-2五系统软件设计5.1 主程序设计开始初始化状态号设为默认1取得状态号n,根据n值,选择程序分支n=1, 执行状态1处理程序n=2, 执行状态2处理程序n=3, 执行状态3处理程序n=4, 执行状态4处理程序图5 主程序流程框图、n=5,执行状态5处理程序主程序包括5个部分,系统的状态由状态号标识。上电初始化后会进入状态号的轮询扫描,状态号的值决定子程序的入口。子程序为:循环灯亮(状态数为1)、四位数显倒计时(状态数为2)、红绿灯控制(状态数为3)、电子琴演奏(状态数为4)。PC机主程序流程图(状态编号5)如图5所
5、示:5.2 功能子程序设计5.2.1循环光控制模块采用查表法,定时器可以实现任意过程中的跑马灯控制。5.2.2四位数字显示模块将倒计时编程到数千秒。5.2.3红绿灯控制模块使用模块1和模块2的硬件电路仿真实现十字路口等交通管理功能,需要黄灯闪烁警示功能。信号灯控制系统:南北线上有红、黄、绿三个信号灯,东西线有红、黄、绿三个信号灯。表1 红绿灯切换控制时序表时间(秒)南北线绿色 黄色 红色东西线绿色 黄色 红色3010开 关 关关 闪关关 关 开关 关 开3010关 关 开关 关 开开 关 关关 闪关5.2.4电子琴模块本模块的硬件电路可以利用单片机的1位IO口外接一个三极管驱动蜂鸣器,播放编好
6、的乐谱;或使用按键模拟电子琴的演奏。用定时器控制单片机的管脚发出一定频率(声频20Hz 20000Hz )的方波信号,扬声器可以发出单调的声音,还可以产生DO、RE、ME , FA, SO, LA, XI 和其他音阶中的各种频率的声音。歌曲表演模块乐谱通过编程输入单片机,外接扬声器播放悦耳的音乐。5.2.5 PC 通讯六 实习总结与经验通过这次单片机实践,我不仅加深了对单片机理论的理解,并将理论运用到了实践中,而且学会了如何培养我们的创新精神,不断超越自我。创新可以在原有编制依据上进行改进,使其功能不断完善,真正成为自己的东西。首先,在做这次实习的过程中,我感受最深的是对大量设计资料的审阅。为
7、了让自己的设计更加完美,查阅这方面的设计资料是非常必要和必不可少的。我们正在做 MCU 实习,但我们不是艺术家。他们可以在现实之外的幻想世界中飞翔,而我们所需要的一切都需要有据可依,有理有据。不切实际的想法只能是想法。永远无法升级为设计。其次,在本次课程设计中,我们使用了之前学过的专业课程的知识,如:C语言、模拟与数字电路知识等。虽然我过去从未独立应用过它们,但我发现在学习过程中带问题学习非常有效,这是我从做这个课程设计中获得的另一个收获。最后,在实践之前,一定要对所使用的单片机的结构有一个系统的了解,知道单片机有哪些资源;要有清晰的思路和完整的软件流程图;设计程序时,千万不要妄想一次,把整个
8、程序设计好,只有反复修改和完善程序;养成注释程序的好习惯,一个程序的完善不仅仅是功能的实现,更应该让人一眼就知道。了解您的想法,这也为数据的保存和交换提供了便利;练习过程中遇到问题是正常的,但是每次遇到的问题都要记录下来,分析清楚,以免下次出现问题。遇到了同样的问题。但是我从中学到的东西会让我受益终生。发现、提出、分析、解决问题,提高实践能力,对我以后的学习、工作和生活都有好处。参考1. 卫。单片机C语言编程实训100例基于8051+Proteus仿真.:电子工业,20112.郭天祥。新概念51单片机C语言教程-介绍、改进、开发、扩展全攻略:电子行业,20093.建清。轻松玩转51单片机C语言
9、:航空航天大学,20104.谭浩强。 C 编程。:清华大学,19915. 技术。典型单芯片模块设计示例的导航。 :人民邮电,20046. 新民,王艳芳。单片机实用系统设计:电子工业,20117.胡汉才。单片机原理及其接口技术。清华大学,2010(推荐教材)8. 宏晶科技STC微控制器手册,20079.单片机教程网51hei./附1 单片机实践最小系统原理总图附件2 实习材料清单附件3 实习工作进度及结业记录表附录4 已调试的源程序列表附件 1示意图总图附件2单片机实践最低系统设计资料清单材料名称规格数量评论阐明反抗10k11 _反抗1k7R2-R8反抗20012R10-R21电容30pf2C
10、1 C2电容1uf4C4-C7电解电容器220uf1C3电解电容器10uf1C8芯片5189C岁1芯片NAX2321三极管5即插即用Q1-Q5引领LED-红4D1 D2 D9 D10引领LED-绿色4D3 D4 D11 D12引领LED-黄色4D5 D6 D13 D149键插座CONN-D9F1喇叭发声器1多功能电路板1管座40 位1管座16 位1按钮16晶体振荡器12M1排除8*10k1RP14位液晶数码管1共阳极实习工具清单工具规格数量烙铁1钳尖嘴1钳圆嘴1附录 4 源程序列表循环灯亮#include #include #include “led.h”#define uchar 无符号字符
11、#define uint 无符号整数uchar 代码 led_table =0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f,0 xff,0 xfb,0 xf3,0 xe7,0 xcf,0 x9f,0 x3f,0 x7f,0 xff,0 xfb,0 xf3,0 xe3,0 xc7,0 x8f,0 x1f,0 x3e,0 x7f,0 xff,0 xff,0 xcf,0 xb7,0 x7b,0 xff,0 xff,0 x7b,0 xb7,0 xcf,0 xff;int su_du=1500;无效的照明_led()静态uchar i;静态单位 m;米+;如果 (i=34) i=
12、0;如果 (m = su_du)米 = 0;P3 = led_table i +;如果 (m su_du)米 = 0;2.第四名号码(1) #include daojishi.h#include timer0.hbit daojishi_OK = 0;int jishi = 0;void_Dao_Ji_Shi()静态 uchar Minute_buf = 2;if (daojishi_OK = 1)if (Minute_buf! = shi_zhong)吉时-;如果 (jishi 8; /重载timer0高字节如果(TR1 = 1)beep_delay_count+;if (count+ =
13、1000) /1ms * 1000 - 1s计数 = 0; /重置计数器shi_zhong+;seg_flag = 1;如果(计数10 = 0)search_key_flag = 1;/-无效 tm0_int()TMOD = 0 x01; /将timer0设置为mode1(16位)TL0 = T1MS; /初始定时器0低字节TH0 = T1MS 8; /初始定时器0高字节TR0 = 1; /timer0开始运行ET0 = 1; /启用定时器0中断EA = 1; /打开全局中断开关计数 = 0; /初始计数器3.交通灯控制#include #include “traffic.h”#include
14、 timer0.h#define uchar 无符号字符#define uint 无符号整数sbit RED_A = P32;sbit RED_B= P33;sbit GREEN_A = P34;sbit GREEN_B = P35;sbit YELLOW_A = P36;sbit YELLOW_B = P37;uchar dao_ji_shi=0;uchar Operation_Type = 1;无效 Traffic_lignt() dao_ji_shi = 29-shi_zhong %30; switch(Operation_Type) case 1:RED_A=1;YELLOW_A=1;
15、GREEN_A=0;/A green light, B red light onRED_B=0;YELLOW_B=1;GREEN_B=1;if( dao_ji_shi 11)/Ten secondsOperation_Type = 2;break;case 2:if(dao_ji_shi =10 |dao_ji_shi =8|dao_ji_shi =6 |dao_ji_shi =4|dao_ji_shi = 2|dao_ji_shi=0)YELLOW_A = 0; elseYELLOW_A = 1; / A Yellow Light 痪 烁 5sif (dao_ji_shi = 29)Oper
16、ation_Type = 3;红_A = 1; GREEN_A = 0; / A 绿灯,B 绿灯 Ryo红_B = 0;绿色_B = 1;休息;案例3:红_A = 0;黄色_A = 1; GREEN_A = 1; / A-light, B-light RyoRED_B = 1;黄色_B = 1;绿色_B = 0;if (dao_ji_shi 11) / 10 秒Operation_Type = 4;休息;案例4:/ B Yellow Light 推理 5sif (dao_ji_shi = 10 | dao_ji_shi = 8 | dao_ji_shi = 6 | dao_ji_shi = 4
17、 | dao_ji_shi = 2 | dao_ji_shi = 0)黄色_B = 0;别的黄色_B = 1;RED_A=0;GREEN_A=1;/A红灯,B绿灯红_B=1;绿_B=0;如果(道姬石 =29)操作类型 = 1;休息;默认值:中断;4.电子琴、音乐表演#include #include 点子琴.h#include timer0.h#include “key.h”#define uchar 无符号字符#define uint 无符号整数sbit哔=P24;uint code Tone_Delay_Table= /注意延迟64021,64103,64260,64400,64524,6
18、4580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178;uchar 代码 DSY_Table= / 数码管0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e,0 xBF;/第一段uchar 码 song1_Tone= 0,1,2,3,4,5,5,6,7,8,9,10,11,12,13,14,15,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 xff;uc
19、har 码 song1_Time=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0 xff;/第二段uchar 代码 song2_Tone= 3,5,5,3,2,1,2,3,5,3,2,3,5,5,3,2,1,2,3,2,1,1 ,0 xff;uchar 码 song2_Time=2,1,1,2,1,1,1,2,1,1,1,2,1,1,2,1,1,1,2,1,1,1 ,0 xff;/ 第三段uchar 代码 song3_Tone=1,3,3,3,3,5,4,2,5,3,7,6,5,5,7,4,4,
20、3,6,7,2,1 ,0 xff;uchar 码 song3_Time=2,1,1,2,1,1,1,2,1,1,1,2,1,1,2,1,1,1,2,1,1,1 ,0 xff;/音乐片段索引,音符索引uchar song_index=0,Tone_index=0;/指针uchar *song_Tone_Pointer,*song_Time_Pointer;/ 获取音符位置uchar i=0;uchar KeyNo; /钥匙uchar inter_cont=0;void 点子琴()如果(键值!= 0)TR1=1;KeyNo=键值;beep_delay_count=0;否则 if(beep_dela
21、y_count = 200 )哔= 1;TR1=0;如果(inter_cont 0)开关(inter_cont-1)案例0:song_Tone_Pointer=song1_Tone;song_Time_Pointer=song1_Time;休息;案例1:song_Tone_Pointer=song2_Tone;song_Time_Pointer=song2_Time;休息;案例2:song_Tone_Pointer=song3_Tone;song_Time_Pointer=song3_Time;休息;默认:中断;Tone_index=song_Tone_Pointeri;如果(Tone_ind
22、ex=0 xff)TR1=0;我=0;别的 TR1=1;if(beep_delay_count = song_Time_Pointeri*200 )哔= 1;beep_delay_count=0;我+;/* Timer0 中断程序 */无效 tm1_isr() 中断 3如果(inter_cont = 0)TH1=Tone_Delay_TableKeyNo8;TL1=Tone_Delay_TableKeyNo;否则 /如果(inter_cont = 0)TL1 = Tone_Delay_TableTone_index; /重载timer1低字节TH1 = Tone_Delay_TableTone
23、_index8 ; /重载timer1高字节哔=哔;/-无效 tm1_int()TMOD = TMOD|0 x10; /将timer1设置为mode1(16位)TL1 = Tone_Delay_TableTone_index; /重载timer1低字节TH1 = Tone_Delay_TableTone_index8 ; /重载timer1高字节TR1 = 0; /timer1开始运行ET1 = 1; /启用定时器1中断EA = 1; /打开全局中断开关5.联机通讯#include #include intrins.h#包括“uart.h”#include timer0.h/sfr T2CON
24、 = 0 xC8; /timer2控制寄存器/sfr RCAP 2L= 0 xCA;/sfr RCAP2H = 0 xCB;/sfr TL2 = 0 xCC;/sfr TH2 = 0 xCD;#define uchar 无符号字符#define uint 无符号整数#define FOSC 12000000L/系统频率#define BAUD 2400 /UART 波特率/*定义UART奇偶校验模式*/#define NONE_PARITY 0 /无奇偶校验#define ODD_PARITY 1 /奇校验#define EVEN_PARITY 2 /偶校验#define MARK_PARIT
25、Y 3 /标记奇偶校验#define SPACE_PARITY 4 /空间奇偶校验#define PARITYBIT EVEN_PARITY /测试偶校验有点忙;无效发送数据(uchar 数据);无效发送字符串(字符* s);无效的 Uart_int()#if (PARITYBIT = NONE_PARITY)SCON = 0 x50; /8位变量UART#elif (PARITYBIT = ODD_PARITY) | (PARITYBIT = EVEN_PARITY) | (PARITYBIT = MARK_PARITY)SCON = 0 xda; /9位变量UART,奇偶校验位初始为1#e
26、lif (PARITYBIT = SPACE_PARITY)SCON = 0 xd2; /9位变量UART,奇偶校验位初始为0万一TL2 = RCAP 2L= (65536-(FOSC/32/BAUD); /设置自动重载值TH2 = RCAP2H = (65536-(FOSC/32/BAUD) 8;T2CON = 0 x34; /Timer2开始运行ES = 1; /开启UART中断EA = 1; /打开主中断开关无效的UART()if (shi_zhong%3 = 0 )SendString(12电气本!rn);shi_zhong+;/*-UART中断服务程序-*/void Uart_Isr
27、() 中断 4如果 (RI)RI = 0; /清除接收中断标志/ bit9 = RB8; /P2.2 显示奇偶校验位如果 (TI)TI = 0; /清除发送中断标志忙 = 0; /清除传输忙标志/*-向UART发送一个字节数据输入:dat(要发送的数据)输出:无-*/无效发送数据(uchar 数据)而(忙); /等待前面的数据发送完成ACC = 数据; /计算偶校验位P (PSW.0)if (P) /根据P设置奇偶校验位#if (PARITYBIT = ODD_PARITY)TB8 = 0; /设置奇偶校验位为0#elif (PARITYBIT = EVEN_PARITY)TB8 = 1; /
28、设置奇偶校验位为1万一别的#if (PARITYBIT = ODD_PARITY)TB8 = 1; /设置奇偶校验位为1#elif (PARITYBIT = EVEN_PARITY)TB8 = 0; /设置奇偶校验位为0万一忙 = 1;SBUF = 加速; /发送数据到UART缓冲区/*-向 UART 发送字符串输入:s(字符串的地址)输出:无-*/无效发送字符串(字符 * s)while (*s) /检查字符串的结尾发送数据(*s+); /发送当前字符并增加字符串ptr6.照常#include #include “key.h”#include “led.h”#include 点子琴.h#de
29、fine uchar 无符号字符#define uint 无符号整数uchar 模型=1;uchar 键值;extern int jishi;extern bit daojishi_OK;ucharKey_get()无符号字符 KeyNo = 0;uchar Tmp,k;静态uchar k_yanchi=0;/高四位为0,放四行P1=0 x0F;/延迟(10);k_yanchi+;如果(k_yanchi = 18)/按下按钮后,00001111会变成0000XXXX,X中的1是0,3还是1,或者3个1s会变成0,唯一的0会变成1Tmp=P10X0F;/判断按钮出现在0-3的哪一列开关(温度)案
30、例 1:k=0;中断;案例 2:k=1;break;案例 4:k=2;break;案例 8:k=3;break;default:return 0;/没有按键按下/低四个0,放入四列P1=0 xf0;/延迟(10);如果 (k_yanchi = 20)k_yanchi = 0;/按下按钮后,11110000会变成xxxx0000,X中的1是0,3还是1。下面将高四位移到低四位Tmp=P10Xf0;/将起始值0.4.8.12分别添加到第0-3行开关(温度4)案例 1:k+=0;break;案例 2:k+=4;中断;案例 4:k+=8;break;案例 8:k+=12;break;默认值:返回 0;
31、密钥编号=k+1;返回键号;无效 Key_serve() Key_value = Key_get();开关(型号)机箱照明:如果(键值 = 0);否则 if (Key_value =13 )模型+;P3=0 xff;键值=0;else if (Key_value = 8)/改进 su_du = su_du +200;如果(su_du 5000)su_du = 5000;键值=0;else if (Key_value = 4)/加速su_du = su_du -200;如果(su_du 1000)吉时 = 0;if (Key_value =13 )模型+;否则 if(daojishi_OK =
32、0)开关(键值)案例0:休息;情况1:集市=集市*10+1; /数字键1休息;案例2:jishi=jishi*10+2; /Number key 2break;case 3:jishi=jishi*10+3; /Number key 3break;case 5:jishi=jishi*10+4; /Number key 4break;case 6:jishi=jishi*10+5; /Number key 5break;case 7:jishi=jishi*10+6; /Number key 6break;case 9:jishi=jishi*10+7; /Number key 7break;case 10:jishi=jishi*10+8; /Number key 8break;case 11:集市=集市*10+9; /数字键9休
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度智能化水井建设及维护服务合同集4篇
- 2025年度出租车座套定制及售后服务合同4篇
- 2025年度苗木养护与生态修复技术合同4篇
- 二零二五年度茅台酒经销商信用评价及激励政策合同4篇
- 二零二五年度体育培训中心赞助及管理服务合同范本
- 2025年婚礼旅行套餐合同
- 2025年全新广东省租赁房屋租赁合同续签范本
- 二零二五年度苗木种植与销售管理合同范本4篇
- 2025年新能源出租车运营管理合同4篇
- 二零二五年度金融衍生品交易合同模板3篇
- 2025届北京巿通州区英语高三上期末综合测试试题含解析
- 公婆赠予儿媳妇的房产协议书(2篇)
- 煤炭行业智能化煤炭筛分与洗选方案
- 2024年机修钳工(初级)考试题库附答案
- Unit 5 同步练习人教版2024七年级英语上册
- 矽尘对神经系统的影响研究
- 分润模式合同模板
- 海南省汽车租赁合同
- 2024年长春医学高等专科学校单招职业适应性测试题库必考题
- (正式版)SHT 3046-2024 石油化工立式圆筒形钢制焊接储罐设计规范
- 2023年山东济南市初中学业水平考试地理试卷真题(答案详解)
评论
0/150
提交评论