ЛистИнг п р о гр ам м ы
II
“РЛ" - НАЧИНАЮ Щ ИМ
II
У вас должен получится такой листинг :
//--------------------------
-
--------
#include <vcl.h>
frpragma hdrstop
#include «Unitl.h»
#include «Unit2.h>>
//-----------------------------------------
ttpragma package(smart_init)
#pragma resource <<*.dfm»
TForml *Forml;
//
----------------
:
------------------
__fastcall TForml::TForml(TComponent* Owner)
: TForm(Owner)
(
}
//-----------------------------------------
void __fastcall TForml: :N4Click(TObject *Sender)
{
if (CpenDialogl->Execute ()) ;
Memol->Lines->LoadFromFile (OperiDialogl->FileiName) ;
)
//-----------------------------------------
void__fastcall TForml::N5Click(TObject *Sender)
{
©
if(OpenDialogl->Execute ())
Матої->Lines->LoadFromFile (OpenDialogl->FileiName) ;
if (SaveDialogl->Execute ())
Memol->Lines->SaveToFile(SaveDialogl->FileName) ;
>
//------- ---------------------------------
void__fastcall TForml::N8Click(TObject *Sender)
{
if (FontDialogl~>Execute ())
Memol->Font=FontDialogl->Font;
)
//------------------------------------------
/
void __fastcall TForml: :N7Click (TObject *Sender)
{
Eorml->Close() ;
>
//------------------------------------------
void__fastcall TForml::N9Click(TObject *Sender)
{
Form2->Show () ;
}
П
---------- -
-------
-----------------
L u J '1-І
і
j j
i i
Роман Абраш
г. Новочеркасск
E-mail: arv@radioliga.com
Продолжение. Начало в №1 -9/2007
Глава 19. Использование таймера
для работы с внешними сигналами
Как всегда, вначале разберем домашнее задание.
1. Корректировка константы Const должна быть сле-
дующей: Const equ 15535+8. Раз вход в прерывание ока-
зывается позже расчетного момента на 8 тактов, то кон-
станту надо
увеличит ь,
чтобы период переполнения тай-
мера
у м ен ь ш и л ся.
.
2. Минимальный период переполнения таймера по-
1 машинный цикл, однако прерывания так часто возни-
кать не смогут - вспомните, что после возврата из обра-
ботчика должна выполниться одна команда, прежде чем
начнется обработка очередного запроса. Таким образом,
запросы будут обрабатываться нерегулярно - колебания
длительности будут от 1 до 4 машинных тактов. В случае
обработчика нашего примера минимальное значение дли-
тельности генерируемого интервала времени составит 12
машинных тактов, при этом основная программа будет
выполняться крайне медленно.
3. Приведу свой вариант решения с подробными ком-
лучится, если в его счетчик заносить значение OFFFFh
-
ментариями.
Const
equ
15535+9
; начальное значение — прерывание каждые 0,05 с
InitTH
equ
high(Const)
; начальное значение ТН0
InitTL
equ
low(Const)
; начальное значение TL0
LED
equ
P1.0
; порт светодиода
Sq
equ
20
; скважность свечения светодиода
OneSec
equ
100/5
; число прерываний в 1 секунде
OnCnt
equ
OneSec*Sq/100
; длительность свечения
OffCnt
equ
OneSec-OnCnt
; длительность паузы
; опишем переменные в сегменте данных
dseg
at
10h
как всегда, резерв
Counter:
Радиолюбитель - 1 0 /20 0 7 U
41
предыдущая страница 41 Радиолюбитель 2007-10 читать онлайн следующая страница 43 Радиолюбитель 2007-10 читать онлайн Домой Выключить/включить текст