2015312这取中间几个数字的函数帮我设计一下,

求大神指点,用pic16f887设计一个数字钟,帮我设计一下闹钟程序_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:128,749贴子:
求大神指点,用pic16f887设计一个数字钟,帮我设计一下闹钟程序收藏
#include&pic.h&
#define uchar unsigned char#define uint
unsigned int__CONFIG(0X03F4);__CONFIG(0X0700);uchar hour=23,min=59,sec=45;//定义小时、分钟和秒变量uchar count_10 //定义10ms计数器#defineK1
RB2//定义K1键#defineK2
RB3//定义K2键#defineK3
RB4//定义K3键#defineK4
RB5//定义K4键#defineBEEP
RE0//定义蜂鸣器uchar K1_FLAG=0;//定义按键标志位,当按下K1键时,该位置1,K1键未按下时,该位为0。uchar const bit_tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位选表,用来选择哪一只数码管进行显示uchar const seg_data[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x76,0x38,0x73,0x3e,0x6e,0x00,0x40};//0~F、熄灭符和字符&-&的显示码(字形码)uchar disp_buf[8];//定义显示缓冲单元/********端口设置函数********/void port_init(void){
OPTION=0x00; //端口B弱上位使能
TRISC = 0x00;//端口C输出,位选 TRISD = 0x00;//端口D输出,段选
ADCON1=0x06;//定义RA、RE为IO端口 TRISE=0x00; //端口E为输出,蜂鸣器(RE0)
PORTE=0x00;
ANS5=0;}/********延时程序********/void Delay_ms(uint xms){ int i,j; for(i=0;i&i++) { for(j=0;j&71;j++) ; }}/*********以下是蜂鸣器响一声函数********/void
//蜂鸣器响
Delay_ms(100);
//关闭蜂鸣器
Delay_ms(100);
}/********以下是走时转换函数,负责将走时数据转换为适合数码管显示的数据********/void conv(uchar in1,uchar in2,uchar in3)//形参in1、in2、in3接收实参hour、min、sec传来的数据{disp_buf[0] =in1/10;// 小时十位disp_buf[1] = in1%10;// 小时个位disp_buf[3] = in2/10;// 分钟十位disp_buf[4] = in2%10;// 分钟个位disp_buf[6] = in3/10;// 秒十位disp_buf[7] = in3%10;// 秒个位disp_buf[2] = 17;// 第3只数码管显示&-&(在 seg_data表的第17位)disp_buf[5] = 17;// 第6只数码管显示&-&}/********以下是显示函数********/void Display(){//定义显示暂存static uchar disp_sel=0;//显示位选计数器,显示程序通过它得知现正显示哪个数码管,初始值为0tmp=bit_tab[disp_sel];//根据当前的位选计数值决定显示哪只数码管PORTC=//送P2控制被选取的数码管点亮tmp=disp_buf[disp_sel];//根据当前的位选计数值查的数字的显示码tmp=seg_data[tmp];//取显示码PORTD=//送到P0口显示出相应的数字disp_sel++;//位选计数值加1,指向下一个数码管if(disp_sel==8)disp_sel=0;//如果8个数码管显示了一遍,则让其回0,重新再扫描}/*********以下是定时器T0/T1初始化函数********/void
timer_init(){ GIE=1;//开总中断PEIE=1;//开外围功能模块中断T0CS=0;//TMR0对内部时钟计数PSA=0;//分频器分配给TRM0PS0=1;PS1=1;PS2=1;//分频比为1:256T0IE=1;//允许TMR0溢出中断TMR0=248;//TMR0赋初值,定时2msT1CKPS0=1;T1CKPS1=1;//分频比为1:8TMR1CS=0;//设置为定时功能TMR1IE=1;//使能TMR1中断TMR1ON=1;//启动定时器TMR1TMR1H=0//置计数值高位,定时时间为10msTMR1L=0x1e;//置计数值低位}/********中断服务程序********/void interrupt ISR(void){
if (T0IF==1){T0IF=0;//清TMR1溢出中断标志位TMR0=248;//TMR0赋初值,定时2msDisplay();//调显示函数}if (TMR1IF==1){TMR1IF=0;//清TMR1溢出中断标志位TMR1H=0//重置计数值,定时时间为10msTMR1L=0x1e;//重置计数值count_10ms++;//10ms计数器加1if(count_10ms &= 100){count_10ms = 0;//计数100次后恰好为1s,此时10ms计数器清零sec++;//秒加1if(sec == 60){sec = 0;min++;//若到60秒,分钟加1if(min ==60){min = 0;hour++;//若到60分钟,小时加1
Delay_ms(500);
RE0=0;if(hour ==24){hour = 0;min=0;sec=0; //若到24小时,小时、分钟和秒单元清零}}}
if(min==59)
if(sec&53)
Delay_ms(8);
Delay_ms(8);
}}}/********以下是按键处理函数,用来对按键进行处理********/void
KeyProcess(){TMR1ON=0;//若按下K1键,则定时器T1关闭,时钟暂停if(K2==0)//若按下K2键{Delay_ms(10);//延时去抖if(K2==0){while(!K2);//等待K2键释放beep();hour++;//小时调整if(hour==24){hour = 0;}}}if(K3==0)//若按下K3键{Delay_ms(10);if(K3==0){while(!K3);//等待K3键释放beep();
min++;//分钟调整if(min==60){min = 0;}}}if(K4==0)//若按下K4键{Delay_ms(10);if(K4==0){while(!K4);//等待K4键释放beep();TMR1ON=1;//调整完毕后,时钟恢复走时K1_FLAG=0;//将K1键按下标志位清零 }}}/********以下是主函数********/void main(void){port_init();timer_init();//调定时器T0、T1初始化函数while(1){if(K1==0)//若K1键按下{Delay_ms(10);//延时10ms去抖if(K1==0){while(!K1);//等待K1键释放beep();//蜂鸣器响一声K1_FLAG=1;//K1键标志位置1,以便进行时钟调整}}if(K1_FLAG==1)KeyProcess();//若K1_FLAG为1,则进行走时调整conv(hour,min,sec);//调走时转换函数}}
单片机培训,达内单片机,历时15年,总监级讲师亲授,8师辅导1学员,40W学员见证!达内单片机与ARM公司联合教学.毕业获ARM公司颁发的嵌入式工程师国际认证证书.
有大神么,我实在想不出怎么加闹钟程序了
首先,你要有一个能够表示出闹时和走时区别的显示装置,LED或者数码管的某个点的闪烁来表示闹时。还要把闹钟开启表达出来,就是那个点常亮之类。然后,你要设计一组变量,用来存储闹时。第三,你要设计一个闹钟到时之后奏乐的过程,或者连续长短鸣响蜂鸣器,与一般按键区别开。第四,你要定义一个停止闹钟的按键。第五,你修改程序,加入调整闹时功能,加入起止闹钟功能。第六,你先用分秒代替时分进行闹钟的设开闹停的试验,把程序调整好。再实际用时分设定,检验成果。这些有多少是编程的事情?你进入早点铺,大声喊叫,“我要吃早餐”,谁会搭理你?
闹钟程序?你是要调好时间到时间在闹?这个简单,你先把走时和显示搞好,然后搞个蜂鸣器进去,随便得吧几下状态和时间就好了,如今我们实验室的电子钟功能超全,而且是我设计的
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或请老师们帮忙解释一下现量后面的数字代表啥?
理想高三级同学
还需要 5150 积分才能升级
请老师们帮忙解释一下现量后面的数字代表啥?
浏览:14858
欢迎光临理想论坛,由于您没有登录,所以无法查看到论坛的附件及隐藏分区,也无法与其他会员交流。
还没有理想论坛的帐号?
请老师们帮忙解释一下现量后面的数字代表啥?股票论坛
(19.16 KB)
积分24850&理想币7737 个&彩币0 个&共享币653 个&注册时间&
理想高三级同学
还需要 8821 积分才能升级
代表是这个量一共有多少笔委托!
积分21179&理想币4234 个&彩币0 个&共享币1931 个&注册时间&
理想大一级同学(菠菜三段)
还需要 1072 积分才能升级
红圈数字 是挂单笔数!
420个人挂单 一共21266手
谢谢老师分享
积分38928&理想币18388 个&彩币5006 个&共享币9669 个&注册时间&
理想高三级同学
还需要 5150 积分才能升级
谢谢帮忙解释,请问一下老师们这个可以编写成选股吗?我想要个例如这个420人挂单要大于15倍6300
[ 本帖最后由 张46300 于
18:07 编辑 ]
积分24850&理想币7737 个&彩币0 个&共享币653 个&注册时间&
理想高三级同学
还需要 5554 积分才能升级
我来看看,学习学习。
积分24446&理想币8289 个&彩币0 个&共享币948 个&注册时间&
理想初二级同学
还需要 1603 积分才能升级
我来看看,学习学习
积分4397&理想币503 个&彩币0 个&共享币891 个&注册时间&
理想初一级同学
还需要 1885 积分才能升级
回复 楼主 张46300 的帖子
成交单子后面的数字是代表,前边成交数量是一共有多少张不单子组成,当然这里边同时可能有买进,卖出,后面的B或S是取决于最后一张单子的买或是卖的方向。,
积分2115&理想币369 个&彩币0 个&共享币1326 个&注册时间&
理想初二级同学
还需要 1072 积分才能升级
路过学习学习,谢谢!
积分4928&理想币921 个&彩币0 个&共享币1674 个&注册时间&
理想高二级同学
还需要 5871 积分才能升级
成交单子后面的数字,是代表前边成交数量是一共有多少张不单子组成,当然这里边同时可能有买进,卖出,后面的B或S是取决于最后一张单子的买或是卖的方向。,
积分14129&理想币2250 个&彩币0 个&共享币68 个&注册时间&
理想初二级同学
还需要 1325 积分才能升级
引用:原帖由 超级火流星 于
17:59 发表
红圈数字 是挂单笔数!
420个人挂单 一共21266手 &&&&准确地说:是420个不同帐户
积分4675&理想币128 个&彩币0 个&共享币108 个&注册时间&
理想硕士级同学(菠菜一段)
还需要 73979 积分才能升级
引用:原帖由 超级火流星 于
17:59 发表
红圈数字 是挂单笔数!
420个人挂单 一共21266手 &&&&代表是这个量一共有多少笔委托人数............
积分126021&理想币96332 个&彩币553 个&共享币14392 个&注册时间&
理想大四级同学
还需要 18524 积分才能升级
老师早上好&&感谢老师分享
积分61476&理想币20892 个&彩币3 个&共享币4701 个&注册时间&
软件区特别贡献组
学习一下!!!!!!!
积分15022&理想币4285 个&彩币0 个&共享币85 个&注册时间&
理想高二级同学
还需要 2288 积分才能升级
学习一下!!!
积分17712&理想币2718 个&彩币0 个&共享币1118 个&注册时间&
软件区特别贡献组
引用:原帖由 《熊仔饼》 于
22:58 发表
准确地说:是420个不同帐户
&&&&这样说更准确..................
积分30231&理想币9391 个&彩币0 个&共享币1704 个&注册时间&
理想高二级同学
还需要 4394 积分才能升级
引用:原帖由 无烦恼 于
08:15 发表
这样说更准确.................. &&&&严重支持!
积分15606&理想币3208 个&彩币1 个&共享币2343 个&注册时间&
软件区特别贡献组
后面的数字表示该成交是由多少笔撮合而成。。。。
积分16219&理想币2720 个&彩币0 个&共享币439 个&注册时间&
理想小四级同学
还需要 77 积分才能升级
其实还有个问题,就是,有些人说是420个账户,
不知道以下两种交易有没有区别,假设两种买卖的极端情况
1、420个账户买,而一个账户卖
2、1个账户买,而420个账户卖,
显示出来的是一样吗?
积分623&理想币3 个&彩币0 个&共享币100 个&注册时间&
快速回复主题
禁用 URL 识别
使用个人签名
接收新回复邮件通知
发帖请务遵守本站的相关规则,所有发表(包括转发)政治、色情非法信息者本站将实时提供发贴者个人信息给公安局,追究责任,特此申明!
具体规则请参见《》
您需要登录后才可以发帖
发表帖子[完成后可按 Ctrl+Enter 发布]
理想论坛上的网友发表的帖子纯属个人意见,理想论坛不负任何责任!广告赞助商内容与本站无关!
理想论坛值班电话[9:30~18:30]: &#6 5518-1 &#66 3090 ☎ 186 (广告)
工业和信息化部信息备案:

我要回帖

更多关于 一个数字是几个字符 的文章

 

随机推荐