基于单片机的自动停车收费系统设计 联系客服

发布时间 : 星期日 文章基于单片机的自动停车收费系统设计更新完毕开始阅读e1ff912248d7c1c708a145da

本 科 毕 业 设 计 第 32页 共 49 页

13 曹沽,李浩茹,陈继开.基于支持向量机的车型分类的设计[J].科学技术与工程,2007,7(22):5962~5965.

14 胡圣明.软件设计师教程[M].北京:清华大学出版社,2008.

15 张毅刚等.新编MCS-51单片机应用设计[M]. 哈尔滨:哈尔滨工业大学 出版社,2003年第七版

16 V. Yu. Teplov,A. V. Anisimov. Thermostatting System Using a Single-Chip Microcomputer and Thermoelectric Modules Based on the Peltier Effect[J] ,2002 17 Thomas·P,semiautomaticDesign of illuminating Systems,Applied Opitc,2002,11(5):325~327

本 科 毕 业 设 计 第 33页 共 49 页

附录A 部分设计程序清单

#include #include #include #define uint unsigned int #define uchar unsigned char

#define printer_init() SEND_2BYTE(0x1B,0x40) //初始化打印机 #define change_row() SEND_BYTE(0x0A) //换行: #define change_page() SEND_BYTE(0xOC) //换页: #define enter() SEND_BYTE(0x0D) //回车:0x0D #define execute_NULL() SEND_BYTE(00) //(4) 空:00 #define DATA_OUT P2 //P0为数据端口

#define NOP(); {_nop_();_nop_();_nop_();_nop_();}; typedef bit BOOL ;//用BOOL代替bit int a,b,c,d,f,k,n,z,shou_fei; char shi,fen,miao,shuchushi1; char shuchushi,shuchufen,shuchumiao; char chewei1shi,chewei1fen,chewei1miao; char chewei2shi,chewei2fen,chewei2miao; char chewei3shi,chewei3fen,chewei3miao; char chewei4shi,chewei4fen,chewei4miao; sbit P1_0=P1^0; //进车门红灯 sbit P1_1=P1^1; //进车门绿灯 sbit P1_2=P1^2; //出车门指示灯 sbit P1_3=P1^3; //进车检测位 sbit P1_4=P1^4; //出车检测位

sbit LCD_RS=P1^5; //寄存器选择输入 sbit LCD_RW=P1^6; //液晶读/写控制 sbit LCD_EN=P1^7; //液晶使能控制

本 科 毕 业 设 计 第 34页 共 49 页

sbit shijiantz=P2^0; sbit jia1=P2^1; sbit jian1=P2^2; sbit djzz=P2^3; sbit djfz=P2^4;

sbit STB=P3^0; //输出,数据选通触发脉冲上升沿时读入数据 sbit BUSY=P3^1; //输入,\高\表示打印机正\忙\,不能接收数据 sbit P3_4=P3^4; //车位1模拟 sbit P3_5=P3^5; //车位2模拟 sbit P3_6=P3^6; //车位3模拟 sbit P3_7=P3^7; //车位4模拟

//uchar DIS1[] = {\欢迎使用 %uchar DIS2[] = {\剩余车位 %uchar DIS3[] = {\停车时间 %uchar DIS4[] = {\总共费用 \//uchar DIS5[] = {\谢谢使用 %uchar DIS6[] = {\

/*******************延时函数********************/ delay(uchar ms) {

uchar i; while(ms--) {

for(i = 0; i< 250; i++) {

_nop_();

_nop_(); //空执行消耗CPU时间达到等待的效果 _nop_(); _nop_();

本 科 毕 业 设 计 第 35页 共 49 页

}

}

}

/*******************LCD********************/ bit lcd_busy()

{ bit result; LCD_RS = 0; LCD_RW = 1; LCD_EN = 1; NOP();

result = (bit)(P0&0x80); LCD_EN = 0; return(result); }

void lcd_wcmd(uchar cmd) { while(lcd_busy()); LCD_RS = 0; LCD_RW = 0; LCD_EN = 0; _nop_(); _nop_(); P0 = cmd; NOP(); LCD_EN = 1; NOP(); LCD_EN = 0; }