資源簡介
a) 完成CPLD和51之間的串口通信,采用八位數據位一位停止位的方式
i. 51顯示發送的數據,發送后由CPLD接收,并通過八位LED顯示
ii. CPLD發送數據給51單片機,并在51液晶屏上顯示出來
文檔中有完整的代碼,實際調試可用
代碼片段和文件信息
#include“key.h“
/*******************************************************************************
*?函?數?名?????????:?KeyDown
*?函數功能 ???:?檢測有按鍵按下并讀取鍵值
*?輸????入?????????:?無
*?輸????出?????????:?無
*******************************************************************************/
uchar?KeyDown(void)
{
?unsigned?char?KeyValue;
?unsigned?char?KeyState;
char?a;
GPIO_KEY=0x0f;
if(GPIO_KEY!=0x0f)
{
Delay10ms();
if(GPIO_KEY!=0x0f)
{
KeyState=1;
//測試列
GPIO_KEY=0X0F;
//? Delay10ms();
switch(GPIO_KEY)
{
case(0X07): KeyValue=0;break;
case(0X0b): KeyValue=1;break;
case(0X0d):?KeyValue=2;break;
case(0X0e): KeyValue=3;break;
// default: KeyValue=17; //檢測出錯回復17意思是把數碼管全滅掉。
}
//測試行
GPIO_KEY=0XF0;
Delay10ms();
switch(GPIO_KEY)
{
case(0X70): KeyValue=KeyValue;break;
case(0Xb0): KeyValue=KeyValue+4;break;
case(0Xd0):?KeyValue=KeyValue+8;break;
case(0Xe0): KeyValue=KeyValue+12;break;
// default: KeyValue=17;
}
while((a<50)&&(GPIO_KEY!=0xf0)) ?//檢測按鍵松手檢測
{
Delay10ms();
a++;
}
a=0;
}
}
return?KeyValue;
}
/*******************************************************************************
*?函?數?名?????????:?Delay10ms
*?函數功能 ???:?延時函數,延時10ms
*?輸????入?????????:?無
*?輸????出?????????:?無
*******************************************************************************/
void?Delay10ms(void)???//誤差?0us
{
????unsigned?char?abc;
????for(c=1;c>0;c--)
????????for(b=38;b>0;b--)
????????????for(a=130;a>0;a--);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????21517??2016-09-21?15:14??CPLD和51串口通信\51部分\51+1602串口仿真.pdsprj
?????文件??????26073??2016-12-29?13:50??CPLD和51串口通信\51部分\51串口流程圖.png
?????文件???????1638??2016-12-01?16:34??CPLD和51串口通信\51部分\51程序串口收發\key.c
?????文件????????368??2016-12-11?01:56??CPLD和51串口通信\51部分\51程序串口收發\key.h
?????文件???????4246??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\key.LST
?????文件???????3187??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\key.OBJ
?????文件???????9082??2016-12-11?01:30??CPLD和51串口通信\51部分\51程序串口收發\lcd.c
?????文件???????1518??2016-12-11?01:31??CPLD和51串口通信\51部分\51程序串口收發\lcd.h
?????文件??????15078??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\lcd.LST
?????文件??????11376??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\lcd.OBJ
?????文件???????4204??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\main.c
?????文件???????8776??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\main.LST
?????文件??????11770??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\main.OBJ
?????文件??????26745??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\pro
?????文件???????4749??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\pro.hex
?????文件?????????79??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\pro.lnp
?????文件??????26301??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\pro.M51
?????文件????????185??2016-12-20?19:01??CPLD和51串口通信\51部分\51程序串口收發\pro.plg
?????文件??????71030??2016-11-24?15:13??CPLD和51串口通信\51部分\51程序串口收發\pro.uvgui.Administrator
?????文件??????67339??2016-09-06?08:45??CPLD和51串口通信\51部分\51程序串口收發\pro.uvgui_Administrator.bak
????.......?????60349??2016-12-20?19:01??CPLD和51串口通信\51部分\51程序串口收發\pro.uvopt
?????文件??????13881??2016-11-24?19:26??CPLD和51串口通信\51部分\51程序串口收發\pro.uvproj
????.......?????60349??2016-12-15?20:30??CPLD和51串口通信\51部分\51程序串口收發\pro_uvopt.bak
?????文件??????13555??2016-11-24?15:34??CPLD和51串口通信\51部分\51程序串口收發\pro_uvproj.bak
?????文件???????1456??2016-12-03?13:26??CPLD和51串口通信\51部分\51程序串口收發\serial.c
?????文件????????686??2016-12-03?23:46??CPLD和51串口通信\51部分\51程序串口收發\serial.h
?????文件???????3056??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\serial.LST
?????文件???????3504??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\serial.OBJ
?????文件???????6376??2016-09-06?08:45??CPLD和51串口通信\51部分\51程序串口收發\STARTUP.A51
?????文件??????14062??2016-12-15?14:12??CPLD和51串口通信\51部分\51程序串口收發\STARTUP.LST
............此處省略256個文件信息
- 上一篇:AUTOSAR MCAL的原理與實踐_nodrm
- 下一篇:連接熱敏打印機
評論
共有 條評論