资源描述:
《微机原理K60大作业.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、微机原理K60大作业————————————————————————————————作者:————————————————————————————————日期:多功能电子时钟系统1、显示时间24小时制,可调时间,按*键后两位分钟数闪,表示可以调节(0键+,#键-),再按*键时钟闪,再次按下则表示时间调整完毕,2、Key2按下之后显示闹钟界面,同样可以调节,闹钟用LED1示意蜂鸣器强度,可以通过电位器调节。调节时假设闹钟响(灯亮);再按key1回到时钟界面;当前时间与闹钟设置时间一样时,闹钟响(LED
2、1亮)1分钟结束后熄灭。3、Key3按下之后进入秒表界面,按1键开始/暂停,2键停止;3键返回时钟界面4、时间快捷修改法:Uart2电脑发给K60“12.12.12”可以精确修改时间到秒,同时显示修改后时间及当前闹钟设置值。5、初始时间12.12.12,初始闹钟00.00,初始闹钟功能关闭,按下闹钟设置键(key2)闹钟功能开启;思路:1、Gpio:闹钟(LED1)(8)、时间LED2、(8+4)、uart2、按键1、2、3+闪+加+减2、按键:按键1、2、3+闪+加+减3、Uart2发送给电脑时间
3、,电脑可以发送时间。4、ADC电位器5、MCG时钟6、PIT0=1s,PIT1=5ms,PIT2闪1、Irq中断方式代码:#include"MK60D10.h"#include"adc.h"#include"irq.h"#include"xianshi.h"#include"uart.h"#include"xianshi.h"intshizhong=12,fenzhong=12,miaozhong=0;floatvoltage=0;ints[6]={0},n[4]={0};unsignedintta
4、ble[10]={0x3F,0x06,0x5B,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedintptb=0;unsignedintmiaobiaom=0,miaobiaoms=0,m[4]={0};//Ãë±íunsignedcharchs[6]={0},chn[4]={0};//·¢ËÍʱ¼äunsignedinti=0,j=0,ii=0;unsignedintkey1sta=1,key2sta=1,key3sta=1,temp1,temp2,tem
5、p3,N=0;//pwmintpwm;//fasong¼Æʱintfasong1s=0;//juzhengjianpanunsignedintbKeyTest=0;intpanduan1=0;intjishu=0,panduanshan=0;//ÉÁÁÁvoidpit(void){SIM->SCGC6
6、=1<<23;PIT->MCR&=~0X2;//¶¨Ê±1sPIT->CHANNEL[0].LDVAL=48000000-1;PIT->CHANNEL[0].TCTRL
7、=0X03;enable_i
8、rq(68);//10MSPIT->CHANNEL[1].LDVAL=480000-1;PIT->CHANNEL[1].TCTRL
9、=0X03;enable_irq(69);//5msPIT->CHANNEL[2].LDVAL=120000-1;PIT->CHANNEL[2].TCTRL
10、=0X03;enable_irq(70);//0.2MSPIT->CHANNEL[3].LDVAL=9600-1;PIT->CHANNEL[3].TCTRL
11、=0X03;enable_irq(71);}voidPI
12、T0_IRQHandler(void){PIT->CHANNEL[0].TFLG
13、=0x1u;//mÃë¼Æʱmiaozhong++;if(miaozhong>59){fenzhong++;miaozhong=0;}if(fenzhong>59){shizhong++;fenzhong=0;}if(fenzhong<0)fenzhong=59;if(shizhong>23){shizhong=0;}if(shizhong<0)shizhong=23;//Ãë¼Æʱ½áÊøs[0]=shizhon
14、g/10;s[1]=shizhong%10;s[2]=fenzhong/10;s[3]=fenzhong%10;s[4]=miaozhong/10;s[5]=miaozhong%10;n[0]=naozhongs/10;n[1]=naozhongs%10;n[2]=naozhongf/10;n[3]=naozhongf%10;for(i=0;i<6;i++)chs[i]=s[i]+'0';for(i=0;i<5;i++)chn[i]=n[i]+'0';if(pandu