单片机c语言数码显示实验报告,单片机动态显示技术实验报告.doc
桂林電子科技大學(xué)
實(shí)驗(yàn)報(bào)告
開 課 單 位
適用年級(jí)、專業(yè) 機(jī)械
課 程 序 號(hào)
課 程 代 碼
實(shí) 驗(yàn) 名 稱 《動(dòng)態(tài)顯示技術(shù)》
動(dòng)態(tài)顯示技術(shù)實(shí)驗(yàn)報(bào)告
一、實(shí)驗(yàn)?zāi)康?/p>
1、掌握動(dòng)態(tài)顯示技術(shù)。
2、掌握數(shù)碼管與單片機(jī)的連接方法。
3、掌握段代碼表的推算及數(shù)據(jù)表的使用方法。
4、掌握C語言編程方法。二、實(shí)驗(yàn)內(nèi)容
實(shí)驗(yàn)設(shè)備:計(jì)算機(jī)一臺(tái)、單片機(jī)實(shí)驗(yàn)箱一臺(tái)、Proteus軟件、Keil軟件。
硬件原理圖:
采用共陰數(shù)碼管,數(shù)碼管的數(shù)據(jù)由單片機(jī)的P0口提供。
當(dāng)P0口輸出相應(yīng)的數(shù)據(jù),相應(yīng)的數(shù)碼管就被點(diǎn)亮。如:P0,則數(shù)碼管最低位顯示0。
74LS573這里用于提高P0口的輸出電流,驅(qū)動(dòng)數(shù)碼管顯示,并有一定的隔離干擾的作用。
本實(shí)驗(yàn)只用到8位數(shù)碼管的其中一位。
1、打開Keil新建工程:學(xué)號(hào)-4.uv2。
2、參考實(shí)驗(yàn)程序,編寫程序:首先在數(shù)碼管最高位連續(xù)顯示0~9字段,其次在數(shù)碼管次高位連續(xù)顯示0~9字段,依此類推。生成:學(xué)號(hào)-4.hex文件。
3、打開下載軟件,把學(xué)號(hào)-4.hex文件燒寫到單片機(jī),觀察實(shí)驗(yàn)現(xiàn)象。
4、修改程序,將自己的學(xué)號(hào)顯示在數(shù)碼管上。
1、思考動(dòng)態(tài)顯示的工作原理。
2、各寄存器的使用。
3、讀懂實(shí)驗(yàn)程序。
三、實(shí)驗(yàn)結(jié)果分析
1、程序流程圖
/**************************************
* 實(shí) 驗(yàn) 名 : 動(dòng)態(tài)顯示技術(shù)
* 實(shí)驗(yàn)說明 : 8位數(shù)碼管顯示0~7
**************************************
#include
//--定義使用的IO口--//
#define GPIO_DIG P0//段選
#define GPIO_PLACE P1//位選
//--定義全局變量--//
unsigned char code DIG_PLACE[8] = {
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位選控制,查表的方法控制
unsigned char code DIG_CODE[17] = {
0x06,0x66,0x06,0x7d,0x3f,0x06,0x3f,0x6d,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的顯示碼
unsigned char DisplayData[8];
//用來存放要顯示的8位數(shù)的值
//--聲明全局函數(shù)--//
void DigDisplay(); //動(dòng)態(tài)顯示函數(shù)
void main(void)
{
unsigned char i;
for(i=0; i<8; i++)
{
DisplayData[i] = DIG_CODE[i];
}
while(1)
{
DigDisplay();
}
}//子函數(shù),使用數(shù)碼管顯示數(shù)字
void DigDisplay()
{
unsigned char i;
unsigned int j;
for(i=0; i<8; i++)
{
GPIO_PLACE = DIG_PLACE[i]; //發(fā)送位選
GPIO_DIG = DisplayData[i]; //發(fā)送段碼
j = 10; //掃描間隔時(shí)間(延時(shí))
while(j--);
GPIO_DIG = 0x00;//消隱
}
}
根據(jù)以上程序用開發(fā)板來進(jìn)行實(shí)驗(yàn),程序可以實(shí)現(xiàn)要求。
本次實(shí)驗(yàn)結(jié)果次顯示在數(shù)碼管上。對(duì)于在進(jìn)行實(shí)驗(yàn)的設(shè)計(jì)時(shí),可能存在的錯(cuò)誤,主要是C語言的一些使用規(guī)則的錯(cuò)誤和對(duì)中斷控制等代碼的錯(cuò)誤。等發(fā)生錯(cuò)誤時(shí),就應(yīng)從代碼的開始部分進(jìn)行檢查和分析,對(duì)于錯(cuò)誤的地方進(jìn)行修改,直到程序無錯(cuò)誤為止。對(duì)于驗(yàn)證其功能時(shí),應(yīng)確認(rèn)開發(fā)板沒有損壞,正確連接電路等。四、與討論五、小組表現(xiàn)評(píng)價(jià)(必填)
在本次實(shí)驗(yàn)中16號(hào)負(fù)責(zé)程序編寫,17號(hào)負(fù)責(zé)電路連接,配合得非常好,聽完老師的講解,剩下的就是我們自己調(diào)試了,有不懂的問老師,老師也講得十分仔細(xì),在調(diào)程序的過程中,主要是了解c語言的命令語句的使用方法,這是第四次
總結(jié)
以上是生活随笔為你收集整理的单片机c语言数码显示实验报告,单片机动态显示技术实验报告.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果iOS/iPadOS 16.3.1正
- 下一篇: c语言意义y x 8.0,C语言符号意义