51单片机实训报告完整版
关于单片机实训报告万能【六篇】

关于单片机实训报告万能【六篇】【篇1】单片机实训报告万能通过今次单片机实训,使我对单片机的认识有了更深刻的理解。
系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。
由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。
例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。
踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。
当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。
我相信其中的酸甜苦辣最终都会化为甜美的甘泉。
但在这次实训中同时使我对汇编语言有了更深的认识。
当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。
这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。
这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。
希望这次的经历能让我在以后学习中激励我继续进步。
【篇2】单片机实训报告万能通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。
了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。
LED显示器:LED显示器是由发光二管组成显示字段的器件。
通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。
有段选码和和位选码。
当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA 电流;位线的电流应选择40-80MA。
LED显示器的显示方式有动态和静态两种。
7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。
51单片机实验报告

实验一:开发环境的搭建一、(1)、keil的安装与破解点击Keil安装包,一键傻瓜式操作,安装完成后以管理员身份打开Keil,在File里选择license management 把CID复制到注册机里的CID栏,注册机里的Target选择C51,然后点击Generate,将生成的激活码复制到license management里的LIC栏,并点击Add LIC,即完成破解。
(2)、CH340驱动安装(3)、普中烧录软件的使用波特率选择9600,速度选择低速,文件路径选择HEX文件的路径(4)、keil的使用新建工程并保存,在CPU 里面选择STC90C52RC ,再新建C 文件,注意保存时手动加上.c 后缀,再在Source Group 1 右击选择 Add Files to Group'Source Group 1'找到刚才新建的C 文件,然后找到图标并点击,再Target 里将晶振频率改为12MHz,将Output 里生成HEX 文件的勾打上即可生成HEX 文件。
(5)、protues的安装与破解双击安装包开始安装,等进入到Labcenter Licence Manager1.6,也就是许可证管理页面,点击Browse For Key File,找到下载解压软件包中的LICENCE.lxk文件,并打开,再点击install,再点击“是”,继续傻瓜式操作。
破解时以管理员身份运行破解软件,目标文件里找到安装的路径,再点击升级,即可完成破解。
(6)、protues的使用双击蓝色ISIS图标即可打开Proteus,File里新建并保存,然后点击“P”即可选择自己所需元器件,输入AT89C52单片机,确定后在图纸中点击即可,双击单片机将对话框中的Program File 选择Keil生成的HEX文件,电路及程序都完成后,点击左下角即可开始仿真,点击停止仿真。
二、实验结论在实验一里学会了开发环境的搭建,学会并熟练了Keil u Vision4 和Proteus 7.8以及普中烧录软件的使用,基本实现了用Keil编写程序并且生成HEX文件,能够用Proteus 画基本仿真图并且成功实现仿真,在仿真过程中出现了win10电脑不能正常实现仿真的问题,在经过百度等多方面查找之后找到了如下解决办法:1、路径上不能有中文2、仿真时出现cannot open'C:User\?\AppData\Local\Temp\LISA5476.SDF'的错误时:右击我的电脑-属性-高级系统设置-环境变量,在“用户变量”栏里找到TEMP与TMP,分别双击,将变量值都改为%SystemRoot%\TEMP如果还不行将下面的“系统变量”栏里的TEMP与TMP同样修改方法,如果没有新建就行。
单片机实训综合报告

