久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
菜鳥新學的51—C,編了一個數碼管和流水燈同時顯示的程序
[打印本頁]
作者:
hsf123hsf
時間:
2017-7-6 19:24
標題:
菜鳥新學的51—C,編了一個數碼管和流水燈同時顯示的程序
希望大家不吝賜教,同時也希望自己的程序能幫助其他人。
數碼管流水燈程序.zip
(24.05 KB, 下載次數: 18)
2017-7-6 19:23 上傳
點擊文件名下載附件
數碼管流水燈程序
下載積分: 黑幣 -5
/*
*******************************************************************************
* 本程序同時實現數碼管計時和流水燈同時運行的效果。主要采用的定時器的1ms刷新功能,讓眼睛產生的假象。
*******************************************************************************
*/
#include<reg52.h>
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
unsigned char T0RH = 0;
unsigned char T0RL = 0;
unsigned int flag1s=0;
unsigned long sum = 0;
void ConfigTime(unsigned int ms); //定時函數
void ShowNumber(unsigned long sum); //數碼管顯示數字函數
unsigned char LedBuff[7]={0xff,0xff,0xff,0xff,0xff,0xff,0xff}; //數碼管+獨立流水燈顯示緩沖區
unsigned char LedChar[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, //數碼管顯示字符轉換表
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void LedLiu(); //流水燈函數
void main()
{
EA = 1;
ADDR3 = 1;
ENLED = 0;
ConfigTime(1);
ShowNumber(0);
while(1)
{
if(flag1s)
{
sum++;
flag1s=0; //1s執行一次
ShowNumber(sum);
LedLiu();
if(sum>=999999) //數碼管最大顯示999999
{
sum = 0;
}
}
}
}
void ConfigTime(unsigned int ms)
{
unsigned long tmp;
tmp = 11059200/12;
tmp = (tmp*ms)/1000;
tmp = 65536-tmp;
tmp = tmp +12;
T0RH = (unsigned char)(tmp>>8);
T0RL =(unsigned char)tmp;
TMOD &= 0xf0;
TMOD |= 0x01;
TH0 = T0RH;
TL0 = T0RL;
ET0 = 1;
TR0 = 1;
}
void ShowNumber(unsigned long tmr)
{
unsigned char buf[6]={0,0,0,0,0,0};
signed char i= 0;
for(i=0;i<6;i++)
{
buf[i] = tmr%10;
tmr = tmr/10;
}
for(i=5;i>=1;i--)
{
if(buf[i]==0)
LedBuff[i]=0xff;
else
break;
}
for( ;i>=0;i--)
{
LedBuff[i]=LedChar[buf[i]];
}
}
void LedLiu()
{
static unsigned char i = 0; // 子函數中,如果變量一次執行不能執行完全部變量時,應該采用靜態變量
LedBuff[6]=~(0x01<<i);
i++;
if(i>=8)
{
i=0;
}
}
void LedScan()
{
static unsigned char i=0;
P0 = 0xff;
P1=(P1&0xf8)|i;
P0 = LedBuff[i];
if(i<6)
{
i++;
}
else
{
i = 0;
}
}
void InterruptTime0() interrupt 1
{
static unsigned int tmr1s=0;
TH0 = T0RH;
TL0 = T0RL;
LedScan();
tmr1s++;
if(tmr1s>=1000) //定時器累計到1s歸零,從新計時
{
tmr1s= 0;
flag1s = 1;
}
}
復制代碼
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
久草精品视频
|
一区二区三区四区视频
|
国产黄色小视频在线观看
|
欧美日韩国产一区二区
|
亚洲人成免费
|
国产精品一区在线
|
日韩精品视频网
|
人人干超碰
|
午夜综合
|
亚洲一区精品视频
|
99久久精品国产一区二区三区
|
欧美一区二区三区
|
野狼在线社区2017入口
|
麻豆hd
|
国产一区二区在线91
|
日韩福利电影
|
精品欧美一区免费观看α√
|
国产一级黄色网
|
91精品免费
|
国产伦精品一区二区三区精品视频
|
久色网
|
性欧美hd
|
91精品国产一区二区在线观看
|
午夜寂寞影院在线观看
|
欧美成人性生活
|
国产精品96久久久久久
|
射欧美
|
国产视频久久久
|
久久国产成人
|
一区二区三区免费在线观看
|
亚洲国产成人一区二区
|
国产一区二区三区不卡av
|
国产乱码精品一品二品
|
欧美精品一级
|
韩国av一区二区
|
一区二区日韩
|
成年人黄色免费视频
|
手机在线一区二区三区
|
精品在线一区
|
在线欧美一区
|
欧美午夜精品理论片a级按摩
|