پاسخ : آموزش جامع AVR با نرم افزار Bascom
پیکربندی پروتکل ارتباطی UART
این پروتکل یک ارتباط سریال قابل برنامه ریزی، در دو حالت نرم افزاری و سخت افزاری میآباشد که بیشتر برای ارتباط میکروکنترلرها با کامپیوتر طراحی شده است. نکته ای که حائز اهمیت است سطح ولتاژ در منطق TTLمیآباشد که بین 0 تا 5 ولت قرار دارد ولی در پروتکل RS-232 بین 15- تا 15+ قرار دارد که این تبدیل سطح ولتاژ توسط تراشهآهایی مانند MAX232 و یا MAX235 انجام میآگیرد.
پیکربندی UART سخت افزاری
در این حالت از دو پایه RXD و TXD استفاده میآشود.قبل از پیکربندی این ارتباط باید سرعت و نرخ ارسال دیتا بین سیستمآها برابر باشد تا دیتاهای صحیح بین آنآها تبادل شود.این نرخ، باود (BAUD) نام دارد که تعیین کننده سرعت بین دو سیستم است.
تعیین نرخ باود
این نرخ باید در ابتدای برنامه تعیین شود که X مقادیر استانداردی مانند 115200، 57600، ...، 1200 میآباشد.
پیکربندی UART
توسط این دستور پروتکل UART برای ارسال دیتا به صورت سخت افزاری پیکربندی شده است.در قسمت SIZE به میزان X بایت از حافظهSRAM اشغال میآشود تا داده های ارسالی از طریق این بافر به خروجی ارسال شود.
ارسال دیتا به پورت
توسط این دستور میآتوان داده مورد نظر را اعم از رشته، عدد و یا هردو را به درگاه ارسال کرد.
ارسال دیتا به صورت باینری
توسط این دستور متغیرVarبه باینری تبدیل شده، سپس به پورت سریال ارسال میآشود.
پیکربندی UART برای دریافت دیتا
توسط این دستور پروتکل UART برای دریافت دیتا به صورت سخت افزاری پیکربندی شده است.در قسمت SIZE به میزان X بایت از حافظهSRAM اشغال میآشود تا داده های دریافتی از طریق این بافر به خروجی ارسال شود.
دریافت دیتا از پورت
توسط این دستور میآتوان داده رشته یا عددی را از پورت دریافت کرد.این دستور تا زمانی که کاراکتری را دریافت نکند، برنامه را در همان خط متوقف میآکند.شکل کلی دستور به صورت زیرمیآباشد:
دریافت داده از پورت
این دستور برخلاف دستور قبل برنامه را متوقف نمیآکند و با دریافت اولین کاراکتر آن را به کد اسکی تبدیل کرده و در متغیر Varمیآریزد.اگر داده¬ای برای دریافت وجود نداشته باشد مقدار Var برابر صفر است.
شکل کلی دستور:
برای اینکه دستورات ارسال شده به کامپیوتر را نمایش دهیم باید از Terminal Emulator خود نرم افزار بسکام و یا سایر نرم افزارهای کار با پورت سریال مثل hyper Terminal استفاده کنیم. جهت آشنایی با نرم افزار hyper Terminal به نویز 11 رجوع کنید.
http://eca.ir/sharing/uploads/13475297151.rar
پیکربندی پروتکل ارتباطی UART
این پروتکل یک ارتباط سریال قابل برنامه ریزی، در دو حالت نرم افزاری و سخت افزاری میآباشد که بیشتر برای ارتباط میکروکنترلرها با کامپیوتر طراحی شده است. نکته ای که حائز اهمیت است سطح ولتاژ در منطق TTLمیآباشد که بین 0 تا 5 ولت قرار دارد ولی در پروتکل RS-232 بین 15- تا 15+ قرار دارد که این تبدیل سطح ولتاژ توسط تراشهآهایی مانند MAX232 و یا MAX235 انجام میآگیرد.
پیکربندی UART سخت افزاری
در این حالت از دو پایه RXD و TXD استفاده میآشود.قبل از پیکربندی این ارتباط باید سرعت و نرخ ارسال دیتا بین سیستمآها برابر باشد تا دیتاهای صحیح بین آنآها تبادل شود.این نرخ، باود (BAUD) نام دارد که تعیین کننده سرعت بین دو سیستم است.
تعیین نرخ باود
$BAUD=X
این نرخ باید در ابتدای برنامه تعیین شود که X مقادیر استانداردی مانند 115200، 57600، ...، 1200 میآباشد.
پیکربندی UART
Config UART
Config SERIALOUT=BUFFERED,SIZE= X
توسط این دستور پروتکل UART برای ارسال دیتا به صورت سخت افزاری پیکربندی شده است.در قسمت SIZE به میزان X بایت از حافظهSRAM اشغال میآشود تا داده های ارسالی از طریق این بافر به خروجی ارسال شود.
ارسال دیتا به پورت
Print
توسط این دستور میآتوان داده مورد نظر را اعم از رشته، عدد و یا هردو را به درگاه ارسال کرد.
Print Var || Print " …." || Print " ….." ; Var
ارسال دیتا به صورت باینری
Printbin
توسط این دستور متغیرVarبه باینری تبدیل شده، سپس به پورت سریال ارسال میآشود.
Printbin Var
پیکربندی UART برای دریافت دیتا
Config UART
Config SERIALIN=BUFFERED,SIZE= X
توسط این دستور پروتکل UART برای دریافت دیتا به صورت سخت افزاری پیکربندی شده است.در قسمت SIZE به میزان X بایت از حافظهSRAM اشغال میآشود تا داده های دریافتی از طریق این بافر به خروجی ارسال شود.
دریافت دیتا از پورت
Waitkey
توسط این دستور میآتوان داده رشته یا عددی را از پورت دریافت کرد.این دستور تا زمانی که کاراکتری را دریافت نکند، برنامه را در همان خط متوقف میآکند.شکل کلی دستور به صورت زیرمیآباشد:
Var = Waitkey()
دریافت داده از پورت
Inkey
این دستور برخلاف دستور قبل برنامه را متوقف نمیآکند و با دریافت اولین کاراکتر آن را به کد اسکی تبدیل کرده و در متغیر Varمیآریزد.اگر داده¬ای برای دریافت وجود نداشته باشد مقدار Var برابر صفر است.
شکل کلی دستور:
Var = INKEY()
برای اینکه دستورات ارسال شده به کامپیوتر را نمایش دهیم باید از Terminal Emulator خود نرم افزار بسکام و یا سایر نرم افزارهای کار با پورت سریال مثل hyper Terminal استفاده کنیم. جهت آشنایی با نرم افزار hyper Terminal به نویز 11 رجوع کنید.
-------------------------------------------------------------------------------------------------------------------------------------------------------
مثال: چاپ رشته Terminal Emulatorhttp://eca.ir/sharing/uploads/13475297151.rar








دیدگاه