一、前言单片机作为一种微型的计算机系统,因其体积小、功耗低、功能强、成本低等特点,在工业控制、智能家居、通信等领域得到了广泛的应用。
为了提高学生的实践能力,培养创新精神和工程实践能力,我们进行了单片机实训。
本文将对本次实训进行总结,分析实训过程中遇到的问题及解决方法,并对实训成果进行展示。
二、实训目的1. 熟悉单片机的基本原理和组成,掌握单片机的开发环境。
2. 学习单片机编程,了解C语言在单片机中的应用。
3. 学会使用单片机外围电路,实现基本的功能。
4. 培养学生的动手能力、团队协作能力和创新精神。
三、实训内容1. 单片机硬件电路搭建在本次实训中,我们搭建了基于51单片机的最小系统,包括单片机、晶振、复位电路、电源电路等。
通过搭建电路,使学生了解单片机的硬件组成,为后续编程打下基础。
2. 单片机编程使用C语言对单片机进行编程,实现以下功能:(1)LED流水灯:通过控制LED灯的亮灭,实现流水灯效果。
(2)按键控制LED灯:通过按键控制LED灯的开关。
(3)数码管显示:将当前时间显示在数码管上。
3. 单片机外围电路应用(1)使用继电器控制外部设备:通过单片机控制继电器,实现外部设备的开关。
(2)使用蜂鸣器发出声音:通过单片机控制蜂鸣器,实现不同频率的声音。
四、实训过程及问题解决1. 电路搭建过程中,遇到电路连接错误、元器件损坏等问题。
通过查阅资料、请教老师,逐一解决了这些问题。
2. 编程过程中,遇到程序运行不稳定、功能实现不完善等问题。
通过分析程序逻辑、修改代码,使程序运行稳定,功能完善。
3. 在单片机外围电路应用过程中,遇到继电器控制不灵敏、蜂鸣器声音不稳定等问题。
通过调整电路参数、优化代码,使继电器控制灵敏,蜂鸣器声音稳定。
五、实训成果1. 完成了基于51单片机的最小系统搭建。
2. 编写并调试了LED流水灯、按键控制LED灯、数码管显示等程序。
3. 应用单片机外围电路,实现了继电器控制和蜂鸣器发声等功能。
51单片机综合实训

班级
学号
学生姓名
指导老师
完成日期2018年7月6日
一、
1、PCB部分正面
2、电路部分反面
3、电机部分PCB正面
(包含直流电机和步进电机)
4、电机部分PCB反面
(包含直流电机和步进电机)
二、
1、电路部分正面
2、电路部分反面
3、电机部分正面
4、电机部分反面
三、
1
2、
实验一:按键识别
பைடு நூலகம்直流电机程序
步进电机程序
实验二:闪烁灯
实验三:流水灯
原理图:实验一、实验二、实验三共用。
按键识别程序
闪烁灯程序
流水灯程序
实验四:蜂鸣器
原理图
蜂鸣器程序
实验五:数码管(动态显示)
原理图
数码管程序(动态显示)
实验六:液晶显示
原理图
显示屏程序(第一页)
显示屏程序(第二页)
实验七:直流电机
实验八:步进电机
原理图:实验七、实验八共用
(完整word版)51单片机实训报告

“51单片机”精简开发板的组装及调试实训报告为期一周的单片机实习已经结束了。
通过此次实训,让我们掌握了单片机基本原理的基础、单片机的编程知识以及初步掌握单片机应用系统开发实用技术,了解“51”单片机精简开发板的焊接方法。
同时培养我们理论与实践相结合的能力,提高分析问题和解决问题的能力,增强学生独立工作能力;培养了我们团结合作、共同探讨、共同前进的精神与严谨的科学作风。
此次实训主要有以下几个方面:一、实训目的1.了解“51”精简开发板的工作原理及其结构。
2.了解复杂电子产品生产制造的全过程。
3.熟练掌握电子元器件的焊接方法及技巧,训练动手能力,培养工程实践概念。
4.能运用51单片机进行简单的单片机应用系统的硬件设计。
5.掌握单片机应用系统的硬件、软件调试方法二、实验原理流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。
它的电气性能指标:输入电压:DC4.5~6V,典型值为5V。
可用干电池组供电,也可用直流稳压电源供电。
如图所示:本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的硬件组成的单个单片机。
三、硬件组成1、晶振电路部分单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。
他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振的瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。
2、复位端、复位电路给单片机一个复位信号(一个一定时间的低电平)使程序从头开始执行;一般有两中复位方式:上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,同过按钮接通低电平给系统复位,时如果手按着一直不放,系统将一直复位,不能正常。
51单片机实验报告(共五则)

