久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機LCD12864仿真俄羅斯方塊游戲源碼
[打印本頁]
作者:
wap1118
時間:
2018-4-5 15:28
標題:
51單片機LCD12864仿真俄羅斯方塊游戲源碼
proteus12864的基礎仿真實驗代碼和工程
單片機俄羅斯方塊仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png
(26.72 KB, 下載次數: 48)
下載附件
2018-4-5 17:31 上傳
0.png
(47.74 KB, 下載次數: 37)
下載附件
2018-4-5 17:30 上傳
單片機源程序如下:
//*************************************************************************************************
//*************************************************************************************************
//**<程序名>:俄羅斯方塊游戲 **
//**<版本說明>:此版是第一版,在LCD1608第4版基礎上改進而來,目前只可以繪制游戲區域的邊框。 **
//**<作者>:LastRitter **
//*************************************************************************************************
//*************************************************************************************************
//*************************************************************************************************
//* *
//* ******************************頭文件及宏定義************************** *
//* *
//*************************************************************************************************
#include "includes.h"
#define TIME1H 0x3C
#define TIME1L 0xB0 //定時器1溢出時間:50ms
#define SCANPORT P1
//*************************************************************************************************
//* *
//* ******************************全局變量************************************ *
//* *
//*************************************************************************************************
//unsigned char code uca_TEST[]={0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xF0,0xF0,0xF0,0xF0};
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<防抖動標志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
bit b_KeyShock=0; //鍵盤防抖動標志位。
//當按鍵中斷產生時,首先判斷此位。
//0--執行鍵盤掃描及鍵碼處理程序;1--不執行。
bit b_KillShock=0; //防抖標志清除位:0--不清除;1--清除。
unsigned char uc_KillCount=0; //抖動標志清除計數,使用定時器1。
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<鍵盤掃描開啟標志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
bit b_KeyScan=0; //0--不掃描;
//1--掃描。
//*************************************************************************************************
//* *
//* ********************************主函數****************************** *
//* *
//*************************************************************************************************
/*********************** main ************************/
void main(void)
{
vLCDInitialize();
vShowOneChin(0,0,uca_QING);
vShowOneChin(2,0,uca_SHU);
vShowOneChin(4,0,uca_RU);
vShowOneChin(6,0,uca_MAOHAO);
vShowGraph(2,60,32,4,uca_Pig);
vShowFrame();
SCANPORT=0x0F;
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<外部中斷0,用于開啟鍵盤掃描及鍵碼處理標志>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
IT0=1; // 中斷方式:下降沿。
EX0=1; // 開啟外部中斷。
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<定時器1,用于防抖動標志清除 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
TH1=TIME1H;
TL1=TIME1L;
TR1=1; //開啟定時器1
ET1=1; //開定時器1中斷
EA=1;
while(1)
{
if(b_KeyScan==1) //如果有按鍵按下,則進行按鍵掃描和鍵碼處理。
{
b_KeyScan=0;
vKeyProcess(ucKeyScan());
}
}
}
//*************************************************************************************************
//* *
//* ******************************外部中斷0,用于開啟鍵盤掃描及鍵碼處理****************** *
//* *
//*************************************************************************************************
void vINT0(void) interrupt 0
{
if(b_KeyShock==0)
{
b_KeyScan=1; //開啟鍵盤掃描標志。
b_KeyShock=1; //設置防抖動標志。
}
else b_KeyShock=0; //如果有抖動則不執行鍵掃描,恢復防抖動標志。
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<設置防抖動清除標志位 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
if(b_KeyShock==1)
b_KillShock=1; //如果防抖動標志位開啟則開啟防抖動標志清除位,
//300ms后清除防抖動標志。
}
//*************************************************************************************************
//* *
//* ****************定時器1中斷,用于計時功能和防抖動標志清除*************************** *
//* *
//*************************************************************************************************
void vTimer1(void) interrupt 3
{
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
51單片機12864大液晶屏proteus仿真.rar
(85.57 KB, 下載次數: 62)
2018-4-5 15:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
wap1118
時間:
2018-4-5 15:28
一樓占
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
黄网免费看
|
日本香蕉视频
|
欧美另类视频
|
四虎久久
|
草少妇
|
国产999在线观看
|
小日子的在线观看免费第8集
|
蜜桃精品一区二区三区
|
黄色小视频在线观看
|
av一区二区三区在线观看
|
精品免费观看
|
香蕉视频网站
|
www.一区二区三区
|
国产91在线播放
|
日韩免费一区二区
|
亚洲青青草
|
欧美在线亚洲
|
精产国产伦理一二三区
|
在线免费观看黄色片
|
欧美特黄
|
一级片欧美
|
亚洲三区四区
|
午夜网站在线观看
|
亚洲一区二区三区免费
|
天天干天天操天天射
|
18视频在线观看男男
|
69精品人人人人
|
久久久中文字幕
|
免费视频久久
|
中文一区二区
|
日本黄色三级视频
|
一区二区视频在线
|
97国产在线
|
中文字幕自拍偷拍
|
福利视频网址
|
日日骚av
|
eeuss一区二区三区
|
中文一区二区
|
国产免费视频
|
福利三区
|
免费一区二区三区
|