資源簡介
功能全部實現(xiàn);誤差很小;
利用51單片機IO口作輸出,通過定時器的周期性中斷輸出一個占空比可調(diào)、頻率可調(diào)的簡易方波信號發(fā)生器,具體要求如下:
1、完成頻率范圍為0.1Hz~5KHz的方波發(fā)生器,要求如下:
(1)占空比5%~95%連續(xù)可調(diào);
(2)可鍵盤輸入信號發(fā)生的頻率。
2、可完成脈寬范圍為100μs~1s的脈沖信號發(fā)生器,要求如下:
(1)可鍵盤輸入發(fā)生脈沖寬度;
(2)每按一次觸發(fā)鍵,可發(fā)出一個單脈沖。
3、根據(jù)已經(jīng)描述的C語言控制程序,運用Proteus畫出硬件連接圖,并將運用C語言描述的程序下載到Proteus虛擬單片機中,在Proteus中實現(xiàn)“簡易方波信號發(fā)生器”的各項功能。

代碼片段和文件信息
#include?“wy_key.h“
/*******************************************************************************
*?Function?Name??:?Delay_us
*?Description????:?延時函數(shù)
*?Input??????????:?延時時間長度
*?Output?????????:?None
*?Return?????????:?None
*?Attention??????:?None
*******************************************************************************/
void?Delay_us(uchar?z)
{
uint?xy;
for(x=z;x>0;x--)
for(y=200;y>0;y--);????????????????
}
/*******************************************************************************
*?Function?Name??:?Keyboard_Read
*?Description????:?矩陣鍵盤鍵值讀取函數(shù)
*?Input??????????:?None
*?Output?????????:?None
*?Return?????????:?value:鍵值(0~15)?16:按鍵未摁下
*?Attention??????:?None
*******************************************************************************/
uchar?Keyboard_Read(void)
{
uchar?a=0;
uchar?value?=?16;
GPIO_KEY=0x0f;
if(GPIO_KEY!=0x0f)
{
Delay_us(20);
if(GPIO_KEY!=0x0f)
{
GPIO_KEY=0x0f;
switch(GPIO_KEY)
{
case(0x07): value=0;break;
case(0x0b): value=1;break;
case(0x0d): value=2;break;
case(0x0e): value=3;break;
}
GPIO_KEY=0Xf0;
switch(GPIO_KEY)
{
case(0x70): value=value; break;
case(0xb0): value=value+4; break;
case(0xd0): value=value+8; break;
case(0xe0): value=value+12; break;
}
while((a<50)&&(GPIO_KEY!=0xf0)) ?
{
Delay_us(20);
a++;
}
}
}
return?value;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-14?08:05??Proteus仿真\
?????文件???????25195??2018-12-14?08:01??Proteus仿真\Backup?Of?課程設(shè)計.pdsbak
?????文件???????25194??2018-12-12?10:43??Proteus仿真\Last?Loaded?課程設(shè)計.pdsbak
?????文件???????25194??2018-12-14?08:05??Proteus仿真\課程設(shè)計.pdsprj
?????文件????????2420??2018-12-14?08:05??Proteus仿真\課程設(shè)計.pdsprj.WY.WY.workspace
?????目錄???????????0??2019-01-09?21:13??工程源碼\
?????目錄???????????0??2019-01-09?21:11??工程源碼\Project\
?????目錄???????????0??2019-01-09?21:11??工程源碼\Project\Listings\
?????文件?????????923??2018-11-29?09:45??工程源碼\Project\Listings\impulse.lst
?????文件????????3968??2018-12-01?09:24??工程源碼\Project\Listings\key.lst
?????文件???????12683??2018-12-01?09:24??工程源碼\Project\Listings\main.lst
?????文件????????4903??2018-12-01?09:24??工程源碼\Project\Listings\nixie_tube.lst
?????文件?????????947??2018-11-29?09:45??工程源碼\Project\Listings\square_wave.lst
?????文件???????28975??2018-12-27?13:05??工程源碼\Project\Listings\Template.m51
?????文件????????3938??2018-12-27?13:05??工程源碼\Project\Listings\wy_key.lst
?????文件????????6653??2018-12-27?13:05??工程源碼\Project\Listings\wy_main.lst
?????文件????????5432??2018-12-27?13:05??工程源碼\Project\Listings\wy_nixie_tube.lst
?????文件???????18387??2018-12-27?13:05??工程源碼\Project\Listings\wy_topfile.lst
?????目錄???????????0??2019-01-09?21:11??工程源碼\Project\ob
?????文件?????????778??2018-11-29?09:45??工程源碼\Project\ob
?????文件????????2921??2018-12-01?09:24??工程源碼\Project\ob
?????文件???????10371??2018-12-01?09:24??工程源碼\Project\ob
?????文件????????5497??2018-12-01?09:24??工程源碼\Project\ob
?????文件?????????834??2018-11-29?09:45??工程源碼\Project\ob
?????文件???????29820??2018-12-27?13:05??工程源碼\Project\ob
?????文件????????1171??2018-12-27?13:05??工程源碼\Project\ob
?????文件????????9577??2018-12-27?13:05??工程源碼\Project\ob
?????文件?????????186??2018-12-27?13:05??工程源碼\Project\ob
?????文件????????2972??2018-12-27?13:05??工程源碼\Project\ob
?????文件????????9064??2018-12-27?13:05??工程源碼\Project\ob
?????文件????????5599??2018-12-27?13:05??工程源碼\Project\ob
............此處省略72個文件信息
- 上一篇:MFC校園導航
- 下一篇:VC MFC CAN 通信程序支持周立功
評論
共有 條評論