51单片机实验报告(共五则)第一篇:51单片机实验报告51单片机实验报告实验一点亮流水灯实验现象 Led灯交替亮,间隔大约10ms。
实验代码#include 〈reg51、h> void Delay10ms(unsigned int c);voidmain(){)1(elihwﻩ{ ﻩP0= 0x00;Delay10ms(50);;ffx0 =0Pﻩﻩ;)05(sm01yaleDﻩ } } void Delay10ms(unsigned int c){unsigned char a,b;for(;c>0;c-—){)——b;0〉b;83=b(rofﻩ{ ﻩﻩfor(a=130;a〉0;a--);}ﻩﻩ}} 实验原理W W hi i le(1)表示一直循环。
循环体内首先将P0 得所有位都置于零,然后延时约5 5 0*10=500ms,接着 0 P0 位全置于 1 1,于就是 D LED 全亮了。
接着循环,直至关掉电源..延迟函数就是通过多个for r 循环实现得。
实验 2 流水灯(不运用库函数)实验现象起初 led 只有最右面得那一个不亮,半秒之后从右数第二个led也不亮了,直到最后一个也熄灭,然后 led 除最后一个都亮,接着上述过程 #includemain(){unsigned char LED;LED = 0xfe;while(1){ ﻩ;DEL = 0PﻩDelay10ms(50);00x0 == 0P(fiﻩ {;1〈〈 DEL = DELﻩ)ﻩ;efx0 = DELﻩ} ﻩ}ﻩ} void Delay10ms(unsigned int c){unsigned char a,b;for(;c>0;c-—){)—-b;0〉b;83=b(rofﻩ{ ﻩﻩﻩ;)--a;0>a;031=a(rofﻩ} ﻩ} ﻩ} 实验原理这里运用了C语言中得位运算符, , 位运算符左移, , 初始值得二进制为1111 1 110, 之后左移一次变成1111 1 100 0,当变成00000 0000 时通过 f if 语句重置 1 1 11 1 11110、延迟函数在第一个报告已经说出了,不再多说..实验 3 流水灯(库函数版)实验现象最开始还就是最右边得一个不亮,然后不亮得灯转移到最右边得第二个,此时第一个恢复亮度,这样依次循环.实验代码#include 〈reg51、h> #include 〈intrins、h〉void Delay10ms(unsigned int c); void main(void){unsigned char LED;;EFx0 = DELﻩ)1(elihwﻩ{ ﻩP0 = LED;;)05(sm01yaleDﻩﻩ;)1,DEL(_lorc_ = DELﻩ} ﻩ} void Delay10ms(unsigned in t c){unsigned chara, b;for(;c〉0;c——){ ﻩfor(b=38;b〉0;b—-){ ﻩﻩ;)-—a;0〉a;031=a(rofﻩ} ﻩ}}实验原理利用头文件中得函数,_cro l_(,), 可以比位操作符更方便得进行 2 2 进制得移位操作, , 比位操作符优越得就是,该函数空位补全时都就是用那个移位移除得数据, , 由此比前一个例子不需要f if 语句重置操作..数码管实验实验现象单个数码管按顺序显示0-9与 A-F。
51单片机实验报告

51单片机实验报告
实验目的:
本实验旨在让学生熟悉并掌握51单片机的基本知识和编程能力,进一步了解单片机的原理和应用。
实验内容:
本次实验主要包括以下几个内容:
1.熟悉51单片机的基本原理和结构;
2.学习51单片机的汇编语言编程;
3.使用51单片机进行简单的I/O控制;
4.学习串口通信的原理和编码。
实验步骤:
1. 配置开发环境:安装Keil C编译器和Proteus电路仿真软件;
2.学习汇编语言编程基础知识,包括寄存器的使用、指令的执行等;
3.编写第一个程序:实现将一个数字显示在数码管上;
4.学习I/O控制:通过按键来控制LED灯的亮灭;
5.学习串口通信:通过串口与计算机进行通信,实现数据的发送与接收。
实验结果:
在实验过程中,我成功编写了几个基本的程序,并在Proteus中进行
了仿真。
通过按键来控制LED灯的亮灭,也成功地使用串口进行了数据的
发送和接收。
通过实验,我更深入地理解了51单片机的工作原理和编程
方法。
实验总结:
通过本次实验,我对51单片机有了更深的理解,并掌握了一些基本
的编程技巧。
通过实际操作,我培养了自己的动手能力和问题解决能力。
作为一门基础课程,51单片机为我今后的学习打下了坚实的基础。
我相信,在今后的学习和实践中,我能够更加熟练地运用51单片机进行各种
应用和项目的设计。
该报告共计1200字。
参考资料:
[1]《单片机技术与应用》.吕春阳、吕立民、钱锋.电子工业出版社,2024年。
51单片机实训报告

