1、3 单片机控制可调数字电子钟设计3.1实验内容利用Proteus软件绘制出电路图,用Keil软件编写程序来实现可调数字电子钟的显示功能,如:12-00-00;利用单片机定时器来实现0.5s产生中断;K1每按下一次,小时加1,K2每按下一次,分钟加1。3.2实验过程1.在Proteus软件中绘制电路图2.用Keil软件编写程序 (1)实现显示时间功能,如:12-00-00 (2)利用单片机定时器实现0.5s产生中断 (3)K1每按下一次,小时加1,K2每按下一次,分钟加13.检验电路图绘制是否正确并调试程序4实现电子钟的功能3.3实验步骤先定义位及函数,设置定时器的初始化,启动定时器,用两个定时
2、器,其中T0用来实现数码管位的扫描器,T1实现送显的功能。然后调用秒子程序,当S59时,执行分钟子程序,否则,则继续执行秒子程序;当m59时,执行小时子程序,否则,则继续执行分钟子程序;当t23时,此时t=0,则退出循环.从而达到了可调数字电子钟的送显功能。3.4遇到问题解决方法在最开始编程的时候没有一点思路,然后老师就给我们发了一个大体的编程概况,又通过老师反复的给我们讲解编程思路,终于茅塞洞开,经过一遍遍的编译程序终于成功了。3.5结果分析通过编写程序来实现可调数字电子钟的显示功能,如:12-00-00;利用单片机定时器来实现0.5s产生中断;K1每按下一次,小时加1,K2每按下一次,分钟
3、加1。通过这次实训,我在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用,锻炼了自己的动手能力和思维能力机编写程序的能力,使以前不熟悉的我又有了更深刻的认识,感觉特别充实。4 DSP混合运算的实现4.1实验内容使用DSP技术实训平台运行CCS软件,建立工程、编写程序、进行下列计算(1) 计算y=ax1+ax2+ax3(2) 计算y=a1x1+a2x2+a10x10(3) 计算z=(a1x1+a5x5)+(k1y1+ +k5y5)4.2实验过程1. 建立工程、编写程序、进行下列计算2检验寄存器运算结果是否正确3.完成软件设计实现自己预想的乘法累加并完成报告的撰写4.3实验步骤首先连接
4、好DSP 开发系统,运行CCS软件,分别设计程序并输入相应的链接命令文件,建立一个工程,向工程添加程序及链接命令文件,编译、链接工程中所以文件,生成.out输出文件,然后通过仿真器把执行代码下载到DSP芯片中,单击运行,观察其内数值变量的变化。4.4遇到问题解决方法 开始编程的时候老出错,通过仔细检查发现不能用变量a赋值,因为A是累加器,所以在编程的时候不能用变量a.4.5结果分析设计1:给a的值为2,x1,x2,x3的值分别为2,4,4,结果显示为20.设计2:分别给ai的值为1,1,1,2,2,2,1,1,1,2 xi的值为1,1,1,2,2,2,1,1,1,2结果显示为16.设计3:分别
5、给mi的值为2,2,2,2,2 ni的值分别为1,2,3,4,5 xi的值为1,1,1,1,1 yi的值为1,2,3,4,5 结果显示的值为45. 通过本次实训,我学会了用汇编语言编写DSP程序的方法,及循环指令的运用,受益匪浅。5 DSP循环算法的实现5.1实验内容利用DSP技术实训平台,运行工CCS环境,建立工程、编写程序,进行下列计算:(1) 计算y=x1+x2(2) 计算y=x1+x2+x5(3) 计算y=kx1+kx2+kx55.2实验过程1.建立工程、编写程序,进行计算。2.检验寄存器运算结果是否正确。3.完成软件设计实现预想的连加计算并完成报告的撰写5.3实验步骤首先连接好DSP
6、 开发系统,运行CCS软件,分别设计程序并输入相应的链接命令文件,建立一个工程,向工程添加程序及链接命令文件,编译、链接工程中所以文件,生成.out输出文件,然后通过仿真器把执行代码下载到DSP芯片中,单击运行,观察其内数值变量的变化。5.4遇到问题解决方法 这次实训的内容跟上次实训的都是同一类型,通过上次的查缺补漏,感觉这次地任务完成的挺顺利,没什么问题。5.5结果分析设计1:分别给x1,x2赋值为2,4 结果显示为6设计2:分别给x2赋值为1,2,3,4,5 结果显示为0xDF设计3:分别给xi赋值为1,2,3,4,5 给k赋值为2 结果显示为0x1E通过本次实训,明显的感觉自己比上一次在
7、操作方面熟练多了,在编程过程中知道了该去如何设计思路,比上次提高了很多。6 GPIO输入实验6.1实验内容应用LPC2290实现外部中断控制蜂鸣器鸣响,当KEY1按下,蜂鸣器状态取反。6.2实验过程1.在ADS软件环境下建立工程,编写蜂鸣器蜂鸣的程序。2.链接编译,使用H-JTAG下载到实验箱运行3.观察结果6.3实验步骤设计此任务应该分为两个部分,分别是按键部分和蜂鸣器部分。按键部分:MagicARM2200试验箱采用P0.20检验按键的状态,当按下按键,P0.20为低电平,否则为高电平。蜂鸣器部分:MagicARM2200试验箱采用三极管8850驱动蜂鸣器,P0.7控制三极管8550,当P0.7为高电平,蜂鸣器鸣响,反之,蜂鸣器不响。 编写程序时先应该寄存器初始化,然后判断按键是否按下,如果是则给P0.7输出高电平,若按键没按下,则处于等待状态。6.4.遇到问题解决方法 这个任务是老师平时上课让我们练习过的,印象挺深,感觉操作起来挺顺利,没问题。6.5.结果分析通过编译、链接、执行程序,把试验箱的跳线JP9、JP22短接,把按键KEY1按下,观察到BUZZER蜂鸣。本次实训,我收获颇多,又学到了很多知识,特别是提高了综合分析应用的能力。