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