版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、武漢理工大學(xué)單片機(jī)原理與應(yīng)用課程設(shè)計說明書目錄1 仿真軟件介紹11.1 Proteus軟件介紹11.2 Keil軟件介紹12 設(shè)計原理和方案12.1方案的選擇和設(shè)計12.2 設(shè)計原理22.3 系統(tǒng)硬件線路圖設(shè)計圖3 2.3.1 51單片機(jī)介紹32.3.2 LCD1602簡介42.3.3 系統(tǒng)硬件電路簡介5 3系統(tǒng)軟件設(shè)計6 3.1 主程序6 3.2 系統(tǒng)初始化子程序6 3.3 鍵盤掃描程序73.4 系統(tǒng)的資源分配表73.5 源程序84 系統(tǒng)軟件仿真135 性能分析155.1定時器中斷分析155.2系統(tǒng)性能分析155.3誤差分析156 心得體會167 參考文獻(xiàn)171 仿真軟件介紹1.1 Prot
2、eus軟件介紹Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)
3、計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。1.2 Keil軟件介紹Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開
4、發(fā)環(huán)境(uVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。2 設(shè)計原理和方案2.1方案的選擇和設(shè)計方案一:采用分立器件實現(xiàn)非穩(wěn)態(tài)的多諧振蕩器,然后根據(jù)具體需要加入積分電路等構(gòu)成矩形等波形發(fā)生器。這種信號發(fā)生器輸出頻率范圍窄而且電路參數(shù)設(shè)定較繁瑣,其頻率大小的測量往往需要通過硬件電路的切換來實現(xiàn),操作不方便。方案二:用集成芯片實現(xiàn)函數(shù)信號發(fā)生器。這種信號發(fā)生器。這種信號發(fā)生器能產(chǎn)生
5、多種波形信號,可以達(dá)到較高頻率,但電路復(fù)雜并且不易調(diào)試。方案三:采用單片機(jī)編程的方法實現(xiàn)。該方法可以通過編程,來控制方波信號輸出的頻率和幅度,并且只要改變程序的相關(guān)參數(shù),便可以改變輸出波形的頻率和占空比。由于編程的方法產(chǎn)生的是數(shù)字信號,所以信號的精度可以做到很高。并且電路簡單。方案四:利用專用直接數(shù)字合成DDS芯片實現(xiàn)函數(shù)信號發(fā)生器。這種信號發(fā)生器能產(chǎn)生任意波形并且達(dá)到很高的頻率,但成本較高。綜合成本和性能等多方面因素,本例采用第三種方法,即采用單片機(jī)編程的方法實現(xiàn)占空比可調(diào),頻率可調(diào)的方波信號發(fā)生器。2.2 設(shè)計原理在此次課程設(shè)計中,利用AT89C51單片機(jī),軟硬件結(jié)合,實現(xiàn)占空比和頻率可調(diào)
6、,案件的操作是通過數(shù)字電路跟外部中斷0來控制的??梢暂敵稣伎毡仍?%到99%可調(diào),精度為1%,頻率范圍在50HZ到500HZ可調(diào),精度為10HZ的方波。AT89C51單片機(jī)是整個波形信號發(fā)生器的核心,通過程序的編寫和執(zhí)行,可以產(chǎn)生可以調(diào)節(jié)的方波,并受到按鍵的控制,增減頻率和占空比。并且在液晶上顯示出來。定時器0工作再方式1下,決定輸出信號的頻率,定時器1工作再方式1下,決定輸出信號的占空比。按鍵1和2決定信號的輸出頻率,按鍵1用于增大信號的頻 率,按一下就增加10HZ,當(dāng)增減大500HZ時,就歸為50HZ。按鍵2用于減小輸出信號的頻率,按一次鍵,輸出信號的頻率減少10HZ,當(dāng)減少到 50HZ時
7、,頻率就歸于500.按鍵3和4決定信號的占空比,按鍵3用于增加信號的占空比,按下一次鍵,占空比就增加1,上限值為99,當(dāng)在此按鍵是,就 讓占空比歸1.按鍵4用于減小信號的占空比,按下一次鍵,占空比就減1,下限值為1,當(dāng)再次按鍵時,就讓占空比回歸到99.通過上面的步驟,可以實現(xiàn)占空比和頻率的可調(diào)。液晶則選用LCD032L,可直觀的看到頻率和占空比。信號發(fā)生器原理框圖如圖1 :單片機(jī)AT89C51LCD顯示按鍵或按鈕頻率與占空比數(shù)據(jù)頻率與占空比數(shù)據(jù)圖1信號發(fā)生器原理框圖2.3 系統(tǒng)硬件線路圖設(shè)計圖2.3.1 51單片機(jī)介紹51單片機(jī)是對目前所有兼容Intel 8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列
8、單片機(jī)的始祖是Intel的8031單片機(jī),后來隨著Flash rom技術(shù)的發(fā)展,8031單片機(jī)取得了長足的進(jìn)展,成為目前應(yīng)用最廣泛的8位單片機(jī)之一,其代表型號是ATMEL公司的AT89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。目前很多公司都有51系列的兼容機(jī)型推出,在目前乃至今后很長的一段時間內(nèi)將占有大量市場。51單片機(jī)是基礎(chǔ)入門的一個單片機(jī),還是應(yīng)用最廣泛的一種。需要注意的是52系列的單片機(jī)一般不具備自編程能力。 當(dāng)前常用的51系列單片機(jī)主要產(chǎn)品有: *Intel的:80C31、80C51、87C51,80C32、80C52、87C52等; *ATMEL的:89C51、89C52、89C2051等
9、; *Philips、華邦、Dallas、Siemens(Infineon)等公司的許多產(chǎn)品 目前,國產(chǎn)宏晶STC單片機(jī)以其低功耗、廉價、穩(wěn)定性能,占據(jù)著國內(nèi)51單片機(jī)較大市場。主要功能有:8位CPU4kbytes 程序存儲器(ROM) (52為8K) 圖2 51單片機(jī)的引腳圖256bytes的數(shù)據(jù)存儲器(RAM) (52有384bytes的RAM) 32條I/O口線111條指令,大部分為單字節(jié)指令 21個專用寄存器 2個可編程定時/計數(shù)器5個中斷源,2個優(yōu)先級(52有6個) 一個全雙工串行通信口 外部數(shù)據(jù)存儲器尋址空間為64kB 外部程序存儲器尋址空間為64kB 邏輯操作位尋址功能雙列直插4
10、0PinDIP封裝 單一+5V電源供電 CPU:由運算和控制邏輯組成,同時還包括中斷系統(tǒng)和部分外部特殊功能寄存器; RAM:用以存放可以讀寫的數(shù)據(jù),如運算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù); ROM:用以存放程序、一些原始數(shù)據(jù)和表格; I/O口:四個8位并行I/O口,既可用作輸入,也可用作輸出; T/C:兩個定時/記數(shù)器,既可以工作在定時模式,也可以工作在記數(shù)模式; 五個中斷源的中斷控制系統(tǒng); 一個全雙工UART(通用異步接收發(fā)送器)的串行I/O口,用于實現(xiàn)單片機(jī)之間或單片機(jī)與微機(jī)之間的串行通信; 片內(nèi)振蕩器和時鐘產(chǎn)生電路,石英晶體和微調(diào)電容需要外接。最高振蕩頻率為12M。2.3.2 LCD
11、1602簡介工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。(16列2行)1602液晶也叫1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊它有若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符。每位之間有一個點距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因為如此所以他不能顯示圖形。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶
12、。 圖3 LCD1602引腳圖1602采用標(biāo)準(zhǔn)的16腳接口,其中: 第1腳:VSS為電源地 第2腳:VDD接5V電源正極 第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。 第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。 第5腳:RW為讀寫信號線,高電平(1)時進(jìn)行讀操作,低電平(0)時進(jìn)行寫操作。 第6腳:E(或EN)端為使能(enable)端。 第714腳:D0D7為8位雙向數(shù)據(jù)端。 第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極1602
13、LCD的特性:+5V電壓,對比度可調(diào),內(nèi)含復(fù)位電路提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能。有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM,內(nèi)建有192個5X7點陣的字型的字符發(fā)生器CGROM,8個可由用戶自定義的5X7的字符發(fā)生器CGRAM。2.3.3 系統(tǒng)硬件電路簡介系統(tǒng)硬件電路原理圖如下圖2所示:四個獨立按鍵分別與單片機(jī)P1.0,P1.1,P1.2,P1.3相連接,并且通過一個四輸入的與門,將與門的輸出當(dāng)做單片機(jī)外部中斷0的觸發(fā)信號。當(dāng)有按鍵按下時,就會進(jìn)入外部中斷程序。P1.4口輸出信號連接到示波器,檢測輸出波形。通過單片機(jī)的PO口連接到LCD016L的數(shù)據(jù)段,用以顯示波
14、形信號發(fā)生器的頻率和占空比。圖4系統(tǒng)硬件電路原理圖3 系統(tǒng)軟件設(shè)計軟件是該LCD顯示控制系統(tǒng)的重要組成部分,在軟件的設(shè)計中,我們采用了模塊了設(shè)計,將各部分功能編寫為子模塊的形式,這樣增加了程序的可讀性。3.1 主程序主程序用于控制整個系統(tǒng),先對系統(tǒng)初始化,然后通過一個空循環(huán)等待中斷程序,當(dāng)中斷到來時候,就進(jìn)入中斷程序,執(zhí)行中斷程序。中斷程序執(zhí)行完成之后,就返回主程序,繼續(xù)等待。3.2 系統(tǒng)初始化子程序在此程序中,給所有變量賦初值,特別是T0,T1的初始值使產(chǎn)生方波的頻率為50Hz,占空比為50%,且在LCD016L上顯示出來。3.3 鍵盤掃描程序鍵盤掃描用外部中斷0實現(xiàn),用以分析是哪個鍵盤被按
15、下,然后在實現(xiàn)所要的功能。關(guān)于鍵盤掃描程序的說明:頻率可調(diào)時,占空比保持原狀不變,反之亦然。(1)頻率調(diào)節(jié)當(dāng)按下鍵1的時候,會轉(zhuǎn)到外部中斷0子程序,判斷之后,會改變其中變量fre的值,然后分別將T0,T1按要求重新賦初始值,然后再在液晶上實時刷新。即可改變即加10Hz,當(dāng)加到最大值500Hz時,繼續(xù)按下鍵1,將會回到最小值50Hz上。同理按下鍵2,頻率值將會減10Hz,當(dāng)減到最小值50Hz,會回到最大值500Hz上。(2)占空比調(diào)節(jié)當(dāng)按下鍵3,進(jìn)入到外部中斷0子程序,判斷卻是按下后,改變zkb(即占空比),然后改變定時器的初值。實時刷新,同頻率調(diào)節(jié),占空比也需要進(jìn)行限制。要注意的是頻率和占空比
16、的初始值都為50,我們定義的占空比為百分比的分子部分。鍵盤處理子程序,當(dāng)有按鍵按下時,進(jìn)入到外部中斷,然后暫時關(guān)閉外部中斷,啟動延時程序,以消除抖動。然后檢測是哪個按鍵被按下,然后對頻率跟占空比的變量做出相應(yīng)的賦 值,并且將占空比的值送到數(shù)碼管顯示。并且對定時器0和定時器1分別賦新的初值,開啟外部中斷,定時器0和1中斷,中斷程序結(jié)束。3.4 系統(tǒng)的資源分配表系統(tǒng)的資源分配表如表1所示:表1系統(tǒng)資源分配P0P1.0P1.3P1.4P3.2液晶數(shù)據(jù)線按鍵接口方波信號輸出口外部中斷0觸發(fā)引腳3.5 源程序#include #define uchar unsigned char#define uint
17、 unsigned intfloat fosc=12000000; /系統(tǒng)時鐘頻率sbit key1=P10; /控制頻率的增加sbit key2=P11; /控制頻率的減少sbit key3=P12; /控制占空比的增加sbit key4=P13; /控制占空比的減少sbit LCDEN=P34;sbit RS=P35;sbit clk=P14;uchar num;uchar code table1=FRE(Hz):;uchar code table2=DUT(%):;uint zkb=50; /占空比初值,取值范圍為0到100uint fre=50; /頻率初值,取值范圍為50到500ui
18、nt time0_H,time0_L,time1_H,time1_L;void delay(uint z) uint i,j;for(i=z;i-;i0)for(j=110;j-;j0);void write_com(uchar com)RS=0;P0=com;delay(5);LCDEN=1;delay(5);LCDEN=0;void write_data(uchar date)RS=1;P0=date;delay(5);LCDEN=1;delay(5);LCDEN=0;void init() /方波產(chǎn)生TMOD=0x11; /定時器0和1都工作在方式1(高8位與低8位)time0_H=0x
19、B1;time0_L=0xE0;time1_H=0xD8;time1_L=0xF0;TH0=0xB1; /定時器0裝入初值,計數(shù)器計數(shù)20000次,20msTL0=0xE0;TH1=0xD8; /定時器1裝入初值,計數(shù)器計數(shù)10000次,10msTL1=0xF0;IT0=1; /外部中斷1為低電平觸發(fā)EX0=1; /開外部中斷1ET0=1; /定時器T0中斷允許ET1=1; /定時器T1中斷允許EA=1; /開啟總中斷TR0=1; /開啟定時器0TR1=1; /開啟定時器1LCDEN=0;write_com(0x38);write_com(0x0c);write_com(0x06);write
20、_com(0x01);void main()init();write_com(0x80);for(num=0;num8;num+)write_data(table1num);delay(5);write_data(0x30+5);delay(5);write_data(0x30+0);delay(5);write_com(0x80+0x40);for(num=0;num500)fre=50;if(key2=0)fre=fre-10;if(fre99)zkb=1;if(key4=0)zkb=zkb-1;if(zkb1)zkb=99;TX=(65536-fosc/(12.0*fre);TZ=(65
21、536-(fosc*zkb)/(12.0*100*fre);time0_H=(uint)TX/256; /十進(jìn)制轉(zhuǎn)化為十六進(jìn)制高八位time0_L=(uint)TX%256;time1_H=(uint)TZ/256;time1_L=(uint)TZ%256;P1=0x0f;EX0=1;TR0=1;TR1=1;fre_bai=fre/100;fre_shi=fre/10%10;fre_ge=fre%10;write_com(0x80+0x08);write_data(0x30+fre_bai);delay(5);write_data(0x30+fre_shi);delay(5);write_da
22、ta(0x30+fre_ge);delay(5);zkb_shi=zkb/10;zkb_ge=zkb%10;write_com(0x80+0x07+0x40);write_data(0x30+zkb_shi);delay(5);write_data(0x30+zkb_ge);delay(5);4 系統(tǒng)軟件仿真下載KEIL的HEX文件在單片機(jī)中。仿真如下圖。圖5初始仿真圖 調(diào)節(jié)頻率后仿真圖如圖6示:圖6調(diào)頻后仿真圖 再調(diào)占空比后仿真如圖7所示:圖7 調(diào)占空比后仿真圖5 性能分析5.1定時器中斷分析本次占空比可調(diào)的信號發(fā)生器的設(shè)計采用了定時器0和定時器1中斷,定時器0中斷用于控制信號的頻率,定時器
23、1用于控制信號的占空比。當(dāng)調(diào)節(jié)輸出信號的占空 比時,信號的頻率就不變;如果調(diào)節(jié)信號的頻率,占空比就不變。設(shè)fre表示輸出的頻率,zkb表示輸出的占空比,TX為定時器0的計數(shù)次數(shù),TZ為定時器 1的計數(shù)次數(shù)。給TX裝入初值為:TX=(65536-fosc/(12.0*fre);給TZ裝入初值為TZ=(65536-(fosc*zkb) /(12.0*100*fre);當(dāng)定時器0計數(shù)到時,開啟定時器1,定時器1開始計數(shù),并且P1.4口輸出高電平。當(dāng)經(jīng)過一個周期中高電平持續(xù)的時間后,定時器1計數(shù)時間就到了,程序進(jìn) 入到定時器1中斷執(zhí)行,然后關(guān)掉定時器1,并且輸出低電平。因為定時器0中斷是一直開著的,當(dāng)
24、經(jīng)過一個周期中低電平持續(xù)的時間后,定時器0計數(shù)又到了,進(jìn) 入定時器0中斷執(zhí)行,如此循環(huán)。當(dāng)改變fre或者zkb的時候,就可以相應(yīng)改變輸出信號的占空比跟頻率。5.2系統(tǒng)性能分析該系統(tǒng)實現(xiàn)占空比跟頻率可調(diào)的信號發(fā)生器。占空比的調(diào)節(jié)范圍是1%到99%,精度是1%,當(dāng)達(dá)到上限值時,再次增加時,占空比歸于1%,達(dá)到下限時,再次 減少,占空比自動歸于99%。頻率的調(diào)節(jié)范圍是50HZ到500HZ,精度是10HZ,當(dāng)達(dá)到上限值時,再次增加時,頻率自動歸于50HZ,當(dāng)達(dá)到下限值 時,再次減少時,頻率自動歸于500HZ。5.3誤差分析本設(shè)計中主要的參數(shù)有設(shè)定的頻率值和占空比,示波器上測得的頻率值和占空比,以及LCD顯示的頻率值和占空比,可以看到設(shè)定的占空比和頻率值總是和LCD上顯示的一樣,出現(xiàn)誤差的只有示波器上測得的,這是因為雖然設(shè)定的頻率值和占
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年華師大新版七年級生物下冊月考試卷含答案
- 2025年湘教新版九年級歷史下冊階段測試試卷含答案
- 2025年浙教版必修1歷史下冊月考試卷
- 2025年人教A新版七年級科學(xué)下冊階段測試試卷含答案
- 2025年蘇教新版九年級歷史下冊月考試卷
- 2025年仁愛科普版選擇性必修1語文上冊階段測試試卷含答案
- 二零二五版木材加工廢棄物處理合同3篇
- 二零二五年度苗圃場租賃與環(huán)保技術(shù)應(yīng)用合同3篇
- 承包協(xié)議合同(2篇)
- 二零二五版農(nóng)業(yè)用地流轉(zhuǎn)合同范本(含政府補(bǔ)貼條款)3篇
- 【語文】第23課《“蛟龍”探?!氛n件 2024-2025學(xué)年統(tǒng)編版語文七年級下冊
- 加強(qiáng)教師隊伍建設(shè)教師領(lǐng)域?qū)W習(xí)二十屆三中全會精神專題課
- 2024-2025學(xué)年人教版數(shù)學(xué)七年級上冊期末復(fù)習(xí)卷(含答案)
- 2024年決戰(zhàn)行測5000題言語理解與表達(dá)(培優(yōu)b卷)
- 四年級數(shù)學(xué)上冊人教版24秋《小學(xué)學(xué)霸單元期末標(biāo)準(zhǔn)卷》考前專項沖刺訓(xùn)練
- 2025年慢性阻塞性肺疾病全球創(chuàng)議GOLD指南修訂解讀課件
- (完整版)減數(shù)分裂課件
- 銀行辦公大樓物業(yè)服務(wù)投標(biāo)方案投標(biāo)文件(技術(shù)方案)
- 第01講 直線的方程(九大題型)(練習(xí))
- 微粒貸逾期還款協(xié)議書范本
- 人教版七年級上冊數(shù)學(xué)全冊課時練習(xí)帶答案
評論
0/150
提交評論