单片机C语言-万年历电子钟设计报告含电路图和源程序
// 延时程序
void delay(unsigned char ms) { while(ms--) { unsigned char i;
for(i = 0; i< 250; i++) {
_nop_(); //执行一条_nop_()指令为一个机器周期 _nop_(); _nop_(); _nop_(); } }
}
//测试LCD忙碌状态 bit lcd_busy() {
bit result; rs = 0; rw = 1; ep = 1; _nop_(); _nop_(); _nop_(); _nop_();
result =(bit)(P0&0x80); //LCD的D0--D7中,D7=1为忙碌,D7=0为空闲 ep = 0; return result; }
//写入指令到LCD void lcd_wcmd(char cmd) {
while(lcd_busy()); //当lcd_busy为1时,再次检测LCD忙碌状态,lcd-busy为0时,开始写指令 rs = 0; rw = 0; ep = 0; _nop_(); _nop_();