关键词不能为空

当前您在: 主页 > 英语 >

数码管从0开始自动加1+按键调速

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-08 19:48
tags:

-

2021年2月8日发(作者:我知道的英文)


/****************************************** ********************




河南工业大学电气工程学院







测控


1001


刘欣




如有错误欢迎致电


helloh aut@


共同学习



共同进步




************************************************** *************/


/*********************** *****************************************



程序名称


:


数字自动加

< p>
1


计数,数码管显示出来



按键可以调节速度



说明:使用本程序你必须把


SE5


设 置为


ON(2-3)


短接




P11


按键为停止计数按键


P10


为速度减


1



P34

< p>
为速度加


1




P33


为暂停或开始计数按键




*************************************** **************************/




/*


头文件


*/


#include


#include


#define uint unsigned int


#define uchar unsigned char


#define ulong unsigned long int





/*


端口定义


*/


#define sled_dm_port P0 /*


定义


LED


显示的段码数据脚


*/


#define sled_wm_port P2 /*


定义


LED


显示的位码数据脚


*/


sbit P10 = P1^0; //p1.0


脚定义 为速度减


1




sbit P11 = P1^1; //p1.1


脚定义为停止键



sbit P33 = P3^3; //p3.3


脚定义为暂停及开始键



sbit P34 = P3^4; //p3.4


脚定义 为速度加


1





sbit P30 = P3^0; //


系统运行状态提示



< p>
/*


定义数码管显示字符跟数字的对应数组关系


* /


uchar


code


mun_ to_char[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8 ,0x80,0x90,0x88,0x83,0xc6,


0xa1,0x86,0x8 e};


/* 0 1 2 3 4 5 6 7 8 9 a


b c d e f */



/*


定义需要点亮的数码管


*/


uchar code sled_bit_table[]={0x7f,0xbf, 0xdf,0xef,0xf7,0xfb,0xfd,0xfe};



uchar data sled_data[8]={0xff,0xff,0xff ,0xff,0xff,0xff,0xff,0xff}; /*0-7


< p>
SLED


缓冲值


*/


uchar data led_lighten_bit=0 /*LED


灯点亮标志位


0-7*/




uint system_count=0; //P30


外接


LED


闪烁计数

< br>


uint add_count = 0;


ulong count=0; //


数码管计数值



uint speed=0; //


计数速度



uchar temp=0; //


临时值



uchar play=1; //


计数开始


0


暂停


1


开始



uchar add_bit = 0; //


条件计数





/*------------------------- ----------------------


显示部分程序


,


采用定时器


0


产生中断,


1MS


更新一次



-- ----------------------------------------------*/


void SLED_Disp() interrupt 1 using 3


{


TH0 = (65536-1000)/256;


TL0 = (65536-1000)/256;



sled_wm_port = 0xff; /*


关闭显示


*/



sled_dm_port = sled_data[led_lighten_bit]; /*


输出段码数据到数码管


*/



sled_wm_port = sled_bit_table[led_lighten_bit]; /*


输出位码数据到数码管


*/



led_lighten_bit++;



if(led_lighten_bit>=8) led_lighten_bit=0; /*8


位数码管全动态输出


*/




system_count++;



if(system_count>=500){




P30=~P30;




system_count = 0;




}



else if((system_count>=150)&&((P10==0)| |(P11==0)||(P33==0)||(P34==0))){ //



按键按下快速闪烁





P30 = ~P30;




system_count = 0;




}




add_count++;



if(add_count>=speed){




add_count = 0;

-


-


-


-


-


-


-


-



本文更新与2021-02-08 19:48,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/616583.html

数码管从0开始自动加1+按键调速的相关文章