51单片机实训报告一、引言51单片机是一种常用的微控制器,具有体积小、功耗低、功能强大等优点,广泛应用于各种电子设备中。
本文将介绍本次实训的目标、实验步骤、实验结果以及实训中遇到的问题及解决方案。
二、实训目标本次实训的目标是通过51单片机的学习和实践,掌握单片机的基本原理和编程技巧。
具体来说,我们需要实现以下几个功能:1. 熟悉51单片机的硬件组成和工作原理;2. 学习使用Keil C编译器进行单片机程序的编写和调试;3. 掌握基本的输入输出控制方法,如LED灯的控制、数码管的显示等;4. 学习使用定时器、中断等功能模块,实现一些实际应用,如蜂鸣器的发声、电机的控制等。
三、实验步骤1. 硬件准备:将51单片机与外围电路进行连接,如连接LED灯、数码管、蜂鸣器等;2. 编写程序:使用Keil C编译器编写相应的程序,包括引入头文件、定义宏、声明变量、编写主函数等;3. 调试程序:将程序下载到51单片机中,通过单片机的调试功能进行程序的调试,排除可能存在的错误;4. 运行程序:将调试好的程序运行在51单片机上,观察实验结果是否符合预期。
四、实验结果在本次实训中,我们顺利完成了以下几个实验:1. LED灯闪烁:通过控制51单片机的输出口,使LED灯以一定频率进行闪烁;2. 数码管显示:通过控制51单片机的输出口,使数码管显示指定的数字或字符;3. 蜂鸣器发声:通过控制51单片机的输出口,产生一定频率的方波信号,使蜂鸣器发出相应的声音;4. 电机控制:通过控制51单片机的输出口,控制电机的转动方向和速度。
五、实训中遇到的问题及解决方案在实训过程中,我们遇到了一些问题,但通过团队的共同努力和老师的指导,最终都得到了解决。
下面列举了其中的几个问题及解决方案:1. 问题:LED灯无法闪烁;解决方案:检查LED灯的连接是否正确,确认是否存在接触不良或短路等问题。
2. 问题:数码管无法正常显示;解决方案:检查数码管的连接是否正确,确认是否存在引脚连接错误或接触不良等问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51 单片机实训报告完整版一、设计目标1. 完成温度显示系统的设计,即以单片机位核心微处理器,完成接收处理温度信号和控制八段数码管显示两部分功能电路的设计;2. 使用Protel绘制电路原理图和PCB版图3. 通过使用凌阳单片机开发系统掌握单片机系统的基本开发方法,系统配置方法,IO口的读写方式以及数据处理方法。
4. 掌握基于C语言编程的单片机控制技术,完成实现温度采集、显示系统功能的控制程序设计(信号的接收、信息的处理及八段数码管显示控制程序);5. 软硬件联调,完成系统的最终功能。
二、设计任务1. 完成基于单片机的温度检测显示系统设计,利用自己设计的温度传感电路输出模拟信号,选用相应的A/D 转换芯片将模拟信号转换成数字信号送入单片机,单片机对接收的信号进行处理; 单片机输出经译码电路连接至八段数码管显示温度值。
2. 具体要求完成内容:1)传感器模块学习及信号输入设计2) LED数码管显示部分设计3)绘制电路原理图和PCB版图3)数据处理转换(使用C语言进行)4)软硬件联调实现完整系统设计要求;5)撰写实训报告。
第一部分:原理图及PBC版图制作制作原理图,我们选用的软件是proteldxp2004 ,我们选用这个软件是因为Protel DXP 在前版本的基础上增加了许多新的功能。
新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的用户界面等。
Protel DXP 是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。
Protel DXP 运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能够处理各种复杂的PCB设计过程。
通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,Protel DXP 提供了全面的设计解决方案。
与较早的版本——Protel99 相比,Protel DXP 2004 不仅在外观上显得更加豪华、人性化,而且极大地强化了电路设计的同步化,同时整合了VHDL和FPGA设计系统,其功能大大加强了。
首先是设计出系统整体框图,系统采用凌阳单片机61 板及相关模组构成,系统整体分三部分设计,分别为信号采集部分、单片机系统部分和显示部分。
(如图所示)温度传A/D(数模)八段数码单片机系统译码器感器电转换电路管显示路系统整体框图信号采集部分:本设计采用图1的惠斯登电桥电路,该电路采用4块电阻搭建组成,其中3块为普通电阻,另外一块为热敏电阻。
这四块电阻在正常室温(25?)的情况下,电阻值相同。
此时,加上如图所示的电压后,测量桥的两外两点的电位差接近为0V 。
当热敏电阻由于与体温接触,温度、阻值发生变化时,其测量选用AD624集成运放,对电路进行放大处理。
图 2所示为AD624放大器的引脚 位图。
、2引脚接输入,差分放大。
7、8引脚需提供正负相等的工作电压,由9引脚输出其中1放大后的电压值。
引脚6则是参考基准值,如果接地则引脚 9的输出即为对地 的相对电压。
AD624的放大增益公式如式(1)所示,由此我们可使用连接在11~13 引脚的电阻来对增益值进行设置。
八段数码管显示电路控制部分2点的电位发生显著的变化,从而产生温度信号向电信号的转运算放大器的选择电路整体说明:数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示); 按能显示多少个“ 8”可分为 1 位、2位、4 位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(CO M的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(CO M的数码管。
共阴数码管在应用时应将公共极COM接到地线GNDt,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
3.8共阳A B C D E F G DP0 076421 9 10 52 I 9 10 5八段数码管需配合相应的译码驱动电路配合显示。
电源模块系统需要DC 5V 的电源为核心微处理器(单片机)和LED 供电,电源模块的参考 电路图如图7所示。
土5 卸DS1R1------ 揶LEH1VCC -------电源电路在设计该部分电路时,要注意为电源模块添加 LED 提示系统上电的情况是否正 常,减少系统供电问题被忽略的可能。
共阴 ij IV W U V u然后就是利用proteldxp2004画原理图了,在这之中,有些器件在系统默认的库中是找不到的,所以需要添加新的库而且找到需要的元器件,而元器件的使用说明则需要在网上进行查询。
然后根据实验方案,选择出所有所需要的器件,在这之中最好把所有的器件进行标注,以免出现错误,名称不能重复,这对后面制作PCB 版图的时候十分关键。
做好标注后开始连线,连线时要注意时候线是否全部连接,避免出错,检查无误后,原理图的工程就基本完成了。
(如图所示)原理图创建完成后,就是制作PCB版图,操作的步骤是创建网络表,进行电气检查,检查后无误后就会自动生成PCB版图,但是器件都是落在一起的,需要合理的分布开,不能用重叠,PCB版图如图所示:注irt&J第二部分:单片机的显示系统设计一.设计目标a)通过使用凌阳单片机开发系统掌握单片机系统的基本开发方法,系统配置方法,10 口的读写方式以及数据处理方法。
b)掌握基于C语言编程的单片机控制技术,显示系统功能的控制程序设计(八段数码管显示控制程序);c)软硬件联调,完成系统的最终功能。
二.设计任务a)完成基于单片机的显示系统设计,单片机输出经译码电路连接至八段数码管显示。
b)具体要求完成内容:1)LED数码管显示部分设计2)显示的数据,依照实例5在数码管显示数据,分别显示出学号在1,2和5,6 数码管,在3,4 数码管进行计时,每10个显示一次学号,直到计数到99,然后清零,继续循环计数(使用C语言进行)3)软硬件联调实现完整系统设计要求;三. 设计要求系统采用凌阳单片机61 板及相关模组构成系统整体分二部分设计,分别为单片机系统部分和显示部分。
八段数码译码器单片机系统管显示四. 设计方案1. 系统框图I/O 单片机串口点阵LED 电源模块2. 程序流程图开始Dig<=9&&a<=9Dig=03号数码管显示a的值,4号数码管显示Dig的值Dig++如果Dig>9 a++,Dig=0,3号数码管显示a的值,4号数码管显示Dig的值TimerCnt=0 TimerCnt++3,4 号数码管显示1,2,5,6 数码管分0 别显示1,5,2,7 TimerCnt++3,4 号数码管显示0结束3. 程序代码依照实例 5 用数码管显示数据//=================================================== /工/ 程名称:LED5_c// 功能描述: 控制所有数码管循环显示0,9 十个数字//硬件连接:将61板的IOBO,7用排线连接到LED键盘模组的SEG^针上;IOB8~IOB15连接到LED键盘模组的DIG排针上。
// 文件来源:《61 板实验教程》," 实验五数码管显示O,9"// IDE 环境: SUNPLUS u'nSPTM IDE 1.8.4// 涉及的库:LED5_c.h// 组成文件: main.c//===============================================//===================================================文// 件名称:main.c// 实现功能://===================================================#defineP_IOB_Data (volatile unsigned int *)Ox7OO5 #define P_IOB_Buffer(volatile unsigned int *)Ox7OO6 #define P_IOB_Dir (volatile unsigned int *)Ox7OO7 #define P_IOB_Attrib (volatile unsigned int *)Ox7OO8 #define P_Watchdog_Clear (volatile unsigned int *)Ox7O12 #define LED_SEG OxOOff//IOBO~IOB7#define LED_DIG Ox3fOO //IOB8~IOB13 const unsigned charDigCode[1O]={Ox3F,OxO6,Ox5B,Ox4F,Ox66,Ox6D,Ox7D,OxO7,Ox7F,Ox6F}; //O~9 十个数字的LED编码//// 函数名称: LedDispDig// 功能描述: 在指定的数码管上显示数字// 语法: void LedDispDig(int Pos,int Dig) // 输入: Pos: 要显示数字的数码管位置,取值范围1~6// Dig: 要显示的数字,取值范围0~9// 输出: 无//===================================================void LedDispDig(int Pos,int Dig) { *P_Watchdog_Clear=1;// 初始化IOB 为同相输出*P_IOB_Dir|=LED_SEG+LED_DIG;*P_IOB_Attrib|=LED_SEG+LED_DIG; *P_IOB_Data=(unsigned)0x0100<<(Pos-1);// 将数字的位置转换为IOB高8位值,选中相应的数码管*P」0B_Data|=DigCode[Dig]; // 将数字转换为编码,作为IOB低8位输出}int main(){int Pos,Dig,TimerCnt,a;a=0;while(Dig<=9&&a<=9){for(Dig=0;Dig<=9;Dig++)for(TimerCnt=0;TimerCnt<1000;TimerCnt++){LedDispDig(4,Dig);LedDispDig(3,a);}}if(Dig>9){a++;Dig=0;LedDispDig(3,a);LedDispDig(4,Dig);}for(TimerCnt=0;TimerCnt<1000;TimerCnt++) {LedDispDig(1,1);LedDispDig(2,5);LedDispDig(5,2);LedDispDig(6,9);}}LedDispDig(3,0);LedDispDig(4,0); }第四部分:实训总结经过了这次实训,对dxp的掌握加深了,对于c语言的使用也有了进一步的掌握,同时还熟悉了单片机硬件方面的搭接,初步了解单片机的开发,这次最大的困难就是在用dxp搭电路并生成pcb版图,这一过程比较曲折,还有在用c语言编写程序时调试了很多次,因为一些低级的错误,导致硬件不能正确的显示,总的来说,经过这次实训,我学到的只是很多,同时也体会到团队合作的重要,伙伴的重要,一个人是不能完成的。