Автор работы: Пользователь скрыл имя, 24 Ноября 2013 в 15:05, курсовая работа
Степень интеграции элементов в микросхемах на сегодняшний день очень высока. В результате этого развития появились многофункциональные микросхемы, называемые микроконтроллерами. Они могут объединять себе микропроцессор, АЛУ, порты ввода/вывода, ПЗУ, ОЗУ и т. д. С помощью таких микросхем можно создавать сложные системы управления технологическими процессами. В качестве объектов управления могут быть практически любые устройства, в том числе и трехпозиционные термостаты. Цель данной курсовой работы ознакомиться с устройством микроконтроллера ATmega 128 и получить навыки разработки управляющих устройств. А так же укрепить знания в области программной части микроконтроллера и его программирования.
1. Введение………………………………………………………………………3
2. Содержание задания (исходные данные)…………………………………...4
3. Описание элементов системы……………………………………………….5
3.1 Описание объекта управления……………………………………………..5
3.2. Описание микроконтроллера ATmega128………………………………..5
4. Описание системы индикации……………………………………………...15
4.1 Светодиоды ………………………………………………………………...15
4.2 Описание кнопок…………………………………………………………...15
5. Алгоритм управления………………………………………………………..16
6. Заключение…………………………………………………………………...17
7. Используемая литература……………………………………………………18
Приложение Г (Листинг ЭС)
(deffunction question (?q $?v)
(printout t "Вопрос: "?q)
(bind ?a (read))
(if (lexemep ?a) then (bind ?a (lowcase ?a)))
(while (not (member ?a ?v)) do
(printout t "Вопрос: "?q)
(bind ?a (read))
(if (lexemep ?a) then (bind ?answer (lowcase ?a))))
?a)
(deffunction yesno (?q)
(bind ?response (question ?q yes no))
(if (eq ?response no) then TRUE else FALSE))
(deffunction yesno1 (?q)
(bind ?response (question ?q yes no))
(if (eq ?response yes) then TRUE else FALSE))
(defrule r1
(not (audio_yes))
(not (diagnostic ?))
=>
(if (yesno1 "У Вас есть фен?? ") then (assert (audio_yes))
else (assert (diagnostic "Для вас этот тест не подходит!!"))))
(defrule r2
(not (diagnostic ?))
=>
(if (yesno "Нет повышенной скорости обдува? ") then
{}
else (assert (diagnostic "Неисправен диодный мост VD2-VD5?!! Заменить диодный мост!"))))
(defrule r3
(not (diagnostic ?))
=>
(if (yesno " Нет повышенной скорости обдува? ") then
{(assert (diagnostic " Неисправен конденсатор С1?!! Заменить (отключить) конденсатор!"))}
else {}))
(defrule r4
(not (diagnostic ?))
=>
(if (yesno " Нет пониженной скорости обдува? ") then
{(assert (diagnostic " Неисправен диод VD1?!! Заменить диод!"))}
else {}))
(defrule r5
(not (diagnostic ?))
=>
(if (yesno " Нет нагрева одного из ТЭНов? ") then
{}
else (assert (diagnostic " Порвалась нифромовая нить?!! Найти место обрыва и скрутить два конца проволоки!"))))
(defrule r6
(not (diagnostic ?))
=>
(if (yesno " Не включается фен? ") then
{}
else (assert (diagnostic " Нет контакта на переключателях?!! Разобрать переключатели, подчистить спиртом контакты и растянуть прижимающие пружины!"))))
(defrule r7
(not (diagnostic ?))
=>
(if (yesno " Не работает двигатель? ") then
{(assert (diagnostic " Неисправен ТЭН-3?!! Найти место обрыва и скрутить оба конца вместе!"))}
else {}))
(defrule r8
(not (diagnostic ?))
=>
(if (yesno " Не работает двигатель? ") then
{(assert (diagnostic " Неисправен диодный мост VD2-VD5?!! Заменить диодный мост!"))}
else {}))
(defrule r9
(not (diagnostic ?))
=>
(if (yesno " Не работает двигатель? ") then
{}
else (assert (diagnostic " Неисправен двигатель?!! Заменить двигатель!"))))
(defrule r10
(not (diagnostic ?))
=>
(assert (diagnostic1 "Ваш фен работоспособен!!!")))
(defrule system-banner
(declare (salience 1))
(initial-fact)
=>
(printout t crlf crlf)
(printout t "=============================
(printout t crlf)
(printout t "+
(printout t crlf)
(printout t "+ ЭС: Работоспособен ли Ваш фен? +")
(printout t crlf)
(printout t "+
(printout t crlf)
(printout t "=============================
(printout t crlf)
(printout t "Подсказка: на все вопросы нужно отвечать yes или no")
(printout t crlf)
(printout t " регистр ввода ответов значения не имеет.")
(printout t crlf)
(printout t "Внимание: за один запуск система может предоставить")
(printout t crlf)
(printout t "
пользователю только одну реком
(printout t crlf)
(printout t " признаку неработоспособности. В случае, если")
(printout t crlf)
(printout t " у фена несколько признаков, то")
(printout t crlf)
(printout t "
систему нужно будет последоват
(printout t crlf)
(printout t " несколько раз.")
(printout t crlf))
(defrule print-diagnostic
(declare (salience 1))
(diagnostic ?item)
=>
(printout t crlf crlf)
(printout t "_____________________________
(printout t crlf)
(printout t "Возможная поломка: " ?item)
(printout t crlf crlf))
(defrule print-diagnostic2
(declare (salience 1))
(diagnostic1 ?item1)
=>
(printout t crlf crlf)
(printout t "_____________________________
(printout t crlf)
(printout t "Поломка отсутствует: " ?item1)
(printout t crlf)
)
Это нужно вставить в конец курсовика по Шиллеру, вместо того что там есть. Я тебе вышлю клипс открой его, все это скопируй и вставь в клипс там по английски, но есть значок как в ворде вставить. И сфотографируй скрин шотом, те места которые видны в курсовике образце. Я здесь вставляю, а он русский текст видит какими то каракулями дома я делала виделся как надо может у тебя все пойдет. Хотела Лехе переправить, а его в сети нет.
Информация о работе Разработка микропроцессорного устройства управления