欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
我的單片機數碼管學習,源碼,項目運行文件,電路圖
[打印本頁]
作者:
1805523903
時間:
2018-9-17 09:39
標題:
我的單片機數碼管學習,源碼,項目運行文件,電路圖
數碼管的學習,本項目涉及到數碼管顯示保留不同位小數的floatl類型的小數以及顯示整數的方法。
準確的運用的六位數碼管正確顯示方法。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
無標題.png
(32.55 KB, 下載次數: 80)
下載附件
2018-9-17 09:39 上傳
單片機源程序如下:
#include <reg51.h>
#include <intrins.h>
#include <stdio.h>
#include <string.h>
#define u16 unsigned int
#define u8 unsigned char
sbit DX=P2^0;
sbit WX=P2^1;
void delay_ms(u16 x)//毫秒延時函數
{u16 i,j;
for(i=0;i<x;i++)
for(j=0;j<115;j++);
}
u8 code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71,0x00}; //共陰數碼管編碼
void print_float_LED2(char str[])
{
u8 temp;
int i,j;
//char str[9] = "11-15-30";
/*switch(x)
{
case 1:sprintf(str,"%.1f",n);break;
case 2:sprintf(str,"%.2f",n);break;
case 3:sprintf(str,"%.3f",n);break;
case 4:sprintf(str,"%.4f",n);break;
case 5:sprintf(str,"%.5f",n);break;
} */
for(j=0;j<95;j++)
{
i=strlen(str)-1; //從最低位開始輸出
temp=0x7f;
while(i>=0)
{
P0=0XFF; /*消除P0的值*/
WX=1; /*位選輸入有效*/
P0=temp; /*輸出位選碼*/
WX=0; /*位選鎖存*/
P0=0; /*消除P0的值*/
DX=1; /*段選輸入有效*/
if(str[i]=='-') { P0=0x40;} /*如果為-,則直接顯示-*/
else P0=table[str[i]-'0']; /*否則,輸出不帶小數點的段碼*/
DX=0; /*段碼鎖存*/
temp=_cror_(temp,1);
i--;
delay_ms(1);
}
}
}
void main()
{
char str[8] = "23-59-59";
print_float_LED2(str);
while(1)
{
str[7] = str[7]+1;
if(str[7]=='9'+1)
{
str[7]='0';
str[6] = str[6]+1;
}
if(str[6]=='6'){
str[6]='0';
str[4] = str[4]+1;
}
if(str[4]=='9'+1){
str[4]='0';
str[3] = str[3]+1;
}
if(str[3]=='6')
{
str[3]='0';
str[1] = str[1]+1;
}
if(str[0]!='2' && str[1]=='5')
{
str[1]='0';
str[0] = str[0]+1;
}
if(str[0]=='2' && str[1]=='4')
{
str[0] = '0';
str[1] = '0';
}
print_float_LED2(str); //Str[7]的值更新后,再次輸出函數
}
}
復制代碼
所有資料51hei提供下載:
數碼管學習.7z
(37.53 KB, 下載次數: 22)
2018-9-17 09:39 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
1805523903
時間:
2018-9-17 09:40
大家學習數碼管的顯示可以做參考
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1