久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
單片機數碼管電子鐘源程序 原理圖與Proteus仿真
[打印本頁]
作者:
51黑電子迷
時間:
2017-5-7 21:23
標題:
單片機數碼管電子鐘源程序 原理圖與Proteus仿真
下面是51單片機數碼管電子鐘的proteus仿真原理圖(工程文件可到本帖附件中下載):
0.png
(30.25 KB, 下載次數: 93)
下載附件
2017-5-7 21:21 上傳
單片機電子鐘源程序如下:
//#include <reg51.h>
//# include <absacc.h>
# include <STC12C5A60S2.h>
# define uchar unsigned char
# define uint unsigned int
# define uint32 unsigned long int
# define sint32 signed long int
# define vtim1 50000 //定時50ms,一幀8*50=40ms,頻率=40Hz
# define vtim2 2500 //定時2.5ms,一幀8*2.5=20ms,頻率=50Hz
//# define vt DBYTE[0x21^0]
# define vt ((unsigned char volatile data *) 0)[0x21^0]
//sbit vt=0xe8;
//數碼管位選循環變量
uchar wi=0;
//共陰數碼管段碼表
uchar code distable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0X40,0x00,0x31};
//位選碼表
uchar code numi[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
//顯示緩存
uchar V_ram[]={0x01,0x02,0x10,0x03,0x04,0x10,0x05,0x06};
sbit p32=P3^2;
sbit p33=P3^3;
uchar i=0;
uchar j=0,k=0,ss=0;
uchar x=0;
uchar key_num=0xff;
void main()
{
vt=1;
vt=0;
vt=1;
IT0=0;
IT1=0;
EA=1;
ET0=1;
ET1=1;
EX0=1;
EX1=1;
PT0=1;
TH1=(65536-vtim1)/256;
TL1=(65536-vtim1)%256;
TH0=(65536-vtim2)/256;
TL0=(65536-vtim2)%256;
TMOD=0X11;
TR0=1;
TR1=1;
while(1);
}
void t1_rpt() interrupt 3 //50ms中斷
{
TH1=(65536-vtim1)/256;
TL1=(65536-vtim1)%256;
/////////////////按鍵去抖動////////////////
if(~(EX1||EX0))
{
x++;
if(x>=5)//按鍵按下250ms 后,全能按鍵中斷
{
IE0=0; //清中斷源
IE1=0; //清中斷源
EX1=1; //打開中斷
EX0=1; //打開中斷
}
}
////////////////0.35秒閃爍周期///////////////
if(key_num<8)
{
k++; //閃爍計時變量
j++; //閃爍超時變量
k=k&0x07; //0.4秒閃爍周期
if(k<4)
{
ss=0; //0.2秒亮
}
else
{
ss=1; //0.2秒滅
}
if(j>=100) //超時5秒閃爍停止
{
key_num=0xff;
k=0;
j=0;
ss=0;
}
}
}
void t0_rpt() interrupt 1
{ ///////////////////////////定時刷新數碼管代碼//////////////////////////////
uchar dm=0,wx=0;
TH0=(65536-vtim2)/256;
TL0=(65536-vtim2)%256;
dm=distable[V_ram[wi]]; //取顯示段碼
if((wi==key_num)&&(ss==1))dm=distable[0x11]; // key_num:表示對應數碼管閃爍;ss=1表示顯示黑色
wx=numi[wi]; //取位選碼
P1=0x00; //關顯示
P2=dm; //段碼賦給P0口
P1=wx;
wi++;
if(wi==8)
{
wi=0;
i++;
}
/////////////////////////計時代碼,把秒,分,時分別放入對應的顯示RAM////////////////////////
if(i==50)
{ //秒
i=0;
V_ram[7]++; //秒個位++
if(V_ram[7]>=10)
{
V_ram[7]=0;
V_ram[6]++; //秒十位++
if(V_ram[6]>=6)
{
V_ram[6]=0;
V_ram[4]++; //分個位++
if(V_ram[4]>=10)
{
V_ram[4]=0;
V_ram[3]++; //分十位++
if(V_ram[3]>=6)
{
V_ram[3]=0;
V_ram[1]++; //時個位++
if((V_ram[1]>=10)&&(V_ram[0]<2))
{
V_ram[1]=0;
V_ram[0]++; //時十位++
}
if((V_ram[1]>=4)&&(V_ram[0]>=2))
{
V_ram[1]=0; //時個位清零
V_ram[0]=0; //時十位清零
}
}
}
}
}
}
}
void EXTR0_rpt() interrupt 0 /////////外部中斷1,功能鍵:切換對應的數碼管并使該數碼管閃爍////////////////
{
x=0; //按鍵去抖動計時清零
EX0=0; //關中斷,用于去抖動
j=0; //長期不按鍵,閃爍停止。閃爍超時變量清零
if(key_num==7)
key_num=0;
else
key_num++;
if(key_num==2)key_num=3; //
if(key_num==5)key_num=6; //
}
void EXTR1_rpt() interrupt 2
{
x=0; //按鍵去抖動計時清零
EX1=0; //關中斷,用于去抖動
j=0; //長期不按鍵,閃爍停止。閃爍超時變量清零
switch (key_num)
{
case 2:
case 5: {
break;
}
case 0: {
if (V_ram[key_num]<2)
{
V_ram[key_num]=V_ram[key_num]+1; //時十位加1
}
else
V_ram[key_num]=0x00;
break;
}
case 1: //時個位加1
case 4: //分個位加1
case 7: { //秒個位加1
if (V_ram[key_num]<9)
V_ram[key_num]=V_ram[key_num]+1;
else
V_ram[key_num]=0;
//if ((V_ram[0]==2)&&(V_ram[1]>=4))
//{
// V_ram[1]=3;
//}
break;
}
case 3: //分十位加1
case 6: { //秒十位加1
if (V_ram[key_num]<5)
V_ram[key_num]=V_ram[key_num]+1;
else
V_ram[key_num]=0;
break;
}
default:
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
給大家分享一些我們老師給的一些經典的單片機程序源碼, 一共有十多個.都有詳細的注釋,然大家快速的理解每一行代碼的意思。而且有proteus仿真原理圖。大家可以直接驗證程序的對錯.
本系列所有源碼打包下載地址(含proteus仿真工程文件和源程序):
http://m.zg4o1577.cn/bbs/dpj-82474-1.html
本例程下載:
電子鐘.rar
(79.12 KB, 下載次數: 82)
2017-5-7 21:23 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
喂喂喂喂喂
時間:
2018-7-3 09:42
感謝樓主分享
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
99热国产
|
成人在线观看网站
|
国产嫩草视频
|
18在线观看免费入口
|
国产欧美日韩综合精品
|
久久久精品在线
|
国产日韩在线播放
|
中文字幕一区二区三区乱码
|
午夜爽爽影院
|
av小说在线观看
|
黄色欧美大片
|
午夜看片
|
一区在线观看视频
|
日韩在线免费视频
|
久久精品欧美一区二区三区不卡
|
久久精品一区二区国产
|
久草福利在线
|
精品少妇
|
免费视频久久久
|
一区二区三区国产精品
|
日日摸天天添天天添破
|
aaa国产精品
|
欧美精品一二三区
|
久久在线免费视频
|
91午夜精品亚洲一区二区三区
|
久久99精品久久久久久国产越南
|
黄色影院在线观看
|
国产午夜精品视频
|
中文字幕黄色片
|
天堂视频在线观看
|
亚洲久久久久久
|
日本视频一区二区三区
|
国产精品久久久久久无人区
|
91污视频在线观看
|
成人网战
|
一区二区视频在线播放
|
日韩欧美在线视频
|
日韩一区二区三区在线
|
高清乱码男女免费观看
|
a视频
|
国产精品一品二区三区的使用体验
|