久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
ATMEGA16A 按鍵數碼管
[打印本頁]
作者:
夏宇閃擎
時間:
2019-7-24 12:26
標題:
ATMEGA16A 按鍵數碼管
* 【編譯環境】: ICCAVR
* 【函數功能】: 按鍵K5 K6 實現數碼管加減1 初始值 8888
* 【晶 振】: 8M
* 【芯 片】: ATMEGA16A
* */
/******************************************************************************/
#define uchar unsigned char
#define uint unsigned int
#include <iom16v.h>
#define Set_Bit(val, bitn) (val |=(1<<(bitn)))
#define Clr_Bit(val, bitn) (val&=~(1<<(bitn)))
#define Get_Bit(val, bitn) (val &(1<<(bitn)) )
uchar disbuf[4]={0,0,0,0};
uchar discode[10]={ 0xC0, 0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90 }; //段碼表
uchar disbit[4] ={ 0xFE, 0xFD,0xFB,0xF7}; //選通值
uchar Key_Up;
uchar Key_Down;
static uint k=8888;
/******************************************************************************/
//延時函數
/******************************************************************************/
void delay(void)
{uint i;
for(i=0;i<500;i++);
}
/******************************************************************************/
/******************************************************************************/
//顯示函數
/******************************************************************************/
void Display(void)
{ uchar i;
for(i=0;i<4;i++)
{
PORTB=discode[disbuf[i]];
PORTA=disbit[i];
delay();
PORTA=0xff;
}
}
/******************************************************************************/
//顯示數據處理
/******************************************************************************/
void Process(uint i,uchar *disbuf)
{ disbuf[0]=i/1000;
i=i%1000;
disbuf[1]=i/100;
i=i%100;
disbuf[2]=i/10;
i=i%10;
disbuf[3]=i;
}
/******************************************************************************/
//按鍵處理子程序
/******************************************************************************/
void Get_Key(void)
{
if(Get_Bit(PINA,4)==0) //PA4 按鍵處理函數
{
Display();
Display();
Display();
Display();
while(!(Get_Bit(PINA,4)))//等待按鍵松開
{
Display();
}
k++;
if(k>9999)k=0;
Process(k,disbuf);
}
if(Get_Bit(PINA,5)==0) //PA5 按鍵處理函數
{
Display();
Display();
Display();
while(!Get_Bit(PINA,5)) //等待按鍵松開
{
Display();
Display();
}
k--;
if(k==65535)k=9999;
Process(k,disbuf);
}
}
void main (void)
{
DDRA|=1<<0|1<<1|1<<2|1<<3|0<<4|0<<5;//設置PA0,PA1,PA2為輸出,PA4,PA5為輸入
PORTA=0x00;
DDRB=0xFF;
PORTB=0xFF;
Process(k,disbuf);
while(1)
{
Get_Key();
Display();
}
}
作者:
admin
時間:
2019-7-24 14:32
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
在线亚洲电影
|
欧美性猛交
|
亚洲精品日日夜夜
|
国产精品成人在线播放
|
99re国产精品
|
国产精品亚洲成在人线
|
亚洲一区二区视频
|
久久久久一区
|
亚洲精品一二三区
|
国产精品久久久久国产a级 欧美日本韩国一区二区
|
九九伦理电影
|
91久久精品一区二区二区
|
久久美女网
|
欧美一级二级三级视频
|
天天操天天摸天天干
|
欧美激情一区二区三区
|
91视频一88av
|
亚州精品天堂中文字幕
|
精产国产伦理一二三区
|
久久精品一区二区三区四区
|
亚洲一区二区在线
|
国产精品美女久久久久久免费
|
欧美激情视频一区二区三区在线播放
|
亚洲激情专区
|
亚洲精品国产一区
|
欧美一区二区三区视频在线
|
亚洲天天干
|
三级黄色片在线
|
五月天婷婷激情
|
久久久高清
|
99爱国产
|
99精品欧美一区二区三区综合在线
|
成人午夜精品
|
97超碰在线免费
|
成人免费视频网站在线观看
|
综合激情久久
|
国产精品国产a级
|
国产亚洲日本精品
|
中文字幕av中文字幕
|
亚洲电影免费
|
久久a久久
|