非總線型的51的1602液晶顯示器的顯示程序:
#include<reg52.h><intrins.h> uchar unsigned char uint unsigned int===P1^=P1^=P1^ delay((x=z;x>;x--(y=;y>;y-- ===== ===== =(num=;num<;num+++); (num=;num<;num++ +++ ==(
板子原理圖是當時自己畫的,目測找不到了。T T.但是看程序還是可以看出點什麼吧~
這是以前的程序了,當時是用來紅外測距,測的數據經AD轉換顯示出來,我把AD部分都刪去了。
很明顯,非總線型的1602程序就是完全按照1602數據手冊上的高低電平來控制的,寫了很多代碼。
總線型的1602顯示程序吧:
#include <AT89X51.H><absacc.h> LCD_COM XBYTE[0XD000] LCD_Data XBYTE[0xD001](i=;i<=;i++(j=;j<=;j++===============(
眨眼一看,程序確實少了很多,如果要寫數據,在while(1);前面加數據便可。
LCD_Data=;
先上板子的原理圖:
這兩句話了。
剩下直接看main()函數裡面的了,裡面也是按照1602的資料寫的,但是是直接給出的,不是看高低電平判斷延時時間寫的,省事不少呀。
雖然只是簡單闡述了一下,但是按照總線型來設計電路圖,來寫程序,真心好。當然除此之外還有CAN總線,IIC,SPI,以及dala公司的一根線搞定,哈哈。再說一下總線吧,三總線簡稱ADC,這總是讓我想起ADC的芯片,A是地址總線,D是數據總線,C是控制總線,是控制片外ROM、RAM和I/O的。這學期學單片機這門課程,之前沒有上過微機原理那些,老師幾個課時直接講完,實在是精彩。當時也說過了解了總線型的話後面開發ARM芯片都很容易了,唉,我要走的路還很長呀。
轉載請注明出處:http://www.cnblogs.com/yydcdut/p/3480811.html